按照xml文件写Schema文件样例——orders.xml

这里没有语法,只是把做过去的一个简单小练习放上来。以便查阅。

1、xml文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <orders xmlns="http://www.w3school.com.cn"
 3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4         xsi:schemaLocation="http://www.w3school.com.cn orders.xsd"> <!-- 所有订单信息 -->
 5     <order> <!-- 订单,至少包含1个订单 -->
 6         <orderDate>2018-05-20</orderDate><!--orderDate为日期型 -->
 7         <shipTo country="CN"><!-- 配送信息,country属性必须出现 -->
 8             <name>张三峰</name> <!-- 收件人,长度小于50 -->
 9             <street>市中区滨河路778号5+3大酒店</street> <!-- 县/区及街道地址 -->
10             <city>乐山市</city> <!-- 市/区,长度小于50 -->
11             <state>四川省</state> <!-- 省/自治区/直辖市,长度小于50 -->
12             <phone>13999999999</phone> <!-- 联系电话,要求必须是1开头,后面第2位数字3-9,再后面是9个数字 -->
13         </shipTo>
14         <items> <!-- 商品列表,item应至少出现1次 -->
15             <item partNum="872-AA"> <!-- 商品编号属性,必须有 -->
16                 <productName>香辣鸡翅</productName><!-- 商品名称,长度小于50 -->
17                 <quantity>1</quantity> <!-- 购买数量,至少是1 -->
18                 <price>18.95</price> <!-- 单价为浮点数,大于0.0 -->
19                 <shipDate>2018-05-21</shipDate> <!-- 配送日期 -->
20             </item>
21             <item partNum="926-AA">
22                 <productName>烧烤五花肉</productName>
23                 <quantity>20</quantity>
24                 <price>39.98</price>
25                 <shipDate>2018-05-20</shipDate>
26             </item>
27         </items>
28     </order>
29 </orders>
30
31 <!--
32 xmlns="http://www.example.org/01"
33         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
34         xsi:noNameSpaceSchemaLocation="orders.xsd"
35  -->

orders.xml

2、schema文件:

  1 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  2             targetNamespace="http://www.w3school.com.cn"
  3             xmlns="http://www.w3school.com.cn"
  4             elementFormDefault="qualified">
  5     <xsd:element name="orders">
  6         <xsd:complexType>
  7             <xsd:sequence>
  8                 <xsd:element ref="order" minOccurs="1" maxOccurs="unbounded"></xsd:element>
  9             </xsd:sequence>
 10         </xsd:complexType>
 11     </xsd:element>
 12
 13     <xsd:element name="order">
 14         <xsd:complexType>
 15             <xsd:sequence>
 16                 <xsd:element name="orderDate" type="xsd:date" minOccurs="1" maxOccurs="1"></xsd:element>
 17                 <xsd:element ref="shipTo" minOccurs="1" maxOccurs="1"></xsd:element>
 18                 <xsd:element ref="items" minOccurs="1" maxOccurs="1"></xsd:element>
 19             </xsd:sequence>
 20         </xsd:complexType>
 21     </xsd:element>
 22
 23     <xsd:element name="shipTo">
 24         <xsd:complexType>
 25             <xsd:sequence>
 26                 <xsd:element ref="name"></xsd:element>
 27                 <xsd:element name="street"></xsd:element>
 28                 <xsd:element name="city"></xsd:element>
 29                 <xsd:element name="state"></xsd:element>
 30                 <xsd:element ref="phone"></xsd:element>
 31             </xsd:sequence>
 32             <xsd:attribute name="country" type="xsd:string" use="required"></xsd:attribute>
 33         </xsd:complexType>
 34     </xsd:element>
 35
 36     <xsd:element name="items">
 37         <xsd:complexType>
 38             <xsd:sequence>
 39                 <xsd:element ref="item" minOccurs="1" maxOccurs="unbounded"></xsd:element>
 40             </xsd:sequence>
 41         </xsd:complexType>
 42     </xsd:element>
 43
 44     <xsd:element name="item">
 45         <xsd:complexType>
 46             <xsd:sequence>
 47                 <xsd:element ref="productName"></xsd:element>
 48                 <xsd:element ref="quantity"></xsd:element>
 49                 <xsd:element ref="price"></xsd:element>
 50                 <xsd:element name="shipDate" type="xsd:date"></xsd:element>
 51             </xsd:sequence>
 52             <xsd:attribute name="partNum" type="xsd:string" use="required"></xsd:attribute>
 53         </xsd:complexType>
 54     </xsd:element>
 55
 56     <xsd:element name="name">
 57         <xsd:simpleType>
 58             <xsd:restriction base="xsd:string">
 59                 <xsd:minLength value="0"/>
 60                 <xsd:maxLength value="50"/>
 61             </xsd:restriction>
 62         </xsd:simpleType>
 63     </xsd:element>
 64
 65     <xsd:element name="phone">
 66         <xsd:simpleType>
 67             <!-- <xsd:restriction base="xsd:integer">
 68                 <xsd:minInclusive value="13000000000"></xsd:minInclusive>
 69                 <xsd:maxInclusive value="19999999999"></xsd:maxInclusive>
 70             </xsd:restriction> -->
 71             <xsd:restriction base="xsd:string">
 72                 <xsd:minLength value="11"></xsd:minLength>
 73                 <xsd:maxLength value="11"></xsd:maxLength>
 74                 <xsd:pattern value="1[3-9]{1}[0-9]{9}"></xsd:pattern>
 75             </xsd:restriction>
 76         </xsd:simpleType>
 77     </xsd:element>
 78
 79     <xsd:element name="productName">
 80         <xsd:simpleType>
 81             <xsd:restriction base="xsd:string">
 82                 <xsd:maxLength value="50"/>
 83             </xsd:restriction>
 84         </xsd:simpleType>
 85     </xsd:element>
 86
 87     <xsd:element name="quantity">
 88         <xsd:simpleType>
 89             <xsd:restriction base="xsd:integer">
 90                 <xsd:minInclusive value="1" />
 91             </xsd:restriction>
 92         </xsd:simpleType>
 93     </xsd:element>
 94
 95     <xsd:element name="price">
 96         <xsd:simpleType>
 97             <xsd:restriction base="xsd:float">
 98                 <xsd:minInclusive value="0.1"></xsd:minInclusive>
 99             </xsd:restriction>
