成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Schema中命名空間對(duì)一致性約束的影響

joyqi / 2907人閱讀

摘要:中命名空間對(duì)一致性約束的影響中有種一致性約束約束約束和約束,這種約束對(duì)命名空間的支持有點(diǎn)小問題,假設(shè)有如下上面的是在元素根元素之內(nèi)定義了唯一約束,定義之下的元素的值必須遵守唯一約束。

Schema中命名空間對(duì)一致性約束的影響
Schema中有3種一致性約束:key約束、keyref約束和unique約束,這3種約束對(duì)命名空間的支持有點(diǎn)小問題,假設(shè)有如下Schema:



  
  
     
      
        
          
          
        
      
        
  
  
  
    
  
    
      
        
          
            
                  
        
      
      
    
          
               
    
  
  


上面的Schema是在元素(根元素)之內(nèi)定義了唯一約束,定義test/item之下的元素的值必須遵守唯一約束。對(duì)于如下XML文檔:



  
  
    1
    dell  
    
  
  
    1
    sony  
  
  


上面的XML文檔中兩個(gè)元素里的子元素的值完全相同,這顯然不符合唯一約束的要求,但這份XML文檔依然是有效的。這是為什么呢?

發(fā)生這個(gè)問題是因?yàn)橐恢滦约s束對(duì)命名空間的支持有點(diǎn)小問題,上面的key.xsd定義一致性約束時(shí)在①、②號(hào)代碼處直接使用了item、id兩個(gè)元素,而沒有任何前綴。本質(zhì)上它們依然處于http://www.xml.org/schema命名...,只是由于指定了xmlns="http://www.xml.org/schema",因此在key.xsd中使用時(shí)無須添加限定短名作為前綴。但一致性約束不這么處理,它的處理規(guī)律是:只要該元素沒有添加任何限定短名,它就認(rèn)為該元素不處在任何命名空間下。也就是說,它約束的并不是http://www.xml.org/schema命名...,而是對(duì)不在任何命名空間下的id進(jìn)行約束,因此上面的key.xml文檔自然也就有效了。

為了解決這個(gè)問題,當(dāng)需要在Schema中對(duì)指定命名空間下的元素添加一致性約束時(shí),必須為其添加限定短名作為前綴??梢园裬ey.xsd該為如下形式:




  
  
     
      
        
          
          
        
      
        
  
  
  
    
  
    
      
        
          
            
                  
        
      
      
    
          
               
    
  
  



上面的updated_key.xsd中為item、id元素定義約束時(shí)指定了sos前綴,于是一致性約束就會(huì)根據(jù)該前綴找到對(duì)應(yīng)的命名空間,完成對(duì)http://www.xml.org/schema命名...。如果上面的key.xml改為使用updated_key.xsd這份Schema作為語義約束,那它就違反了唯一約束,自然也就是無效文檔了。

總結(jié):
當(dāng)需要在Schema中對(duì)指定命名空間下的元素(或?qū)傩?添加像key、keyref或unique約束時(shí),必須為其添加限定短名作為前綴,否則一致性約束會(huì)認(rèn)為只是對(duì)無命名空間的元素(或?qū)傩?添加約束。

參考:
瘋狂XML講義
XML高級(jí)編程

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/110390.html

相關(guān)文章

  • 搞定PHP面試 - MySQL基礎(chǔ)知識(shí)點(diǎn)整理 - 存儲(chǔ)引擎

    摘要:支持崩潰后的安全恢復(fù)。的使用場景更新密集的表存儲(chǔ)引擎特別適合處理多重并發(fā)的更新請(qǐng)求。外鍵約束支持外鍵的存儲(chǔ)引擎只有。引擎是及之前版本的默認(rèn)存儲(chǔ)引擎。文件存儲(chǔ)表的索引。引擎存儲(chǔ)引擎是引擎的變種。 MySQL基礎(chǔ)知識(shí)點(diǎn)整理 - 存儲(chǔ)引擎 0. 查看 MySQL 支持的存儲(chǔ)引擎 可以在 mysql 客戶端中,使用 show engines; 命令可以查看MySQL支持的引擎: mysql> ...

    whatsns 評(píng)論0 收藏0
  • 齒輪數(shù)據(jù)接口標(biāo)準(zhǔn)及應(yīng)用前景

    摘要:德國公司已經(jīng)將標(biāo)準(zhǔn)以及附加程序應(yīng)用在其在全球工廠之間的數(shù)據(jù)交互以及在刀具采購,機(jī)床使用等方面與合作伙伴之間的信息交換,提高了企業(yè)生產(chǎn)效率,節(jié)省了生產(chǎn)成本??蓴U(kuò)展齒輪描述語言齒輪數(shù)據(jù)接口標(biāo)準(zhǔn)主要由可擴(kuò)展齒輪描述語言及數(shù)據(jù)轉(zhuǎn)換接口組成。 為解決齒輪設(shè)計(jì)、制造、測量和在役等各個(gè)階段的數(shù)據(jù)種類和格式繁雜,數(shù)據(jù)交互困難且缺少相應(yīng)自動(dòng)化系統(tǒng)的問題,提出了基于XML語言的可擴(kuò)展齒輪描述語言(eXte...

    dreambei 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<