2012-10-25 17 views
0

我將如何正確定義我的元素RandomAmount_如何正確在具有連接到名稱的計數器模式中定義的元素名稱

//當RandomAmount可以RandomAmount_1到RandomAmount_N

<xs:element name="RandomAmount"> 
    <xs:complexType> 
     <xs:choice maxOccurs="unbounded" minOccurs="0"> 
      <xs:element type="xs:float" name="RandomAmount_" /> 
     </xs:choice> 
    </xs:complexType> 
</xs:element> 

我覺得RandomAmount應該被命名爲「RandomAmount_ *」來完成這個訣竅,但這是行不通的。

回答

1

XSD元素聲明必須爲元素指定一個名稱;沒有規定你顯然正在尋找的這類名字的家屬。

目前還不清楚建議您做什麼,主要是因爲目前尚不清楚爲什麼要在元素名稱中包含數字。如果你想把一個調用的值返回給一個隨機數發生器,當隨機數發生器返回值1419時,通過命名一個元素RandomAmount_1419,那麼我建議你只給元素RandomAmount命名並返回值元素的內容或屬性中。

如果在另一方面,你要那麼父RandomAmount元素的兒童將被命名爲數字RandomAmount_1RandomAmount_2RandomAmount_3等等,那麼我的建議仍然是相同的:只給所有的孩子一樣名稱,並讓您的數據(例如):

<RandomAmount> 
    <amount>1419</amount> 
    <amount>8676</amount> 
    <amount>862</amount> 
    <amount>7331</amount> 
    <amount>7318</amount> 
    ... 
</RandomAmount> 

有沒有必要給孩子不同的名稱;事實上,如果所有的孩子都包含相同類型的信息(我從你的命名中猜測他們包含隨機數字),但幾乎總是練習而不是給他們不同的名字。 (如果需要能夠引用序列中的第三個數字,XPath有簡單的方法;如果映射到無法處理具有相同名稱的多個子元素的對象系統,則可以獲得更好的對象映射系統)

+0

感謝您的回覆。我上面的示例節點名稱僅用於顯示。這是與知識產權有關的問題,所以我必須對我的問題措辭非常挑剔。父母的孩子來自一個N大小的數組。該陣列的每個孩子都有一個附加的計數器,因此在輸出過程中,它將是child_1,child_2等。(取決於數組的大小)每個孩子都保存與其他孩子不同的重要數據,我害怕保留同名會導致我的最終用戶感到困惑。 – AD6

相關問題