Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XSD-如何添加两个';参考';同一元素_Xsd_Element_Ref - Fatal编程技术网

XSD-如何添加两个';参考';同一元素

XSD-如何添加两个';参考';同一元素,xsd,element,ref,Xsd,Element,Ref,我一直在试图形成这个XSD,有人可以帮助请 我有一个“国家”元素,如下所示: <xs:element name="country"> <xs:complexType> <xs:sequence> <xs:element name="id" type="xs:long" minOccurs="0" /> <xs:element name="isoCode" type="xs

我一直在试图形成这个XSD,有人可以帮助请

我有一个“国家”元素,如下所示:

<xs:element name="country">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="id" type="xs:long" minOccurs="0" />
            <xs:element name="isoCode" type="xs:string" minOccurs="0" />
            <xs:element name="currencyCode" type="xs:string" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>
</xs:element>

现在,我需要用两个元素组成XSD,“源国家”和“目的地国家”,这两个元素都应该引用“国家”。有人能帮我组成那个XSD吗

<xs:element name="crossCountries">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="id" type="xs:long" minOccurs="0" />

            <xs:element ref="country" />   <!-- Source Country -->

            <xs:element ref="country" />   <!-- Destination Country -->

        </xs:sequence>
    </xs:complexType>
</xs:element>

不能引用元素并为该引用指定不同的标记名。相反,您要做的是为该元素定义内容模型(复杂类型可以),并在不同名称的标记下重用该模型

<xs:complexType name="country">
    <xs:sequence>
        <xs:element name="id" type="xs:long" minOccurs="0" />
        <xs:element name="isoCode" type="xs:string" minOccurs="0" />
        <xs:element name="currencyCode" type="xs:string" minOccurs="0" />
    </xs:sequence>
</xs:complexType>

然后:


<xs:element name="crossCountries">
  <xs:complexType>
    <xs:sequence>
        <xs:element name="id" type="xs:long" minOccurs="0" />

        <xs:element name="sourceCountry" type="country" />   <!-- Source Country -->

        <xs:element name="destinationCountry" type="country" />   <!-- Destination Country -->

    </xs:sequence>
  </xs:complexType>
</xs:element>