The components that are accessible from model.getComponents() are those
at top-level in the schema, the global elements and named type
definitions (children of the xs:schema element). You asked only for the
complex type definitions (the named ones), not also for the global
elements. If you ask for the global elements also, you can each one's
type by a method on ElementDecl or something similar.
Jeff
Brent Halsey wrote:
My ultimate goal is to take a schema and generate a blank XML
template. From there I'd like to create a web based form that
validates data based on the rules outlined in the schema.
My schema looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.someplace.com/SOMEPLACE"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.someplace.com/SOMEPLACE"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="./Some_Aggregates.xsd"/>
<xs:include schemaLocation="./Some_Types.xsd"/>
<xs:element name="SomeRq">
<xs:complexType>
<xs:sequence>
<xs:element ref="SomeID"/>
<xs:element ref="SomeIdInfo" minOccurs="0"/>
<xs:element ref="SomeInfo"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SomeRs">
<xs:complexType>
<xs:sequence>
<xs:element ref="SomeStatus"/>
<xs:element ref="SomeID"/>
<xs:element ref="SomeIdRec" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
>From this schema, I should be able to create XML for SomeRq and/or SomeRs.
I've got the following java code:
XSModel model = schemaLoader.loadURI(argv[0]);
if (model != null) {
XSNamedMap ccomponents = model.getComponents(XSTypeDefinition.COMPLEX_TYPE);
int complexcount = ccomponents.getLength();
XSComplexTypeDefinition complexType = null;
XSParticle particle = null;
for (int i = 0; i < complexcount; i++)
{
complexType = (XSComplexTypeDefinition)ccomponents.item(i);
System.out.println("name: " + complexType.getName() +
complexType.getParticle());
}
This code prints out information on the complex types included in
<xs:include schemaLocation="./Some_Types.xsd"/>, but not in SomeRq or
SomeRs...
I am having a difficult time understanding the API for Xerces-J for
schemas and haven't found many examples outside of the QueryXS that
comes with the most recent version of Xerces.
Any help you can provide me with would be great!
Thanks,
Brent
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]