【问题标题】:Define new attribute to elements XSD为元素 XSD 定义新属性
【发布时间】:2014-04-15 07:33:44
【问题描述】:

我有一个关于在我的 xml 架构 (xsd) 中为我的元素定义新属性的问题 我有这样的元素

<xs:element name="xyz" type="xs:hexBinary" minOccurs="2">

我想添加一个新属性“size”,我可以在其中指定元素“xyz”的大小。我如何定义这样做?

感谢您的帮助

【问题讨论】:

    标签: xml xsd


    【解决方案1】:

    下面是一个简单有效的 XSD,围绕您的 xyz 元素构建。

    <?xml version="1.0" encoding="utf-8" ?>
    <!-- XML Schema generated by QTAssistant/XSD Module (http://www.paschidev.com) -->
    <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
        <xs:complexType name="dummy">
            <xs:sequence>
                <xs:element name="xyz" minOccurs="2">
                    <xs:complexType>
                        <xs:simpleContent>
                            <xs:extension base="xs:hexBinary">
                                <xs:attribute name="size" type="xs:int" use="required"/>
                            </xs:extension>
                        </xs:simpleContent>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:schema>
    

    任何具有属性和/或嵌套元素的元素都必须是复杂类型。如果有嵌套元素,那么复杂类型的内容模型一定是complexContent;否则,它必须是 simpleContent。

    这种方法不允许您同时约束基本类型(此处为 hexBinary)。如果您还需要为简单基类型指定约束方面,则必须单独创建一个新的简单类型,限制为 hexBinary,然后使用属性扩展新类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      相关资源
      最近更新 更多