天天看點

關于xml命名空間(整理中。。。)

對于元素而言,字首》xmlns屬性》預設命名空間

xsd架構中,全局元素或者類型将始終屬于目标命名空間;

xsd架構相當于類,使用該架構的xml檔案相當于對象執行個體;

xsd架構中的targetNamespace 屬性指定命名空間的名稱;

xsd架構的schema元素的直接子集都是全局的(可能是simpleType,complexType,element,attribute 等)elementFormDefault="unqualified" 局部元素屬于無名命名空間 (可在xml相應元素的标記中限定xmlns="")

elementFormDefault="qualified"  局部元素屬于目标命名空間

以上二者用來确定架構中定義的元素隸屬于哪個命名空間(無名 或者 目标)

defaultNamespace   父節點的xmlns屬性的值(和父節點本身的命名空間有差別),沒有指定字首的元素來自預設命名空間;預設命名空間适用于聲明它的元素及其子孫元素中所有沒有字首的元素。注意預設命名空間不直接适用于屬性。 沒有prefix的attribute不屬于任何命名空間(包括預設命名空間)

xmlns="a"     聲明預設命名空間為a

xmlns=""       聲明預設命名空間為空字元串,在聲明範圍内效果跟沒有預設命名空間相同

xmlns:xs="http://www.w3.org/2001/XMLSchema" 聲明命名空間xs,xs由http://www.w3.org/2001/XMLSchema定義

schemaLocation:每一對中的第一個 URI 引用是命名空間名,第二個則是描述命名空間的架構的位置