XSD我的数据类型

时间:2012-05-24 08:43:22

标签: xsd

我想问一下.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>

我想知道是否有正确的方式来定义我自己的联系人类型?

1 个答案:

答案 0 :(得分:2)

一些不太正确的观点。

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

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

  • 从样式的角度来看,ComplexTypes应该结束Type。

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

Graphical representation of an XML Schema

<?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 Schema是没有工具的复杂事情。我认真考虑获得一个好的架构设计师,我建议Liquid XML Studio