[英]XSD XSOM : How to parse xs:anyAttribute using XSOM Java library?
我正在尝试解析此复杂类型,但无法使用XSOM JAVA获得<xsd:anyAttribute元素。 我已经尝试过getAttributeUses()和粒子,但无法获取它。
关于如何解析的任何想法?
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:anyAttribute namespace="##other" processContents="lax"/>
假设测试XSD:
<?xml version="1.0" encoding="utf-8" ?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="test">
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:anyAttribute namespace="##other" processContents="lax"/>
</xsd:complexType>
</xsd:schema>
您需要以下代码:
XSOMParser parser = new XSOMParser();
//parser.setErrorHandler(...);
//parser.setEntityResolver(...);
parser.parse(new File(...));
XSSchemaSet sset = parser.getResult();
XSComplexType xt = sset.getComplexType("http://tempuri.org/XMLSchema.xsd", "test");
XSWildcard anyAttr = xt.getAttributeWildcard();
关键是getAttributeWildcard API。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.