2009-09-19 775 views

回答

61

基本上它引用了別處delared另一元件時,其可以是或可以不是相同的模式文檔。例如,它可能來自不同命名空間中的外部引用模式。假設你使用項目元素很多在幾個不同的模式,你可以聲明它(以及任何其他常見的類型和屬性)在共同架構,然後再用那些在您的所有其他模式。在數據

<xs:element ref="c:item" /><!-- reference here --> 
<xs:complexType name="something"> 
    <xs:sequence> 
     <xs:element ref="c:item" /><!-- and here --> 
    </xs:sequence> 
    <xs:element name="other" type="xs:Name" /> 
</xs:complexType> 

的定義:如果您使用的命名空間Ç引用您共同架構,您可以對自己或者作爲一種的一部分如下聲明項目 elemnt的一個實例架構看起來是這樣的:

<xs:element name="item" type="itemType" /><!-- referenced element --> 
<xs:complexType name="itemType"> 
    <xs:sequence> 
     <xs:element name="code" type="xs:Name" minOccurs="0" maxOccurs="unbounded" /> 
    </xs:sequence> 
    <xs:attribute name="description" type="xs:normalizedString" use="required" /> 
</xs:complexType> 
+4

我投這個,因爲它是一個很好的解釋。但是,ref屬性通過其「id」而不是「name」引用外部實體。對於示例的工作,在第二碼塊「項目」的聲明需要是: rjray 2009-09-20 17:51:39

+9

根據所有XSD文檔我已見過,「ref」適用於「名稱」,如下所示:http://www.w3schools.com/schema/el_element.asp(ref - 可選。指另一個元素的名稱。... ) – grkvlt 2009-09-20 20:42:40

+1

什麼時候會選擇ref類型? – pikachu0 2018-02-09 06:28:45

5

例如,如果你想聲明可以出現深度嵌套的元素類型,也可作爲一個實例文檔中的頂級元素。

XML模式引物具有實例爲這樣:http://www.w3.org/TR/xmlschema-0/

相關問題