<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      xml的schema命名空間之研究

      先放下將要進行說明的例子:
      data.xml

       

      <?xml version="1.0"?>
      <root xmlns="www.ljzforever.com"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="www.ljzforever.com xsd.xsd">
       <emp>
        <id>1</id>
        <name>ljz1</name>
       </emp>
       <emp>
        <id>2</id>
        <name>ljz2</name>
       </emp>
       <emp>
        <id>3</id>
        <name>ljz3</name>
       </emp>
       <emp>
        <id>4</id>
        <name>ljz4</name>
       </emp>
      </root>

       

      xsd.xsd

       

      <?xml version="1.0"?>
      <schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="www.ljzforever.com"
        elementFormDefault="qualified">
       <element name="root">
        <complexType>
         <sequence>
          <element name="emp" maxOccurs="unbounded">
           <complexType>
            <sequence>
             <element name="id" type="int" />
             <element name="name" type="string" />
            </sequence>
           </complexType>
          </element>
         </sequence>
        </complexType>
       </element>
      </schema>

       

      先講schema

      xmlns="http://www.w3.org/2001/XMLSchema"

      其實還有另一種寫法

      <xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema
      我在這里倫了個懶,把它作為了默認的命名空間,如果按照下面的一種寫法,就需要在每個schema標簽前都加上xs:
      這是固定語法

       

       targetNamespace="www.ljzforever.com"

      表示在schema所定義的標簽應作用于哪一個命名空間下。應用此schema的xml文件中如果有部分或全部標簽想受此schema的控制,標簽前必須使用此命名空間。

      里面的www.ljzforever.com其實可以隨便寫,寫abc都行

       

      elementFormDefault="qualified"

      有兩個值:qualified和unqualified

      首先要知道:運用了schema中聲明的元素或者類型的Xml標簽只能歸到兩個命名空間中的某一個去,這兩個是,無名命名空間和由targetSchema屬性指明的目標命名空間。

      如果該值是 unqualified,實例xml的根元素必須有命名空間的的限定,這個命名空間必須是schema中定義的targetNameSpace。但是其下子元素無須也不允許用命名空間前綴限定目標命名空間。 子元素的命名空間為空命名空間。

      如果該值是 qualified,實例xml根元素及其下所有子元素都必須通過命名空間前綴限定目標命名空間。這個命名空間必須是schema中定義的targetNameSpace

      說的很拗口啊,我來解釋一下,這個屬性與targetNameSpace相關

      前面不是說了一個schema只對特定命名空間下的標簽起作用,

      如果是qualified,則使用此schema的xml的每個標簽必須使用此命名空間,因為我在前面使用的默認的命名空間,所以不需要在每個標簽的前面加上命名空間前綴

      如果是unqualified,則是只能在根標簽上使用此命名空間,且子標簽不能使用此命名空間,使用別的命名空間是可以的。但是起不到驗證作用。

      我不太明白為什么要弄個起不到驗證作用的unqualified參數,反正我用的一般都是qualified

       

      下面再來談談xml文件的

      xmlns="www.ljzforever.com"

      里面的值必須和targetNameSpace內定義的一樣,我是倫了個懶,寫成了默認的命名空間,如果寫成一般的,則需要在所有子標簽前加上命名空間前綴

       

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      固定寫法,沒什么好說的

       

       xsi:schemaLocation="www.ljzforever.com xsd.xsd">
      固定寫法,值由兩部分組成,空格前面是與targetNameSpace內定義的一樣,后面是xsd文件路徑,因為我把它們放在了同一目錄下,所以沒有寫很多路徑

       

       

      講了這么多,其實你一定覺得這個命名空間很麻煩,其實xml也提供了無命名空間的解決方案:

       

      data.xml

       

      <?xml version="1.0"?>
      <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd.xsd">
       <emp>
        <id>1a</id>
        <name>ljz1</name>
       </emp>
      </root>

       

      xsd.xsd

       

      <?xml version="1.0"?>
      <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
       <element name="root">
        <complexType>
         <sequence>
          <element name="emp" minOccurs="1" maxOccurs="unbounded">
           <complexType>
            <sequence>
             <element name="id" type="int" />
             <element name="name" type="string" />
            </sequence>
           </complexType>
          </element>
         </sequence>
        </complexType>
       </element>
      </schema>

       

      只不過把xsi:schemaLocation改成xsi:noNamespaceSchemaLocation,而后面直接跟文件路徑,而不用寫命名空間!

      如果采取這種方式,xml文件中可以采用任意命名空間,或者不用,但是要注意保持一致:要用就用一樣的,要么就都不用!

       

      以下是我所參考的文章:

      Schema中elementFormDefault="qualified"所起的作用

      http://blog.csai.cn/user1/15907/archives/2007/16440.html

      XSD schema文件中elementFormDefault 屬性探討

      http://www.rzrgm.cn/chnking/archive/2006/07/12/448849.html

      XML Schema介紹之namespace

      http://www.rzrgm.cn/gzhnan/articles/1108442.html

      還有w3school的

      posted @ 2009-05-20 14:23  永遠的阿哲  閱讀(1091)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产真实精品久久二三区| A级毛片100部免费看| 国产精品黄色片| 日韩卡1卡2卡三卡免费网站| 久人人爽人人爽人人片av| 无码专区 人妻系列 在线| 国产美女久久久亚洲综合| 国产精品无码dvd在线观看| 久久精品亚洲精品国产色婷| 波多野结衣网站| 国产午夜福利视频在线| 香港日本三级亚洲三级| 国厂精品114福利电影免费| 内射老阿姨1区2区3区4区| 欧美精品日韩精品一卡| 办公室强奷漂亮少妇视频| 久9re热视频这里只有精品免费| 狠狠躁天天躁中文字幕无码| 午夜亚洲www湿好爽| 国产精品不卡一区二区在线| 东京热一精品无码av| av午夜福利一片免费看久久| 丝袜a∨在线一区二区三区不卡| 国内熟妇人妻色在线视频 | 麻豆国产成人AV在线播放| 凹凸国产熟女精品视频| 精品一区二区三区日韩版| 美乳丰满人妻无码视频| 精品国产一区二区三区2021 | 台湾佬自拍偷区亚洲综合| 四虎亚洲国产成人久久精品| 无码任你躁久久久久久老妇| 成人亚洲国产精品一区不卡| 我国产码在线观看av哈哈哈网站 | 18分钟处破好疼哭视频在线观看| 免费午夜无码片在线观看影院| 黄色免费在线网址| 国产精品免费看久久久| 国产无遮挡猛进猛出免费| 国产免费丝袜调教视频| 麻豆一区二区三区蜜桃免费|