1

我想问一下.XSD 文件。我找不到任何关于创建自己的类型的信息,例如:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:complexType name="Client">
        <xs:sequence>
            <xs:element name="FirstName" type="string"/>
            <xs:element name="SecondName" type="string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Contact">
        <xs:sequence>
            <xs:element name="contacts" type="Client"  minOccurs="1"/>
        </xs:sequence>
    </xs:complexType>   
</xsd:schema>

我想知道定义我自己的类型联系人的正确方法是什么?

4

1 回答 1

2

有几点不太对。

  • 结束模式标记上的 xsd: 命名空间别名应该只是 xs:

  • 原始字符串类型需要有类型限定,即 xs:string。

  • 从风格的角度来看,ComplexTypes 应该结束 Type。

  • 如果您想使用模式(可能是通过联系人),那么您需要声明一个根元素。

XML 模式的图形表示

<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid XML Studio 2012 Developer Edition (Trial) 10.0.1.3941 (http://www.liquid-technologies.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="ClientType">
        <xs:sequence>
            <xs:element name="FirstName" type="xs:string" />
            <xs:element name="SecondName" type="xs:string" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ContactType">
        <xs:sequence>
            <xs:element name="contacts" type="ClientType" minOccurs="1" />
        </xs:sequence>
    </xs:complexType>
    <xs:element name="Client" type="ClientType" />
</xs:schema>

基本上,XML Schemas 是在没有工具的情况下编写的复杂的东西。我会认真考虑获得一个好的模式设计器,我会推荐Liquid XML Studio

于 2012-05-29T10:28:11.640 回答