Java 如何使用XSOMParser解析.xsd文件
我需要解析下面的XSD文件。。我必须阅读所有的价值观Java 如何使用XSOMParser解析.xsd文件,java,xsd,xsom,Java,Xsd,Xsom,我需要解析下面的XSD文件。。我必须阅读所有的价值观 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:books" xmlns:bks="urn:books"> <xsd:complexType name="Book1"> <xsd:sequence> <xsd:element minOccurs="0" ma
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:books"
xmlns:bks="urn:books">
<xsd:complexType name="Book1">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" form="unqualified" name="Title" type="xs:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
请告诉我如何使用“XSOMParser”完成此操作。您尝试了哪些代码 从下面的例子开始 在《用户指南》中进一步介绍: 例如,下面的代码列出了所有全局元素声明,以及它们是否是抽象的
为什么要使用XSOM?这是一种独特的、高度专业化的工具。你不能使用普通的XML解析器吗?看看这个博客
import com.sun.xml.xsom.parser.XSOMParser;
import com.sun.xml.xsom.XSSchemaSet;
XSOMParser parser = new XSOMParser();
parser.setErrorHandler(...);
parser.setEntityResolver(...);
parser.parseSchema( new File("myschema.xsd"));
parser.parseSchema( new File("XHTML.xsd"));
XSSchemaSet sset = parser.getResult();
// iterate each XSSchema object. XSSchema is a per-namespace schema.
Iterator itr = sset.iterateSchema();
while( itr.hasNext() ) {
XSSchema s = (XSSchema)itr.next();
System.out.println("Target namespace: "+s.getTargetNamespace());
Iterator jtr = s.iterateElementDecls();
while( jtr.hasNext() ) {
XSElementDecl e = (XSElementDecl)jtr.next();
System.out.print( e.getName() );
if( e.isAbstract() )
System.out.print(" (abstract)");
System.out.println();
}
}