真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

soap中的xml知識有哪些-創(chuàng)新互聯(lián)

這篇文章主要介紹了soap中的xml知識有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

站在用戶的角度思考問題,與客戶深入溝通,找到吳起網(wǎng)站設(shè)計與吳起網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋吳起地區(qū)。

一、 xml概述
在為soap尋找表述方法時,這個標(biāo)準(zhǔn)的制定者們其實有很多種選擇。但他們最終選擇了盡可能利用現(xiàn)有的技術(shù),把必要的新術(shù)語數(shù)量壓縮到最少。為了描述soap信息的內(nèi)容,這些作者們選擇了xml語言。它的全稱是“extensible Markup Language”,可擴(kuò)展標(biāo)記語言。
xml語言包含的功能非常多,比soap用到或者需要用到的要多的多。比如說,在soap 標(biāo)準(zhǔn)v1.1的第三節(jié)“與xml語言的關(guān)系”部分有說“在soap消息中不得包含文檔類型說明(Document Type Declaration, DTD)”。在soap消息中不得包含處理指令(Processing Instructions)。就soap采納的xml語言標(biāo)準(zhǔn)的有關(guān)內(nèi)容來看,它定義的是soap功能的使用方法。我們很快就能體會到這一決定的英明之處:因為開發(fā)人員在使用soap的時候不需要擁有全功能的xml語法分析器,所以用soap來實現(xiàn)某個解決方案的工作很容易進(jìn)行。為了理解soap,我們先要弄懂以下幾個概念:
1.統(tǒng)一資源標(biāo)識符(Uniform Resource Identifiers, 簡稱URI)。
2.xml語言基礎(chǔ)。
3.xml格式定義。
4.xml名字空間。
5.xml屬性。

1.1 統(tǒng)一資源標(biāo)識符
為了訪問因特網(wǎng)上某個獨一無二的資源項目,必須知道如何從眾多的對象中把它標(biāo)識出來。統(tǒng)一資源描述符(URI)就是給各個資源起的名字。URI的格式:
:
schema-specific-part部分往往還包含一些斜線字符(/),這些斜線字符表示的是路徑中的層次結(jié)構(gòu)。

1.1.1 統(tǒng)一資源定位器(URL)
大家最為熟悉的URI要算是統(tǒng)一資源定位器(Uniform Resource Locator, URL)了,他就是我么通常所說的URL地址。URL地址也要遵守URI標(biāo)識符的地址表示方法。
URL地址中的schema-specific-part部分格式是這樣的:

//:@:/

上述語法中各組成元素的含義如下所示:
1.user:目標(biāo)地址處的用戶名(可選項)。
2.password:分配給用戶user的密碼(可選項)。
3.host:某個網(wǎng)絡(luò)主機(jī)的因特網(wǎng)協(xié)議地址或完整域名(必選項)。
4.port:用來建立連接時使用的端口號。大部分協(xié)議都有默認(rèn)的端口號,比如http在缺省時將使用80端口進(jìn)行通信(可選項)。
5.url-path:訪問某個特定資源的詳細(xì)路徑。緊跟在主機(jī)名或端口號后面的斜線字符(/)不是url-path的組成部分。

1.1.2 統(tǒng)一資源名字(URN)
與無處不在的url地址相比,大多數(shù)web用戶對統(tǒng)一資源名字(Uniform Resource Name, URN)的熟悉程度要差很多。URN與URL的不同之處在于前者不會被解析成一個獨一無二的物理地點。URN是一種永久性的資源標(biāo)識符(不像URL地址那樣會有一些動態(tài)的路徑信息),他們允許來自某個名字空間的其他類型標(biāo)識符被映射到URN空間里來。因此,URN的語法提供了利用現(xiàn)有的各種協(xié)議對字符數(shù)據(jù)進(jìn)行分析和編碼的能力。URN的構(gòu)成規(guī)則也遵守URI的通用性規(guī)定,它的常見格式如下:
::=”urn:””:”

在URN名字里要用字符串”urn:”來表示這是一個URN名字。NID是”Namespace ID”的縮寫,NSS是”Namespace-Specific String”的縮寫,給出的是與NID代表的名字空間有關(guān)的字符串。在遇到URN名字的時候,我們要根據(jù)NID的值來決定如何解釋NSS字符串。在讀取或使用URN名字的時候,要記住前導(dǎo)字符串”urn:”以及內(nèi)容里的字母是分大小寫的。
URL和URN是URI兩種最常見的用法。后面我們還會看到URI的另外一種用法:xml Namespace(xml命名空間)。

