Hi all,
I'm trying to get the type of an XSD element.
So far I can only get the type of the generated Java Code using:
Map<String, JFieldVar> fields = co.implClass.fields();
Set<String> fieldNames = fields.keySet();
for(String fieldName: fieldNames)
{
//String fieldName = iterator.next();
JFieldVar field = fields.get(fieldName);
System.out.println("Name: " + fieldName + "\tField: " +
field.type().name() + "\n");
if(field.type().name().equals("String"))
{
co.implClass.direct(getStringMethodTemplate(fieldName));
}
}
Which I get the type inside the if expression (field.type().name()).
But what I expect, when possible I would like to get the value of
IntegerExpr which is below defined
<xsd:simpleType name="IntegerExpr">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
Here is the sample of the element definition
<xsd:complexType name="BitField">
<xsd:complexContent>
<xsd:extension base="essence:SingleSourceNode">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="enumeration" type="essence:Enumeration"/>
<xsd:element name="Offset" type="essence:IntegerExpr"/>
<xsd:element name="Width" type="essence:IntegerExpr"/>
<xsd:element name="AccessType" type="essence:AccessType"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
So what is expected, to get the value of "essence:IntegerExpr" when
traversing through the field "Offset"
How can we get that value? Which API can be used?
Best Regards,
Heru