XML学习之------>Schema约束XML文件的实例

shiporder_1.xsd文件:

<?xmlversion="1.0"encoding="UTF-8"?>
<xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://www.itstar.cn/shiporder_1"
  elementFormDefault="qualified">
  <xs:elementname="shiporder">
   <xs:complexType>
    <xs:sequence>
     <xs:elementname="orderperson"type="xs:string" />
     <xs:elementname="shipto">
      <xs:complexType>
                  <xs:sequence>
          <xs:elementname="name"type="xs:string"/>
          <xs:elementname="address"type="xs:string" />
          <xs:elementname="city"type="xs:string"/>
          <xs:elementname="country"type="xs:string" />
       </xs:sequence>
       </xs:complexType>
     </xs:element>
     <xs:elementname="item"maxOccurs="unbounded">
      <xs:complexType>
       <xs:sequence>
         <xs:elementname="title"type="xs:string"/>
        <xs:elementname="note"type="xs:string"minOccurs="0"/>
        <xs:elementname="quantity"type="xs:positiveInteger"></xs:element>
        <xs:elementname="price"type="xs:decimal"/>
       </xs:sequence>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attributename="orderid"type="xs:string" use="required"/>
   </xs:complexType>
  </xs:element>
</xs:schema>


shiporder_2.xsd文件:(不知道为什么此种方式不能加入targetNamespace属性)

<?xmlversion="1.0"encoding="UTF-8"?>
<xh:schemaxmlns:xh="http://www.w3.org/2001/XMLSchema"
     elementFormDefault="qualified">
<!-- 简易元素的定义 -->
  <xh:elementname="orderperson"type="xh:string" />
  <xh:elementname="name"type="xh:string"/>
  <xh:elementname="address"type="xh:string" />
  <xh:elementname="city"type="xh:string"/>
  <xh:elementname="country"type="xh:string" />
  <xh:elementname="title"type="xh:string"/>
  <xh:elementname="note"type="xh:string"/>
  <xh:elementname="quantity"type="xh:positiveInteger"/>
  <xh:elementname="price"type="xh:decimal"/>
<!-- 属性的定义 -->
  <xh:attributename="orderid"type="xh:string" />
<!-- 复合元素的定义 -->
  <xh:elementname="shipto">
    <xh:complexType>
     <xh:sequence>
      <xh:elementref="name"/>
      <xh:elementref="address"/>
      <xh:elementref="city"/>
    <xh:elementref="country"/>
     </xh:sequence>
     </xh:complexType>
   </xh:element>

  <xh:elementname="item">
   <xh:complexType>
    <xh:sequence>
     <xh:elementref="title"/>
     <xh:elementref="note"minOccurs="0"/>
     <xh:elementref="quantity"/>
     <xh:elementref="price"/>
     </xh:sequence>
    </xh:complexType>
  </xh:element>

  <xh:elementname="shiporder">
   <xh:complexType>
    <xh:sequence>
      <xh:elementref="orderperson"/>
      <xh:elementref="shipto"/>
     <xh:elementref="item"maxOccurs="unbounded"/>
    </xh:sequence>
    <xh:attributeref="orderid"use="required" />
   </xh:complexType>
  </xh:element>
</xh:schema>



shiporder.xml文件:

<?xmlversion="1.0"encoding="UTF-8"?>
<shiporderxmlns="http://www.itstar.cn/shiporder_1"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xsi:schemaLocation="http://www.itstar.cn/shiporder_1 shiporder_1.xsd"
                         orderid="111">
  <orderperson>orderperson</orderperson>
   <shipto>
   <name>name</name>
    <address>address</address>
    <city>city</city>
   <country>country</country>
  </shipto>
  <item>
    <title>title</title>
   <note>note</note>
    <quantity>100</quantity>
   <price>100.0</price>
  </item>
  <item>
   <title>title</title>
   <quantity>200</quantity>
   <price>80.0</price>
  </item>
</shiporder>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XML Schema Instance (XSI) 文件是使用 XML Schema 定义的 XML 数据的实例。要生成 XSI 文件,你需要先创建一个符合 XML Schema 标准的 XSD 文件(即定义 XML 数据结构和元素的文件),然后使用符合 XSD 文件的数据创建 XML 实例文件。以下是一个简单的示例: 1. 创建 XSD 文件 假设你要创建一个 XSI 文件来描述一个人的信息,包括姓名、年龄和性别。你可以创建一个 XSD 文件,定义如下所示: ``` <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="age" type="xs:integer"/> <xs:element name="gender" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> ``` 这个 XSD 文件定义了一个名为 "person" 的元素,该元素包含三个子元素,分别是 "name"、"age" 和 "gender"。每个子元素都有一个指定的数据类型。在这个示例中,"name" 和 "gender" 的类型是字符串类型,"age" 的类型是整数类型。 2. 创建 XSI 文件 有了 XSD 文件的定义,现在你可以创建一个符合该定义的 XSI 文件。以下是一个示例 XSI 文件: ``` <?xml version="1.0"?> <person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="person.xsd"> <name>John Doe</name> <age>30</age> <gender>Male</gender> </person> ``` 这个 XSI 文件包含一个 "person" 元素,其中包含三个子元素,分别是 "name"、"age" 和 "gender"。在 "person" 元素的开始标记中,有两个 XML 命名空间属性。第一个属性指定了 XML Schema 实例命名空间的 URI,第二个属性指定了 XSD 文件的位置。在本例中,XSD 文件名为 "person.xsd",因此 xis:schemaLocation 属性值为 "person.xsd"。 注意,这个示例只是一个简单的 XSI 文件。实际上,XSI 文件可能会更复杂,包含多个元素和属性,并且可能与多个 XSD 文件相关联。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值