基于元素类型和名称的模式

时间:2014-08-04 18:26:56

标签: xml xsd

我有一个定义参数元素的xsd。我无法更改xsd文件。

   <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>

我的程序将使用这些“参数”

获取xml数据
 <Parameter name="frame_length">
   <long>1024</long>
 </Parameter>
 <Parameter name=”ports”>
   <int>10001</int>
   <int>10002</int>
 </Parameter>

我是xml的新手,我无法想象是否可以编写一个xsd来定义不同类型的“参数”。名为frame_length的参数必须为1长。参数调用端口必须有2个整数。

0 个答案:

没有答案