获取xml架构中已定义元素属性的数量

时间:2013-05-16 07:28:22

标签: java xml dom xsd xerces

我正在使用Apache Xerces来解析xml,出于某些原因,我需要找到元素在xsd中定义了多少个属性。 element.getAttributes只给我所有现有属性。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
XSImplementation impl = (XSImplementation) registry.getDOMImplementation("XS-Loader");
XSLoader schemaLoader = impl.createXSLoader(null);
XSModel xsModel = schemaLoader.loadURI(xsdResource.getURL().getPath());
((XSComplexTypeDecl) xsModel.getComponents(XSTypeDefinition.COMPLEX_TYPE).itemByName(xsdName, "typeName")).getAttrGrp().getAttributeUses();