微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 XSD (1.1) 将属性设置为某个值时需要元素

如何解决使用 XSD (1.1) 将属性设置为某个值时需要元素

我有以下架构 (1.1)。我想要一个架构来检查参数序列是否具有“1”类型的修正参数和“2”类型的可选参数。我使用了替代方案,因为不同的类型具有不同的属性列表。

如何编写断言来检查类型 1 的参数是否是强制性的?

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified" vc:minVersion="1.1">
   <xs:element name="rule">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="conditions" maxOccurs="unbounded">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="condition" maxOccurs="unbounded" minOccurs="1">
                        <xs:complexType>
                           <xs:sequence>
                              <xs:element name="parameter" maxOccurs="unbounded" minOccurs="1">
                                 <xs:alternative test="@type = '1'" type="typeOne"/>
                                 <xs:alternative test="@type = '2'" type="typeTwo" />
                              </xs:element>
                           </xs:sequence>
                        </xs:complexType>
                     </xs:element>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:complexType name="typeOne">
      <xs:attribute name="type" type="xs:string" use="required"/>
   </xs:complexType>
   <xs:complexType name="typeTwo">
      <xs:attribute name="type" type="xs:string" use="required" />
   </xs:complexType>
</xs:schema>

我使用了替代方法,因为不同的类型具有不同的属性列表。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?