Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XSD:仅在元素第一次出现后才允许在该元素中使用不同的元素_Xml_Xsd - Fatal编程技术网

Xml XSD:仅在元素第一次出现后才允许在该元素中使用不同的元素

Xml XSD:仅在元素第一次出现后才允许在该元素中使用不同的元素,xml,xsd,Xml,Xsd,我有一个关于XSD的问题。如果元素已经出现,是否可以允许在元素内部使用不同的元素 假设我有这样的结构: <entry> <col> <b></b> </col> <col> <a></a> <b></b> </col> </entry> 目前,每次都可以设置元素。但

我有一个关于XSD的问题。如果元素已经出现,是否可以允许在元素内部使用不同的元素

假设我有这样的结构:

<entry>
    <col>
        <b></b>
    </col>
    <col>
        <a></a>
        <b></b>
    </col>
</entry>


目前,每次都可以设置
元素。但是我只想允许设置
元素,如果
元素以前至少出现过一次。

这可能会有帮助:

创建一个变量,用于计算



然后检查
的数量是否至少为1。如果是,将添加

<xs:choice minOccurs="0" maxOccurs="unbounded">
    <xsl:if test="$colCount &gt; 0">
        <xs:element ref="a" />
    </xsl:if>
    ...

...
<xsl:variable name="colCount" select="count(/entry/col)" />
<xsl:variable name="colCount" select="count(//col)" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
    <xsl:if test="$colCount &gt; 0">
        <xs:element ref="a" />
    </xsl:if>
    ...