欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习xsd 3

程序员文章站 2022-07-14 21:06:29
...
5、只包含属性,不包含内容,也不包含元素
<xsd:element>
   <xsd:complexType>
       <xsd:complexContent>
         <xsd:restriction base="xsd:anyType">
           <xsd:attribute type="xsd:string"/>
         </xsd:restriction>
       </xsd:complexContent>
   </xsd:complexType>
</xsd:element>
效果等同与2

6、只包含属性和子元素,不包含内容
<xsd:element>
   <xsd:complexType>
       <xsd:complexContent>
         <xsd:element name=""/>
         <xsd:attribute name=""/>
       </xsd:complexContent>
   </xsd:complexType>
</xsd:element>
<xsd:complexContent>可缺省
6、注释


<xsd:annotation>

    <xsd:documentation xml:lang=”en”>

           Element declared with anonymous type

    </xsd:documentation>

</xsd:annotation>





元素出现的顺序定义:
<xsd:all>定义元素可按任意顺序出现,且每个元素只出现一次
<xsd:choice>定义子元素中可以出现一个或者另一个
<xsd:sequence>定义子元素必须按照顺序出现
<xsd:sequence>
  <xsd:element name="" type="" maxOccurs="10" minOccurs="1">
定义元素出现的最大次数和最小次数

组:
用来定义相关的一组元素

<xs:group name="persongroup">

<xs:sequence>

    <xs:element name="firstname" type="xs:string"/>

    <xs:element name="lastname" type="xs:string"/>

    <xs:element name="birthday" type="xs:date"/>

</xs:sequence>

</xs:group>

用法:
<xs:complexType name="personinfo">

<xs:sequence>

   <xs:group ref="persongroup"/>

    <xs:element name="country" type="xs:string"/>

</xs:sequence>

   </xs:complexType>
用来定义一组相关的属性

<xs:attributeGroup name="personattrgroup">

<xs:attribute name="firstname" type="xs:string"/>

<xs:attribute name="lastname" type="xs:string"/>

<xs:attribute name="birthday" type="xs:date"/>

</xs:attributeGroup>

<xs:element name="person">

<xs:complexType>

    <xs:attributeGroup ref="personattrgroup"/>

</xs:complexType>

</xs:element>
Any关键字

表示可以有任意元素

<xs:element name="person">

<xs:complexType>

    <xs:sequence>

      <xs:element name="firstname" type="xs:string"/>

      <xs:element name="lastname" type="xs:string"/>

      <xs:any minOccurs="0"/>

    </xs:sequence>

</xs:complexType>

</xs:element>

anyAttribute关键字

<xs:element name="person">

<xs:complexType>

    <xs:sequence>

      <xs:element name="firstname" type="xs:string"/>

      <xs:element name="lastname" type="xs:string"/>

    </xs:sequence>

    <xs:anyAttribute/>

</xs:complexType>

</xs:element>

substitutionGroup关键字

表示某一个元素和另一个替代元素定义相同

<xs:element name="name" type="xs:string"/>

<xs:element name="navn" substitutionGroup="name"/>

<xs:complexType name="custinfo">

<xs:sequence>

注意事项:
xsd:complexType有两个,站点下的文件路径,attribute在opencms中必须有
相关标签: xsd xml