1.2 xml基礎(chǔ)
xml語言是在1996-1997年間進(jìn)入人們視線的。下面是xml代碼示例:



    
        framework
        com.**.framework
        1.0-SNAPSHOT
    
    4.0.0
    war

即使你從沒度過xml程序代碼,這個例子也不是很難懂。我們可以通過這段代碼看出xml文檔的一些編寫規(guī)則。
(1)第一行是一條處理指令,作用是聲明這份文檔使用的xml版本和編碼格式,文檔中的這條語句并非不可或缺,但最好還是把它加載里面。
(2)xml文檔必須有一個封閉元素(版本信息不能算作是一個封閉元素)。在例子中project把整個文檔包括在了它的起始標(biāo)記和結(jié)束標(biāo)記之間。它還有幾個子元素,子元素又可以嵌套定義。
(3)這段代碼中的所有單詞都不是xml的關(guān)鍵字。
(4)注意文檔里標(biāo)記不要拼錯了。即使拼錯了,xml語法分析器也會接受這份文檔,但它不會正確解析你的意圖了。如果我們想讓xml語法分析器為我們做一些檢查工作,并且只讀取正確的數(shù)據(jù)結(jié)構(gòu),那可以加上一個文檔類型說明(Document Type Declaration, DTD)或者一個xml大綱(xml schema)。這里不就DTD進(jìn)行討論了,soap技術(shù)規(guī)范的第三小節(jié)也已經(jīng)明確規(guī)定“在soap信息中不得包含文檔類型聲明”。

1.3 xml大綱
xml大綱(xml schema)比DTD的描述能力更強(qiáng)。這兩種事物都提供了對一個xml元素的結(jié)構(gòu)進(jìn)行定義的方法。雖然格式定義和DTD都允許對元素進(jìn)行定義,但只有格式定義允許給出數(shù)據(jù)的類型信息。xml數(shù)據(jù)是基于文本的,它會用字符”4”而不是”0100”這樣的二進(jìn)制形式來表示數(shù)字4(xml允許在信息中對二進(jìn)制數(shù)據(jù)進(jìn)行編碼,這樣使我們能夠把圖像數(shù)據(jù)等內(nèi)容夾在一條xml信息里發(fā)送出去)。

下面給出實例,感受下大綱優(yōu)于DTD的事實。
一個簡單的DTD有一些包含其他元素或字符數(shù)據(jù)的元素。最簡單的元素聲明是這樣的:給出元素的名字,再把元素的內(nèi)容定義為字符數(shù)據(jù)。如下所示:

一個元素可以由其他元素組合而成。如果一個元素不多不少只包含有某個給定元素的一個實例,我們就這樣定義:

 

如果parentElement元素中可能包含零個或多個childElement元素,我們就用一個星號(*)來定義,如下:

 

另外,還可以在一個DTD里指示出元素的組合情況,比如parentElement元素里包含有兩種不同數(shù)據(jù)片段的情況,如下所示:



具體示例,比如圖書館里有很多書,書又有書名,作者,版權(quán)等屬性,那定義的DTD文件Library.dtd可以是:





Library是由零個或多個Book類型的元素組成的。每個Book又是由一個Title元素,零個或多個Author類型的元素和一個Copyright元素組成。Title,Author和Copyright這三種元素都包含著字符數(shù)據(jù)。我們使用這個DTD來檢查xml內(nèi)容,可以定義xml文檔:





    Green Eggs
    Dr.Seuss
    1957


    Windows
    Scott
    2000

語法分析器在需要對數(shù)據(jù)的類型進(jìn)行檢查時會自動加載Library.dtd,并根據(jù)它對文檔的內(nèi)容進(jìn)行檢查。這樣做的好處是顯而易見的,但如果我們還能在“這個元素包含著字符數(shù)據(jù)”以外給出更多的信息豈不是更好?因為各種理由,W3C最終發(fā)布了關(guān)于xml大綱的建議稿。下面用xml大綱重寫剛才的DTD文檔:


    
        
        
        
    
    
    
    

