schema的命名空間

2021-09-22 18:32:56 字數 1577 閱讀 5304

其實就是像物件引用它內部值的方式,這需要我們在xsl檔案的開頭自己進行定義,來確定命名空間的規則

規則有 定義我們自己的名稱和url位址(這個url是隨便寫的,但要遵守http規則,只是用於區分名稱的),使用外部的規則, 是否要求在本檔案中使用命名空間

正常的這個寫法應該是 先引入預設命名空間,

自定義自己的命名空間

再就是文件內容的書寫

下面案例是

1. 宣告xsd的名字為本文使用的,url是預設的,不會有操作

targetnamespace=「urn:mynamespace」

elementformdefault=「qualified」> 使用時必須是名稱.名稱的方式

2.<?xml version="1.0"?>

rugby jersey

3.schema命名空間的解釋:

3.1首先看product.xsd中的內容。

(1)xmlns:xsd=「,要使用xsd字首,就必須宣告乙個字首為xsd的命名空間。schema規範中的命名空間的值必須用 uri (統一資源標誌符) 指代,一般我們使用url作為namespace。但是parser並不會從中讀取任何資訊。使用url只是為了namespace的唯一性。

(2)targetnamespace=「urn:mynamespace」,這裡的targetnamespace屬性表示了該shema所對應的命名空間的uri。也就是說在引用該schema的其它文件中要宣告命名空間,其uri應該是targetnamespace的屬性值。可以

看到引用了product.xsd的xml檔案productwithxsd.xml中宣告了xsi:schemalocation=「urn:mynamespace product.xsd」,其中product.xsd是productwithxsd.xml的相對路徑。如果product.xsd中沒有targetnamespace屬性,那麼productwithxsd.xml中應改為xsi:nonamespaceschemalocation=「product.xsd」,nonamespaceschemalocation屬性用於引用沒有目標命名空間的模式文件,屬性的值是單一的,只是用於指定模式文件的位置。

(3)elementformdefault=「qualified」,xsd:schema 元素具有 elementformdefault 屬性,這個屬性的有效值是 qualified 和 unqualified,如果該值是 qualified,例項xml根元素及其下所有子元素都必須通過命名空間字首限定目標命名空間。這個命名空間必須是schema中定義的targetnamespace。可以看到引用了product.xsd的xml檔案productwithxsd.xml中宣告了 xmlns=「urn:mynamespace」,宣告中沒有使用字首,元素前也就不用新增字首;如果該值是 unqualified,例項xml的根元素必須有命名空間的的限定,這個命名空間必須是schema中定義的targetnamespace。但是其下子元素無須也不允許用命名空間字首限定目標命名空間。 子元素的命名空間為空命名空間。

3.2再看productwithxsd.xml中的內容。

xmlns:xsi=" 是任何xml例項文件固有的命名空間,當然按照前面所說的命名空間名稱xsi是可以自己規定的。

schema命名空間介紹

schema是用於描述和規範xml文件的 邏輯結構 的一種語言,它最大的作用就是驗證xml 檔案邏輯結構 的正確性。可以理解成與 dtd 文件型別定義 功能差不多 但是schema在當前的web開發環境下優越很多。因為它本身就是乙個有效的xml文件,因而可以更直觀地了解xml的結構。除此之外,sch...

Schema和xml命名空間理解筆記

schema xmlversion 1.0 xsd schema xmlns xsd targetnamespace xmlns elementformdefault qualified xsd element name note xsd complextype xsd sequence xsd e...

C 命名空間 預設命名空間與匿名命名空間

2.匿名命名空間 預設命名空間也叫全域性命名空間,所有沒有置於某一具體命名空間下的 即在預設命名空間下,例如func main 函式。include void func void intmain int argc,char ar void func void 需要注意的是 這個就是類似於c語言裡簡單...