schema学习笔记

学习了schema,记录下来,供日后翻看和大家学习交流。
schema文件是约束xml文件格式的约束文档,后缀为.xsd;以schema文件约束的.xml文件为实例文档。
这里先贴上一个例子:
book.xsd:一个schame约束文档

<?xml version="1.0" encoding="UTF-8" ?> 
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"       
            targetNamespace="http://www.itcast.cn" 
            elementFormDefault="qualified">
  <xs:element name='书架' ><!--定义一个标签:书架-->
   <xs:complexType><!--复合类型-->
     <xs:sequence maxOccurs='unbounded'><!--序列,数量没有上限,表示标签书的数量没有上限-->
      <xs:element name='书' >  <!--定义一个标签:书-->
       <xs:complexType><!--复合类型-->
        <xs:sequence><!--序列-->
         <!--类型定义为String,有很多类型int,date...-->
         <xs:element name='书名' type='xs:string' />
         <xs:element name='作者' type='xs:string' />
         <xs:element name='售价' type='xs:string' />
        </xs:sequence>
       </xs:complexType>
     </xs:element>
    </xs:sequence>
   </xs:complexType>
  </xs:element>
 </xs:schema>

book.xml实例文档:以book.xsd为约束的xml文件

<?xml version="1.0" encoding="UTF-8"?>
    <书架 xmlns="http://www.itcast.cn"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation=“http://www.itcast.cn book.xsd">
        <>
            <书名>JavaScript网页开发</书名>
            <作者>redarmy</作者>
            <售价>28.00元</售价>
        </>
    </书架>

标签我就不详细说明了,网上太多;主要记录几个重要的属性,这里主要说的是schema规范。
1.对于任何xml文件,都应该有schema文件对其定义;
2.在schame文件中,所有的标签都是w3c定义的;

1.属性targetNamespace:
所有的schema文件都应该有一个id,也就是namespace,用属性targetNamespace来定义,是个url,一般不存在这个url。
2.属性elementFormDefault:
是一个枚举值,qualified所有标签有约束;unqualified只有根标签有约束。
3.属性xmlns:
3.1.用来引入一个schema约束文档;
如果sachema是w3c定义的,属性值固定:http://www.w3.org/2001/XMLSchema;
如果不是w3c定义的,必须指定schema文件的位置,对应的schema文件的namespace值;
3.2.所以,对于book.xsd来说,其schema约束文档时w3c定义的,所以属性值为http://www.w3.org/2001/XMLSchema;
而对于book.xml来说,其schema约束文档是book.xsd文档,所以属性值为book.xsd文档的namespace:http://www.itcast.cn;
3.3.如果xmlns后面跟了别名,比如book.xsd文档的xmlns:xs,则这个xmlns引入的schema文档约束的所有标签都要加这个别名
4.属性schemaLocation:
用来指定schema文件的位置,一般是schema文件的namespace schema约束文件名(注意有个空格)。
5.还需要xmlns引入一个约束属性schemaLocation的文件,地址固定:
http://www.w3.org/2001/XMLSchema-instance

如果这里把xmlns加一个别名,那么book.xml的写法为:

<?xml version="1.0" encoding="UTF-8"?>
<itcast:书架 xmlns:itcast="http://www.itcast.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=“http://www.itcast.cn book.xsd">
    <itcast:书>
        <itcast:书名>JavaScript网页开发</itcast:书名>
        <itcast:作者>redarmy</itcast:作者>
        <itcast:售价>28.00元</itcast:售价>
    </itcast:书>
</itcast:书架>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值