xml schema 中elementFormDefault 的用法簡介
一個schema中宣告的元素或者型別只能歸到兩個名稱空間中的某一個去,這兩個是,無名名稱空間和由targetSchema屬性指明的目標名稱空間。而targetSchema屬性只能在xs:schema的定義中宣告,因而,一個schema中的定義的元素或型別只可能歸屬於一個有名名稱空間(但是還有可能歸屬於無名名稱空間)。
當elementFormDefault="qualified" 時,所有全域性元素的子元素將被以預設方式放到目標名稱空間,但是全域性元素或者型別將被放到目標名稱空間;而當elementFormDefault="unqualified" 時,所有全域性元素的子元素將被以預設方式放到無名名稱空間。而屬性的名稱空間類似地由attributeFormDefault="?"來指明。
需要明白的是,elementFormDefault="?" 是有作用域的,並且是被繼承的,除非在子定義中覆蓋父定義。
下面三個例子說明了elementFormDefault的使用效果。紅色表示屬於已名稱空間的元素,藍色表示屬於未名稱空間的元素。
1.定義了目標名稱空間, 全域性elementFormDefault=“unqualified”。這時除了全域性元素或者型別將歸於目標名稱空間外,區域性元素將歸於無名名稱空間。
unqualified.xsd
unqualified.xml
2. 定義了目標名稱空間, 全域性elementFormDefault=“qualified”。當elementFormDefault="qualified" 時,所有全域性元素的子元素將被以預設方式放到目標名稱空間,連同全域性元素或者型別一起。
qualified.xsd
qualified.xml
3. 定義了目標名稱空間, 全域性elementFormDefault=“unqualified”。這時全域性元素(c)或者型別將歸於目標名稱空間。區域性元素(c1,c2)以預設方式歸於無名名稱空間。區域性元素(c3)在區域性定義中使用form=“qualified”覆蓋全域性設定的unqualified,這使得c3歸於目標名稱空間(如果它有子元素,子元素將以預設方式歸於目標名稱空間)。
qualified2.xsd
qualified2.xml
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26651/viewspace-919947/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MYSQL中information_schema簡介MySqlORM
- Apache Avro & Avro Schema簡介ApacheVR
- Json Schema簡介和Json Schema的.net實現庫 LateApexEarlySpeed.Json.SchemaJSON
- Spring 中的 XML schema 擴充套件機制SpringXML套件
- XML Schema定義XML
- 格式校驗利器:JSON Schema 簡介JSON
- MySQL 進階:INFORMATION_SCHEMA 簡介MySqlORM
- Json-schema簡介和應用JSON
- 簡單介紹SQLserver中的declare變數用法SQLServer變數
- js迴圈中reduce的用法簡單介紹JS
- linux命令下jq的用法簡介Linux
- InfluxDB簡介與php用法UXPHP
- 簡單介紹Python中異常處理用法Python
- spring中bean.xml的http://www.springframework.org/schema/bean報錯SpringBeanXMLHTTPFramework
- Python爬蟲教程-20-xml 簡介Python爬蟲XML
- Spring系列-XML schema擴充套件機制SpringXML套件
- 如何給XML Schema增加Annotations標記BHXML
- XML Schema(XSD)詳解:定義 XML 文件結構合法性的完整指南XML
- 聊聊 Spring 的 XML Schema 擴充套件機制的使用方式SpringXML套件
- ASP.NET Web Forms – XML 檔案簡介ASP.NETWebORMXML
- Python中的selenium的簡單用法Python
- JSP簡介以及各種內建物件的用法JS物件
- XML介紹XML
- MSSQL Sql加密函式 hashbytes 用法簡介SQL加密函式
- C++中const的簡單用法C++
- XML和JSON的介紹XMLJSON
- Logback簡介及配置檔案logback.xml詳解XML
- Fedora 中的 Toolbox 簡介
- mssql sqlserver update delete表別名用法簡介SQLServerdelete
- Java Math floor,ceil,rint及round用法簡介Java
- fstream中ifstream和ofstream的簡單用法
- XML Schema 字串資料型別及約束詳解XML字串資料型別
- No grammar constraints (DTD or XML Schema) referenced in the document.的兩種解決辦法AIXML
- mysql的 information_schema 資料庫介紹MySqlORM資料庫
- java 如何簡單快速處理 xml 中的資料JavaXML
- 『簡書API:jianshu 基於golang -- 用法介紹 (2)』APIGolang
- Golang | 簡介channel常見用法,完成goroutin通訊Golang
- 緣起 Dubbo ,講講 Spring XML Schema 擴充套件機制SpringXML套件
- js中Array的方法簡介JS