xs:assert in Schema 1.1
Posted: Wed Dec 04, 2013 2:11 pm
Hello,
I have a complexType – amongst others a choose with two elements. Idea is, to have 1 »Einführung« and/or 1 »Lernziele« in any order. So I allow the choice twice. Next step was to give an error indication if the author chooses »Lernziele« twice. I tried xs:assert and got a Problem with the element-name »Einführung«. Only »Einfuhrung« works. Is this a rule or an error?
<xs:complexType name="defKapitelStudienbrief">
<xs:sequence>
<xs:element minOccurs="0" ref="le:Vorwort"/>
<xs:choice maxOccurs="2">
<xs:element ref="le:Einfuhrung" minOccurs="0" maxOccurs="1"/> <!-- le:Einführung-->
<xs:element ref="le:Lernziele" minOccurs="0" maxOccurs="1"/>
</xs:choice>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="le:Textebene-1"/>
</xs:sequence>
<xs:assert test="count(le:Einfuhrung) le 1"> <!-- le:Einführung-->
<xs:assert test="count(le:Lernziele) le 1"/>
</xs:complexType>
Kind regards
Ulrike Borinski
I have a complexType – amongst others a choose with two elements. Idea is, to have 1 »Einführung« and/or 1 »Lernziele« in any order. So I allow the choice twice. Next step was to give an error indication if the author chooses »Lernziele« twice. I tried xs:assert and got a Problem with the element-name »Einführung«. Only »Einfuhrung« works. Is this a rule or an error?
<xs:complexType name="defKapitelStudienbrief">
<xs:sequence>
<xs:element minOccurs="0" ref="le:Vorwort"/>
<xs:choice maxOccurs="2">
<xs:element ref="le:Einfuhrung" minOccurs="0" maxOccurs="1"/> <!-- le:Einführung-->
<xs:element ref="le:Lernziele" minOccurs="0" maxOccurs="1"/>
</xs:choice>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="le:Textebene-1"/>
</xs:sequence>
<xs:assert test="count(le:Einfuhrung) le 1"> <!-- le:Einführung-->
<xs:assert test="count(le:Lernziele) le 1"/>
</xs:complexType>
Kind regards
Ulrike Borinski