Java Pasing and Analyzing XSD File.
Have got an assaignment to add a new feature to analyze XML Schema file, dot XSD file.
e.g.
<attribute name="arrivalMoment" use="required">
?
<simpleType>
?
<restriction base="integer">
<minInclusive value="0"/>
</restriction>
</simpleType>
</attribute>
I needed to create a tabel showing as
----------------------------
name | datatype |
----------------------------
arrivalMoment | integer |
----------------------------
Though it seems we can do this work by the common way just taking the xsd file as a simple xml file, there is packaged api to fix this kind of work.
org.apache.xerces.xs
org.apache.xerces.impl.xs
http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#ItemPSVI-itemValue
Then the job can be finished not too much complicated. As the sample statements to got the type of a element of a attribute component.
// to get types of elements
String dataType = ((XSElementDecl) ((XSParticleDecl) list.item(j)).getTerm()).getTypeDefinition().getBaseType().getName();
//complexType element.{
dataType = ((XSElementDecl) ((XSParticleDecl) list.item(j)).getTerm()).getTypeDefinition().getName();
// to get types of attribute componets
String dataType = ((XSAttributeUseImpl) list.item(j)).fAttrDecl.getTypeDefinition().getName();
//attribute define its type using a internal simpleType tag
dataType = ((XSAttributeUseImpl) list.item(j)).fAttrDecl.getTypeDefinition().getBaseType().getName();
In summary, while you need to parse a xml schema file by java code directly, a entire solution to parsing and analyzing XSD file provided by Xerces may help you.
Java Pasing and Analyzing XSD File
Java Pasing and Analyzing XSD File.Have got an assaignment to add a new feature to analyze XML Sche
