日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java schema名_关于Schema的名字空间

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java schema名_关于Schema的名字空间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本的

XML Schema

的使用就是這樣,下面我們要介紹

XML Schema

的另外一個核心的部分也是

Schema

最關鍵的一個部分,就是關于

Schema

的名字空間(

namespace

)的問題。在上面關于

XML Schema

的介紹中,為了把讀者集中到對

XML Schema

的語法理解上,特意省略了關于名字空間

(namespace)

的介紹。

首先我們還是從簡單的例子著手,見下面的一段代碼:

xsd:schema

targetNamespace='http://www.SampleStore.com/Account'

xmlns:xsd

='http://www.w3.org/2000/08/xmlSchema'

xmlns:ACC

= 'http://www.SampleStore.com/Account'

xsd:element

name='

訂單號碼

' type='xsd:positiveInteger'/

xsd:element

name='

商品編號

' type='ACC:

商品編號類型

'/

xsd:simpleType

name='

商品編號類型

' base='xsd:string'

xsd:pattern

='[A-Z]{1}d{6}'/

!-

上面的一行代碼表示商品編碼的第一個字符應該為字母,后面跟六個阿拉伯數字

--

/xsd:simpleType

現在大家需要把注意力集中到開頭幾行的代碼上來,如下:

xsd:schema

targetNamespace='http://www.SampleStore.com/Account'

xmlns:xsd

='http://www.w3.org/2000/08/xmlSchema'

xmlns:ACC

= 'http://www.SampleStore.com/Account'

實際上,一個給定的

XML Schema

定義了一系列的元素名稱,類型名稱,屬性名稱和屬性組名稱。比如上面的代碼中的訂單號碼、商品編號、商品編號類型等。而這些名稱都有它一定的作用范圍,類似于

C++

中的局部變量的概念。而它們的作用范圍是什么呢?就是在他們的目標名字空間(

target namespace

)中是有效的

,

在上面的代碼中,我們可以看到它的目標名字空間為

http://www.SampleStore.com/Account

需要注意的是,目標名字空間的命名必須遵守

URL

的語義。同時需要注意的是,該目標名字空間并不是指一個具體的文件,僅僅是給它一個名字而已。實際上,在

Schema

中的定義和聲明也可以引用其他的名字空間,我們可以把這種名字空間取名為源名字空間(

source namespaces

)。每一個

Schema

必須有一個目標名字空間,但是可以有多個源名字空間。

實際上,在一個給定的

Schema

中,每一個名稱都是屬于一個特定的名字空間的。名字空間的名稱可能會很長(比如

http://www.SampleStore.com/Account

),但是它們可以用在

XML Schema

中的語義

xmlns

來進行簡化。在上面的例子中,我們用

xsd

(取名為

xsd

是任意的,比如你可以取名為

kkk,tt,ppp,gh

都可以)來表示名字空間

'http://www.w3.org/2000/08/xmlSchema'

,用

ACC

來表示名字空間

http://www.SampleStore.com/Account

。同時我們把

http://www.w3.org/2000/08/xmlSchema

這個名字空間稱為標準名字空間(

standard namespace

),因為它是定義

Schema

語法的標準地

在上面的代碼中,目標名字空間(

targetNamespace

)包含了名字訂單號碼、商品編號、商品編號類型。而名字

schema,element,simpleType,pattern,string

positiveInteger

是屬于標準名字空間

http://www.w3.org/2000/08/xmlSchema

的。也就是說,它們的意義是在

http://www.w3.org/2000/08/xmlSchema

中進行定義的。實際上,所有標準的

XML Schmea

語法、語義和數據結構都在

http://www.w3.org/2000/08/xmlSchema

中進行定義。這樣解析器碰到一個名稱

(

schema,element

等等

)

的時候,就知道應該在哪里去得到關于它的正確的語義的使用方法。

對于標準名字空間和目標名字空間,我們不需要指定它的

SchemaLocation

。因為對于目標名字空間來講,

SchemaLocation

就是文檔自己。對于標準名字空間來講,它是眾所周知的,也不需要指定。而對于源目標空間來講,就需要指定它的

SchemaLocation

。見下面的例子:

schema targetNamespace='http://www.SampleStore.com/Account'

xmlns

='http://www.w3.org/1999/xmlSchema'

xmlns:ACC

= 'http://www.SampleStore.com/Account'

xmlns:PART

= 'http://www.PartnerStore.com/PartsCatalog'

import namespace='http://www.PartnerStore.com/PartsCatalog'

schemaLocation='http://www.ProductStandards.org/repository/alpha.xsd'/

element name='

訂單號碼

' type='positiveInteger'/

element name='

商品編號

' type='ACC:

商品編號類型

'/

simpleType

name='

商品編號類型

' base='string'

pattern ='[A-Z]{1}d{6}'/

/simpleType

element name='

手表

' type='PART:

手表類型

'/

在談關于源目標空間的

schemaLocation

之前,我們先看一下這行代碼:

xmlns='http://www.w3.org/1999/xmlSchema'

它表示什么呢?它表示在文檔中所有的名字前面如果沒有前綴的,就是由

http://www.w3.org/1999/xmlSchema

進行定義和解析的。這樣無疑是很合理的。因為事實上,我們

XML Schema

中的很多名稱

(

比如

schema,element,simpleType,pattern

等等

)

都是來自這個標準名字空間的,反復往前面加前綴,你煩不煩呀?所以干脆把它定義成默認的,所以如果一個名稱前面沒有前綴,就認定它是由

http://www.w3.org/1999/xmlSchema

進行處理的。

好,接下來我們來注意

import namespace='http://www.PartnerStore.com/PartsCatalog'

schemaLocation='http://www.ProductStandards.org/repository/alpha.xsd'/

這段代碼,因為

http://www.PartnerStore.com/PartsCatalog

是一個源名字空間,所以必須指定它的

schemaLocation

,采用關鍵字

import

來引入這個

schemaLocation

注意到下面這行代碼

element name='

手表

' type='PART:

手表類型

'/

它表示元素手表的類型(

type

)手表類型是在

http://www.PartnerStore.com/PartsCatalog

中進行定義的。解析器如果要尋找關于手表類型的定義,需要在名字空間

http://www.PartnerStore.com/PartsCatalog

下進行尋找。

到此為止,你應該對名字空間有了一個比較感性的理解。

posted on 2007-01-19 00:11 苦笑枯 閱讀(160) 評論(0) ?編輯 ?收藏 所屬分類: Xml

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java schema名_关于Schema的名字空间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。