2016-07-12 113 views
0

我已經問過這個問題。我想我以前可能會問這個問題。我想要一個相同類型的xsd元素在xsd中出現三次。我想知道這是否可能。定義一個具有相同屬性和元素名稱的XSD

我在下面給出了我的預期xml輸出。

<Primary> 
    <Name>Harold</Name> (guy1 data) 
     <Mobile>2356</Mobile> 
    </Primary> 
    <Primary> 
     <Name>Finch</Name>(guy2 data) 
    <Mobile>4567</Mobile> 
    </Primary> 
    <Primary> 
    <Name>John</Name>(guy3 data) 
     <Mobile>1234</Mobile> 
    </Primary> 

我爲這個預期的xml創建了XSD。

<xs:element name="primary" minOccurs="0" maxOccurs="unbounded"> 
<xs:complexType > 
<xs:sequence> 
<xs:element name="name" type="xs:string"></xs:element> 
<xs:element name="mobile" type="xs:string"></xs:element> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 

這是我想要的場景。我知道主標籤在我的xml中會出現三次。我想知道是否可以讓這些元素在xsd中出現三次。也許像這樣

<xs:element name="primary" minOccurs="0" maxOccurs="unbounded"> 
<xs:complexType > 
<xs:sequence> 
<xs:element name="name" type="xs:string"></xs:element> 
<xs:element name="mobile" type="xs:string"></xs:element> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
<xs:element name="primary" minOccurs="0" maxOccurs="unbounded"> 
<xs:complexType > 
<xs:sequence> 
<xs:element name="name" type="xs:string"></xs:element> 
<xs:element name="mobile" type="xs:string"></xs:element> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
<xs:element name="primary" minOccurs="0" maxOccurs="unbounded"> 
<xs:complexType > 
<xs:sequence> 
<xs:element name="name" type="xs:string"></xs:element> 
<xs:element name="mobile" type="xs:string"></xs:element> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 

如果這是一個愚蠢的問題,我很抱歉。我對XSD和XML非常陌生。我需要它在xsd中出現三次的原因是我在Visual Studio 2012中從Tf xml生成器創建xml。我需要在xsd中將數據映射爲一對一。如果我使用複雜的類型和順序,它只會在xsd中出現一次,並且我不能將man 2和guy 3的數據與標籤相關聯,因爲它在xsd中只出現一次。我試圖這樣做,因爲我試圖避免編碼。如果我不能這樣做,我會在visual studio ssis包中使用腳本組件。

回答

相關問題