加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XSD:如何根据某些标签的值验证XML文件?

发布时间:2020-12-16 05:34:56 所属栏目:百科 来源:网络整理
导读:我试图验证这个 XML文件…… 如果 tag1是“Y”然后 tag2必须出现 if tag1是“N”然后 tag2一定不要出现.. parent a tag1Y/tag1 tag2sometext/tag2 /a a tag1N/tag1 /a/parent 我试过 choice标签,但似乎没有工作.. :(我得出结论,这个功能在XSD中不可用.. 你能
我试图验证这个 XML文件……
如果

>< tag1>是“Y”然后< tag2>必须出现
> if< tag1>是“N”然后< tag2>一定不要出现..

<parent>
  <a>
    <tag1>Y</tag1>
    <tag2>sometext</tag2>
  </a>
  <a>
    <tag1>N</tag1>
  </a>
</parent>

我试过< choice>标签,但似乎没有工作.. :(我得出结论,这个功能在XSD中不可用..

你能指导我至少实现这个的替代方案吗?顺便说一句,我使用的是Visual Studio 2005 ..

众所周知,这是XML模式的一个回顾.但我很感激你尝试< choice>的方法.标签.如果您的条件是这样的话,它可能会成功:

>如果< tag1>是必需的,然后首先出现< tag2>不是必需的(并显示为第二个标签)
>如果< tag2>是必需的,然后首先出现< tag1>不是必需的(并显示为第二)

代码是:

<xs:element name="parent">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="a" maxOccurs="unbounded">
        <xs:complexType>
          <xs:choice>
            <xs:sequence>
              <xs:element name="tag1" type="xs:boolean" />
              <xs:element name="tag2" type="xs:string" minOccurs="0" />
            </xs:sequence>
            <xs:sequence>
              <xs:element name="tag2" type="xs:string" />
              <xs:element name="tag1" type="xs:boolean" minOccurs="0" />
            </xs:sequence>
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读