// Instead of throwing NullPointerException like
// we used to do, throw something meaningful.
throw new IOException(Messages.getMessage("noAttachments"));
}
Part attachmentPart= attachments.createAttachmentPart(dh);
AttributesImpl attrs = new AttributesImpl();
if (attributes != null && 0 < attributes.getLength())
attrs.setAttributes(attributes); //copy the existing ones.
int typeIndex=-1;
if((typeIndex = attrs.getIndex(Constants.URI_DEFAULT_SCHEMA_XSI,
"type")) != -1){
//Found a xsi:type which should not be there for attachments.
attrs.removeAttribute(typeIndex);
}
attrs.addAttribute("", Constants.ATTR_HREF, "href",
"CDATA", attachmentPart.getContentIdRef() );
context.startElement(name, attrs);
context.endElement(); //There is no data to so end the element.
}