return value;
}
public String marshalValue(MarshallingContext ctx, Object value)
{
AttributeBinding binding = ctx.getAttributeBinding();
if(value == null)
{
if(binding.getRequired())
{
ElementBinding element = (ElementBinding) ctx.getParticleBinding().getTerm();
throw new JBossXBRuntimeException("Missing value for the required attribute " + binding.getQName() + " of element " + element.getQName());
}
return null;
}
String marshalled;
TypeBinding attrType = binding.getType();
if(attrType.getItemType() != null)
{
TypeBinding itemType = attrType.getItemType();
if(Constants.NS_XML_SCHEMA.equals(itemType.getQName().getNamespaceURI()))
{
List list;
if(value instanceof List)
{
list = (List)value;
}
else if(value.getClass().isArray())
{
list = Arrays.asList((Object[])value);
}
else
{
throw new JBossXBRuntimeException("Expected value for list type is an array or " +
List.class.getName() +
" but got: " +
value
);
}
if(Constants.QNAME_QNAME.getLocalPart().equals(itemType.getQName().getLocalPart()))
{
String attrLocal = binding.getQName().getLocalPart();
for(int listInd = 0; listInd < list.size(); ++listInd)
{
QName item = (QName)list.get(listInd);
String itemNs = item.getNamespaceURI();
if(itemNs != null && itemNs.length() > 0)