[英]XSD 1.0 set attribute to false if another has no value
我正在嘗試編寫一個模式,其中我有兩個屬性ID
和required
:
ID
可以是任何字符串或空字符串required
是 boolean 真/假如果ID
沒有文本,我需要將required
設置為 false。
我在這個地方進行了搜索,發現這可以使用 XSD 1.1 完成,但我無法訪問它,因為它在 Visual Studio 2017 中不受支持。在 XSD 1.0 中是否有替代方法?
這是架構的一部分:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="sizeGroup">
<xs:complexType>
<xs:attribute name="ID" type="xs:string" use="required" />
<xs:attribute name="required" type="xs:boolean" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
XSD約束或要求XML 文檔的屬性; 他們不設置屬性。
假設您的意思是您希望,而不是設置,一個屬性具有基於另一個屬性值的特定值,不,這樣的約束不能在XSD 1.0 中表達。 您將需要 XSD 1.1 斷言。
進一步注意:要求從另一個 XML 組件中已經存在的內容派生屬性值通常是設計缺陷的標志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.