2
我很難理解如何爲簡單的自相似XML數據樹編寫遞歸XSD模式。
我對節點模式有一個想法,但沒有太多線索如何使模式遞歸。如何爲自相似XML樹編寫遞歸XSD模式?
這裏是XML,這是一個金融風險的規範文件的一個例子:
<CG SYM="ROOT" B="-1" S="-1">
<CG SYM="IOU-AllContracts" B="100" S="100" P="100">
<CG SYM="IOU100MAY14" B="-1" S="-1" P="50"/>
</CG>
</CG>
所有節點都是CG的節點,並且可以只包含CG節點,任何遞歸深度。
我想我已經計算出CG(合約/組)的節點定義,包括一些限制,我想把它放在 包含的屬性值上。 B(BuyLimit)和S(SellLimit)-1到什麼,P(位置)是任何INT,SYM(符號)不得有空格:
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="CG">
<xs:complexType>
<xs:attribute name="SYM" type="xs:string" use="required">
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:attribute>
<xs:attribute name="B" type="xs:integer" use="required">
<xs:restriction base="xs:integer">
<xs:minInclusive value="-1">
</xs:restriction>
</xs:attribute>
<xs:attribute name="S" type="xs:integer" use="required">
<xs:restriction base="xs:integer">
<xs:minInclusive value="-1">
</xs:restriction>
</xs:attribute>
<xs:attribute name="P" type="xs:integer" >
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
在此先感謝非常的任何幫助。
哇,快回答!將不得不建立一個小測試項目並檢查出來,非常感謝。 –
我正在做一些愚蠢的事情。我已經實現了一個小項目,並且我得到了 - 元素'CG'具有無效的子元素'CG'。 –
上面的模式允許無限層次的嵌套'CG'元素,但每個級別只有一個孩子。如果每個級別需要多個子元素,請將'maxOccurs =「unbounded」'添加到嵌套的'xs:element'聲明中。 – helderdarocha