把上面這段代碼存為一個xml文件(一般是xsd后綴)。在使用大綱的時候,只需簡單地在文檔里引用就行了,像下面:


    
        Green Eggs
        Dr.seuss
        < myLibrary:Copyright>1957
    
    …

大綱和文檔都使用了文本“text”。這個字符串的作用是通知語法分析器此文檔里使用的變量名屬于給定URI指定的名字空間。如果URI以x-schema打頭,語法分析器就必須從指定地址加載相應(yīng)的大綱文件。如果沒有其他說明,帶有xmlns聲明的起始標(biāo)記及對應(yīng)的結(jié)束標(biāo)記之間的所有元素都是指定的名字空間的一部分。

1.3.1 數(shù)據(jù)特征
為了更好地對數(shù)據(jù)進(jìn)行定義和類型校驗,xml大綱使用了“數(shù)據(jù)特征(facets)”來定義某個特定的數(shù)據(jù)類型的特性。一個數(shù)據(jù)值域空間的每個特性都必須用一個數(shù)據(jù)特征來定義。而一個“數(shù)據(jù)值域空間”就是一個給定的數(shù)據(jù)類型的全體有效數(shù)據(jù)值的集合。不同的數(shù)據(jù)類型是通過他們各自的數(shù)據(jù)特征來區(qū)分的。xml大綱文檔定義的數(shù)據(jù)特征又分為兩大類:基本特征和非基本特征。
一個基本特征就是某個數(shù)據(jù)值域空間里的數(shù)據(jù)值的一個抽象特性,他給出了這類數(shù)據(jù)值的一個基本特點。數(shù)據(jù)值的基本特征包括:
1.相等
2.順序
3.邊界
4.勢。這是一個集合論的概念。有些值域空間里的值在數(shù)量上是有限的,而一些則是無限的。
5.數(shù)值
6.長度,最小長度,大長度
7.式樣
8.枚舉
9.大內(nèi)邊界,大外邊界,最小內(nèi)邊界,大內(nèi)邊界
10.經(jīng)度
11.數(shù)值范圍
12.編碼方式
13.持續(xù)時間
14.周期

1.3.2 數(shù)據(jù)類型
xml格式定義把數(shù)據(jù)類型和數(shù)據(jù)特征結(jié)合起來,這就使在格式定義中定義的數(shù)據(jù)項有了準(zhǔn)確的含義。www.w3.org/2001/XMLSchema中定義了許多數(shù)據(jù)類型。

1.4 xml命名空間
在上面已經(jīng)見過xml命名空間(xml namespaces)的用法了。命名空間的作用簡單說來就是對用在一段上下文里的一組變量名進(jìn)行定義和聲明。名字空間可以使用任意URN,但前提條件是這個URN必須是獨一無二的。

1.5 xml屬性
出現(xiàn)在這本書里的所有xml文檔都使用了元素來表示數(shù)據(jù)。但大家應(yīng)該知道xml也支持屬性概念。元素必須有起始標(biāo)記和結(jié)束標(biāo)記,屬性則不同,他們不需要標(biāo)記,只要把他們放到元素的起始標(biāo)記里就行了。
對屬性進(jìn)行聲明有三種不同的辦法:
1.精心編寫的xml,但不包含任何DTD或大綱
2.精心編寫的xml,使用一個DTD
3.精心編寫的xml,使用一個或者多個大綱。
第一種辦法能正常運行,但實用環(huán)境中效果并不好,而soap又禁止使用DTD,所以我們就說下第三種方法吧。在xml大綱創(chuàng)建屬性的時候,需要使用attributeType和attribute這兩個關(guān)鍵字。這兩個關(guān)鍵字只在大綱所屬的名字空間里有意義。attributeType用來定義某個類型的特性,而attribute則指出該元素類型定義所針對的對象。
為了使用屬性對book進(jìn)行描述,相應(yīng)的大綱應(yīng)該是下面這個樣子:

  
      
      
      
          
          
      

attributeType的完整語法如下:

default:屬性的默認(rèn)值。
xsi:type:該屬性的數(shù)據(jù)類型。如果選擇的是枚舉類型,還要天上xsi:value。
name:屬性類型的名字。為了對attributeType進(jìn)行類型檢查,必須有一個名字。
required:表明一個包含有attributeType的元素是否必須帶有此處定義的屬性。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“soap中的xml知識有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!


當(dāng)前名稱:soap中的xml知識有哪些-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://weahome.cn/article/gjood.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部