100         </xsd:simpleType>
101     </xsd:element>
102 </xsd:schema>

orders.xsd

和dtd有异曲同工之妙,但是各有利弊,不存在谁取代谁的,如果你是初学者又不幸看到我的博客,那么请你去百度一下,找最前面的那几个好好学习一下。

原文地址:https://www.cnblogs.com/Ddlm2wxm/p/9196604.html

时间: 2024-10-09 04:44:19

按照xml文件写Schema文件样例——orders.xml的相关文章

函数指针使用演示样例(參考Linux-内核代码)

本文有xhz1234(徐洪志)编写,转载请注明出处. http://blog.csdn.net/xhz1234/article/details/36635083 作者:徐洪志 近期阅读Linux-内核代码.发现非常多地方使用了函数指针,遂自己写一个演示样例程序.以供參阅: #include <stdlib.h> #include <stdio.h> #define ADDONE 0 #define MINUSONE 1 #define S_OK 0 #define S_ERR -1

Eclipse:xml文件中Schema的本地支持

由于在xml文件中使用xml节点的提示信息,一般采用引入URL的方式,例如 <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns:context="http://www.springframework.org/schema/context&q

ADF Faces导出Excel文件【附样例工程】

本文提供一个基于ADF Face组件开发样例工程,工程的实现过程分为3个部分以应对Excel导出开发中常见的处理. 1.空模版文件下载:将Excel文件视为普通文件提供下载操作. 2.数据文件输出,将数据内容输出为Excel文件,目标文件尽在服务端内存中存在,这种方式需要对Excel文件的内容处理,需要引入响应的类库. 3.模版文件填充数据后下载,基于服务端的物理文件为模板,将业务数据填入约定位置后提供下载,在实现方面需要为工作簿对象指定源文件输入流,并完成后续内容处理. 实现的基本思路,由AD

一个完整的schema验证xml的样例

xml文件: <reference xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3school.com.cn J.xsd"> <author authorLoc="1">陈路瑶</author>

关于XML的Schema文件讲解

1 Schema概述 1.1 什么是Schema l  Schema是新的XML文档约束:DTD出现的比较早. l  Schema要比DTD强大很多: l  Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml. 1.2 Schema简介 本课程中不对Schema深入探讨,我们只对Schema有个了解即可. students.xsd <?xml version="1.0"?> <xsd:schema xmlns="http://w

如何写一个schema文件

<!-- xmlns:默认的命名空间,一个 schema中只允许有一个xmlns,因为应用这个命名空间的资源不用添加前缀,其他的命名空间需要添加前缀 --> <!-- targetNamespace:是别的schema或者xml文件引用本schema文件的路径, --> <!-- targetNamespace和xmlns:tns是一致的,什么意思呢,就是说在本页面如果要引用本页面的一些资源,就要加入tns这个前缀才能引用,不然就是引用默认命名空间xmlns的资源 -->

使用C#调用Schema文件验证XML文档

C#代码如下: void Main() { string errorMessage; ValidateXML(@"C:\Tarena\Backup\数据库\xml\book.xml",@"C:\Tarena\Backup\数据库\xml\book.xsd",out errorMessage).Dump(); errorMessage.Dump(); } // Define other methods and classes here static bool Vali

nginx-配置文件样例

1, 总配置文件 user nobody nobody; worker_processes 6; worker_rlimit_nofile 652144; error_log /etc/nginx-idfa/logs/error.log crit; pid /run/nginx.pid; events { use epoll; multi_accept on; worker_connections 102400; } http { include /etc/nginx/mime.types; c

jquery訪问ashx文件演示样例

.ashx 文件用于写web handler的..ashx文件与.aspx文件类似,能够通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程.事实上就是带HTML和C#的混合文件. .ashx文件适合产生供浏览器处理的.不须要回发处理的数据格式.比如用于生成动态图片.动态文本等内容.非常多须要用到此种处理方式.此文档提供一个简单的调用ashx文件的Demo,并贴出重要文件的源代码. 下面为Demo中Login.ashx文件里的源代码: public cla