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

允许任何具有特定子XSD XML的元素

如何解决允许任何具有特定子XSD XML的元素

我正在为XML文档开发XSD。

如下所示:

NULL

和xsd如下:

<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
    <pdf-info xmlns="http://www.pdftron.com/pdfinfo" version="2" import-version="3" />
        <fields />
        <annots>
           
          <ink page="0">
                <trn-custom-data bytes="blabla" />
            </ink>
          <text page="0">
                <trn-custom-data bytes="blabla" />
            </text>
        </annots>
    </xfdf>

问题是我想避免重复逻辑,而改用<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ns.adobe.com/xfdf/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="xfdf"> <xs:complexType> <xs:all> <xs:any processContents="skip"/> <xs:element name="fields" /> <xs:element name="annots"> <xs:complexType> <xs:all> <xs:element minOccurs="0" name="text"> <xs:complexType> <xs:sequence> <xs:element name="trn-custom-data"> <xs:complexType> <xs:attribute name="bytes" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required" /> <xs:anyAttribute processContents="skip" /> </xs:complexType> </xs:element> <xs:element minOccurs="0" name="ink"> <xs:complexType> <xs:sequence> <xs:element name="trn-custom-data"> <xs:complexType> <xs:attribute name="bytes" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required" /> <xs:anyAttribute processContents="skip" /> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:any processContents="skip"/> </xs:sequence> <xs:anyAttribute processContents="skip" /> </xs:complexType> </xs:element> </xs:schema>

但这不会允许我检查特定的属性内容

类似的东西不起作用:

xs:any

我需要允许任何元素,但要具有某些子元素和某些属性。有可能这样做吗?

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