嗨,我一直嘗試使用qti xml文檔時遇到此錯誤。 這裏是XML文檔:驗證XML內容時出錯:元素不能包含空格。內容模型爲空
<respcondition title="Correct" >
<conditionvar>
<not>
<varequal respident="1">A</varequal>
</not>
<varequal respident="1">B</varequal>
<not>
<varequal respident="1">C</varequal>
</not>
<varequal respident="1">D</varequal>
</conditionvar>
<setvar action="Set">1</setvar>
<displayfeedback linkrefid="Correct"/>
</respcondition>
這裏是XSD的是的Valide的XML片段
<!-- ******************* -->
<!-- ** respcondition ** -->
<!-- ******************* -->
<xs:complexType name="respconditionThirdPartyType">
<xs:sequence>
<xs:element name="conditionvar" type="conditionvarThirdPartyType" maxOccurs="1"/>
<xs:element name="setvar" type="setvarThirdPartyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="displayfeedback" type="displayfeedbackThirdPartyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="title" type="xs:string"/>
</xs:complexType>
<!-- ****************** -->
<!-- ** conditionvar ** -->
<!-- ****************** -->
<xs:complexType name="conditionvarThirdPartyType">
<xs:sequence>
<xs:choice>
<xs:element name="not" type="notThirdPartyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="or" type="orThirdPartyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="other" type="otherThirdPartyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:element name="varequal" type="varequalThirdPartyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ********* -->
<!-- ** not ** -->
<!-- ********* -->
<xs:complexType name="notThirdPartyType">
<xs:sequence>
<xs:element name="varequal" type="varequalThirdPartyType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<!-- ************** -->
<!-- ** varequal ** -->
<!-- ************** -->
<xs:complexType name="varequalThirdPartyType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="respident" type="xs:string" use="optional"/>
<xs:attribute name="case" default="No">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Yes"/>
<xs:enumeration value="No"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
命名空間 'test.xsd' 元素'conditionvar具有無效子元素 'varequal'在命名空間'test.xsd'中。預期的可能元素列表:'不'。 元素不能包含空格。內容模型爲空。 元素不能包含空格。內容模型爲空。 名稱空間'test.xsd'中的元素'conditionvar'在名稱空間'test.xsd'中具有無效的子元素'not'。預期的可能元素列表:'varequal'。
請任何人都可以幫忙嗎?我一直在努力,現在解決這一問題的幾天.. 感謝 乾杯
找到了答案:
好,我找到了答案。我已經改變了條件變量的定義。現在它正在工作。謝謝大家的幫助
<!-- ****************** -->
<!-- ** conditionvar ** -->
<!-- ****************** -->
<xs:complexType name="conditionvarThirdPartyType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="not" type="notThirdPartyType" />
<xs:element name="or" type="orThirdPartyType" />
<xs:element name="other" type="otherThirdPartyType" />
</xs:choice>
<xs:element name="varequal" type="varequalThirdPartyType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
感謝您的幫助。
感謝您的答案Mapper。這是有效的是: 「conditionvar」可以作爲孩子「varequel」和「不」或「其他」或「或」。和「不」具有在「不」中發生一次的「varequal」 – fisdelom
我的示例性模式片段應該接受'((不是|或|其他),varequal)*'。以明文形式,它接受「」或「」或「」,然後是「」(目前爲止的兩個連續元素),並且這兩個元素的序列可以重複零次或多次。這是你在找什麼? '元素,如果'''元素必須包含一個''元素,請從'notThirdPartyType'類型定義中的元素中移除'minOccurs =「0」maxOccurs =「unbounded」'。 –
至於'
我想我沒有解釋清楚。對不起。 例1: 甲 Ç 乙 conditionvar> 。情況2: 乙 conditionvar> 在情況1中,可以或 –
fisdelom