[英]How to parse .xsd file using XSOMParser
I need to parse below XSD file.. and I have to read all the values.. 我需要解析下面的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" maxOccurs="1" form="unqualified" name="Title" type="xs:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Please let me know how can I do it using "XSOMParser". 请让我知道如何使用“ XSOMParser”进行操作。
What code have you tried? 您尝试了什么代码?
Start off with the examples from the XSOM user guide: 从XSOM用户指南中的示例开始:
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();
and further down in the user guide: 并在用户指南中进一步介绍:
For example, the following code lists all the global element declarations and whether they are abstract or not.
例如,以下代码列出了所有全局元素声明以及它们是否是抽象的。
// 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();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.