我對限制標簽有點困惑。我知道它通常用于限制/限制基礎元素。但我似乎也可以向基本型別添加新元素。這個可以嗎?這樣做甚至允許這樣做感覺很奇怪。就像您可以使用限制標簽進行擴展和限制一樣。
<xs:complexType name="Foo">
<xs:complexContent >
<xs:sequence>
<xs:element name="a" type="xs:string" />
<xs:element name="b" type="xs:integer" />
</xs:sequence>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Blah">
<xs:complexContent >
<xs:restriction base="Foo">
<xs:sequence>
<xs:element name="a" type="xs:string" />
<xs:element name="b" type="xs:integer" />
<xs:element name="c" type="xs:string" />
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
我的驗證說沒問題,但仍然感覺不對。
uj5u.com熱心網友回復:
對于初學者來說,您的 Foo 型別不正確,因為xs:sequence不允許作為xs:complexContent. 當我更正它(通過洗掉xs:complexContent元素)時,我得到“復雜型別 Q{}Blah 的內容模型不是 Q{}Foo 型別的內容模型的有效限制。受限型別允許元素 c 其中基本型別沒有"
這是來自在 Oxygen 中運行的撒克遜人。你還沒有說你正在使用什么驗證器,但它做得不是很好。
如果在受限制型別下有效的任何元素也是基型別的有效實體,則限制是有效限制;如果受限型別允許基本型別不允許的事情,那么它是無效的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/417659.html
標籤:
