Schema约束

Schema约束(看懂即可)
            1、Schema约束文档本身就是一个XML文档,扩展名为xsd
            2、重点:根据Schema写出XML文档
                难点:XML文档的根元素的写法
            3、 参考XmlSchema标准参考手册.chm


            例1:   根据Schema约束文档book.xsd书写book.xml文档
            
                        <?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>
                                                                                  <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>


                        *****************************************************************************************************************************
                                
                        方式1:带名称空间的方式写XML的根元素:
                      
                              a、首先看Schema文档,找到根元素
                                        <?xml version="1.0" encoding="UTF-8"?>
                                        <书架></书架>
                                        
                              b、思考:书架来自于哪个名称空间?看Schema文档,targetNamespace就是名称空间。
                                        用xmlns关键字(xmlns名称空间声明)来声明我的元素来自哪个名称空间(xmlns:xml namespace),同时在元素面前声明名称空间
                                        <?xml version="1.0" encoding="UTF-8"?>
                                        <itcast:书架 xmlns:itcast="http://www.itcast.cn"></itcast:书架>


                              c、思考:名称空间与哪个xsd文件对应呢?使用schemaLocation关键字来关联名称空间和xsd的对 应关系
                                        <?xml version="1.0" encoding="UTF-8"?>
                                        <itcast:书架 xmlns:itcast="http://www.itcast.cn" 
                                              schemaLocation="http://www.itcast.cn book.xsd"></itcast:书架>


                              d、schemaLocation来自哪里?来自一个标准的名称空间(http://www.w3.org/2001/XMLSchema-     instance),顺便起个别名
                                        <?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:书架>
                                              
                            快捷方式自动生成声明:
                                        创建XML时,先别点finish,先点next, 选中schema约束,再next,再选中xsd约束文件,next, 可以修改名称空间,
                                        方括号选中后俩个,finish即可!                
                                         
                             最终写出的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:书名>葵花宝典</itcast:书名>
                                              <itcast:作者>谢飞</itcast:作者>
                                              <itcast:售价>10</itcast:售价>
                                      </itcast:书>         
                                                           
                             </itcast:书架>
                           
            *********************************************************************************************************************            
            
            方式2:不带名称空间的方式写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">
                                      
                                    <书>
                                      <书名>葵花宝典</书名>
                                      <作者>谢飞</作者>
                                      <售价>10</售价>
                                    </书>
                              
                            </书架>            
            
            *********************************************************************************************************************      

            

  例2: 使用名称空间引入多个XML Schema文档

                  
                         文件清单:xmlbook.xml
                          <?xml version="1.0" encoding="UTF-8"?>
                          <书架 xmlns="http://www.it315.org/xmlbook/schema"                          
                                    xmlns:demo="http://www.it315.org/demo/schema"
                                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                    xsi:schemaLocation="http://www.it315.org/xmlbook/schema  
                                                                          http://www.it315.org/xmlbook.xsd 
                                                                          http://www.it315.org/demo/schema
                                                                          http://www.it315.org/demo.xsd">
                                    
                                    <书>
                                            <书名>JavaScript网页开发</书名>
                                            <作者>张孝祥</作者>
                                            <售价 demo:币种=”人民币”>28.00元</售价>
                                    </书>
                          </书架>
                     
            **********************************************************************************************************************
             例3:  不使用名称空间引入XML Schema文档(了解,不常用)
             
                         文件清单:xmlbook.xml
                          <?xml version="1.0" encoding="UTF-8"?>
                          <书架 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                    xsi:noNamespaceSchemaLocation="xmlbook.xsd">
                                    
                                    <书>
                                            <书名>JavaScript网页开发</书名>
                                            <作者>张孝祥</作者>
                                            <售价>28.00元</售价>
                                    </书>
                                    
                          </书架>
                          
            **********************************************************************************************************************
             
             
            验证是否书写正确: 
                    右键点击写成的book.xml文档,选中MyEclipse,再选中Run Validation,若提示没有错误,则书写成功。
                 
          ************************************************************************************************************************           
               
                      
                      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值