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

什么是XML模式来表示字符串到字符串的字典?

假设我有一个字典< string,string>例如,像这样:

{{“”“,”1“},{”b“,”2“}}

有几种方法可以用XML表示它:

<root>
  <item>
    <key>a</key>
    <value>1</value>
  </item>
  <item>
    <key>b</key>
    <value>2</value>
  </item>
</root>

要么

<root>
  <item key="a" value="1"/>
  <item key="b" value="2"/>
</root>

要么

<root>
  <a>1</a>
  <b>2</b>
</root>

描述每个表示的XML模式是什么?

谢谢.

解决方法

看看 xs:unique元素.
对于1st XML,适当的XSD是:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="root">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" name="item">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="key" type="xs:string"  />
                            <xs:element name="value" type="xs:string" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>

        <xs:unique name="uniqueItem">
            <xs:selector xpath="item"/>
            <xs:field xpath="key"/>
        </xs:unique>
    </xs:element>
</xs:schema>

第二名:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="root">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" name="item">
                    <xs:complexType>
                        <xs:attribute name="key" type="xs:string" use="required" />
                        <xs:attribute name="value" type="xs:string" use="required" />
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>

        <xs:unique name="uniqueItem">
            <xs:selector xpath="item"/>
            <xs:field xpath="@key"/>
        </xs:unique>

    </xs:element>
</xs:schema>

第三名:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="root">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="a" type="xs:string" />
                <xs:element name="b" type="xs:string" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

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