in src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java [1831:1870]
private void processExtensibilityComponents(XmlSchemaObject schemaObject, Element parentElement) {
if (extReg != null) {
// process attributes
NamedNodeMap attributes = parentElement.getAttributes();
for (int i = 0; i < attributes.getLength(); i++) {
Attr attribute = (Attr)attributes.item(i);
String namespaceURI = attribute.getNamespaceURI();
String name = attribute.getLocalName();
if (namespaceURI != null && !"".equals(namespaceURI) && // ignore unqualified attributes
!namespaceURI.startsWith(Constants.XMLNS_ATTRIBUTE_NS_URI) && // ignore
// namespaces
!Constants.URI_2001_SCHEMA_XSD.equals(namespaceURI)) {
// does not belong to the schema namespace by any chance!
QName qName = new QName(namespaceURI, name);
extReg.deserializeExtension(schemaObject, qName, attribute);
}
}
// process elements
Node child = parentElement.getFirstChild();
while (child != null) {
if (child.getNodeType() == Node.ELEMENT_NODE) {
Element extElement = (Element)child;
String namespaceURI = extElement.getNamespaceURI();
String name = extElement.getLocalName();
if (namespaceURI != null && !Constants.URI_2001_SCHEMA_XSD.equals(namespaceURI)) {
// does not belong to the schema namespace
QName qName = new QName(namespaceURI, name);
extReg.deserializeExtension(schemaObject, qName, extElement);
}
}
child = child.getNextSibling();
}
}
}