schema based on element type and name



I have an xsd that defines a Parameter element. I can't change the xsd file.



<xsd:complexType name="Parameter">
<xsd:sequence>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="string" type="StringParameter"/>
<xsd:element name="boolean" type="BooleanParameter"/>
<xsd:element name="ubyte" type="UnsignedByteParameter"/>
<xsd:element name="hex_value" type="HexParameter"/>
<xsd:element name="double" type="DoubleParameter"/>
<xsd:element name="long" type="LongParameter"/>
<xsd:element name="ulong" type="UnsignedLongParameter"/>
<xsd:element name="int" type="IntParameter"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="type" type="xsd:string" use="optional"/>
<!-- multiplicty changed in GEMS 1.2 per issue 15495 -->
<xsd:attribute name="multiplicity" type="xsd:int" use="optional" />
</xsd:complexType>


My program will be getting xml data with these "Parameter"s



<Parameter name="frame_length">
<long>1024</long>
</Parameter>
<Parameter name=”ports”>
<int>10001</int>
<int>10002</int>
</Parameter>


I'm new to xml and I cannot figure if it is possible to write an xsd to define different types of "Parameters". A Parameter called frame_length must have 1 long. A Parameter call ports must have 2 ints.


No comments:

Post a Comment