examining XML schema attributes 2003-07-24 - By Martin Lambert
Hi,
I am trying to examine schema attribute definintions using Xerces. I am able to retrieve information about attributes that includes an attribute name, its type name and whether it is required. However I want to retrieve more detailed information about the attribute's type . For example, given the type definition below I would like to retrieve the values that make up the enumeration i.e. 1,2,3,4,5. I can't seem to work out the correct approach to retrieving this information. I would also like to know how this would work for a type with restrictions like 'negative integer'.
I have also included my code to highlight how I have been trying to approach this problem.
<simpleType name="testType"> <restriction base="integer"> <enumeration value="1"/> <enumeration value="2"/> <enumeration value="3"/> <enumeration value="4"/> <enumeration value="5"/> </restriction> </simpleType>
<complexType name="classType"> <sequence> <element name="template" type="templateType" maxOccurs="unbounded"/> </sequence> <attribute name="matches" type="testType" use="required"/> </complexType>
Where element is an instance of 'XSElementDeclaration':
XSTypeDefinition elementTypeDef = element.getTypeDefinition(); XSObjectList attributeUses = ((XSComplexTypeDefinition)elementTypeDef) .getAttributeUses();
for(int attrUseIdx=0; attrUseIdx < attributeUses.getLength(); attrUseIdx++) { XSAttributeUse attributeUse = (XSAttributeUse)attributeUses.item (attrUseIdx); XSAttributeDeclaration attribute = attributeUse.getAttrDeclaration( ); XSSimpleTypeDefinition attributeType = attribute.getTypeDefinition( );
System.out.println(attribute.getName() + ", required? " + attributeUse.getRequired() + ", bounded? " + attributeType.getBounded() + ", finite? " + attributeType.getFinite() + ", numeric? " + attributeType.getNumeric() + ", type: " + attributeType.getName() + ", constraint value: " + attribute.getConstraintValue() + ", enumeration" attributeType); }
Hope there is a straightforward answer to this.
Cheers,
Martin.
--------------------------------------------------------------------- To unsubscribe, e-mail: xerces-j-user-unsubscribe@(protected) For additional commands, e-mail: xerces-j-user-help@(protected)
|
|