簡體   English   中英

描述W3C XML模式中重復的XML節點?

[英]Describe repeating XML nodes in W3C XML Schema?

我有一個XML文檔,例如:

<Root>
    <Bravo />
    <Alpha />
    <Charlie />
    <Charlie />
    <Delta />
    <Foxtrot />
    <Charlie />
</Root>

節點的順序無關緊要。 除了查理,每個節點可能出現零次或一次。 查理可能出現零次,一次或任意多次。 在XSD中表達這一點的直接方法是:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="Root">
        <xsd:complexType>
            <xsd:all>
                <xsd:element name="Alpha" minOccurs="0" maxOccurs="1" />
                <xsd:element name="Bravo" minOccurs="0" maxOccurs="1" />
                <xsd:element name="Charlie" minOccurs="0" maxOccurs="unbounded" />
                <xsd:element name="Delta" minOccurs="0" maxOccurs="1" />
                <xsd:element name="Echo" minOccurs="0" maxOccurs="1" />
                <xsd:element name="Foxtrot" minOccurs="0" maxOccurs="1" />
            </xsd:all>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

但這是行不通的,因為xsd:all不允許maxOccurs大於1。由於我不能使用xsd:all,應該使用什么?

Schematron。 :)

我不確定100%,但是我認為該模型無法用XML Schema表示。

您可以使用xsd:sequence,但是順序將很重要,您在問題中所說的順序將無法保證。

查看: http : //www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#element-group似乎沒有可以使用的模型組,盡管也許可以只是在complexType中定義它們而不使用內容組?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM