簡體   English   中英

XSD 1.0 如果另一個沒有值,則將屬性設置為 false

[英]XSD 1.0 set attribute to false if another has no value

我正在嘗試編寫一個模式,其中我有兩個屬性IDrequired

  • 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM