內容摘要:XML Schema如同DTD一樣是負責定義和描述XML文件的結構和內容模式。它可以定義XML文件中存在哪些元素和元素之間的關係,並且可以定義元素和屬性的資料類型。
什麼是XML Schema
XML Schema如DTD一樣是負責定義和描述XML文件的結構和內容模式。它可以定義XML文件中存在哪些元素和元素之間的關係,並且可以定義元素和屬性的資料類型。
XML Schema本身是一個XML文檔,它符合XML語法結構。可以用通用的XML解析器解析它。
為什麼要使用Schema
我們前面已經使用DTD來定義一個XML的結構和資料類型,那為什麼還要Schema呢?
因DTD有著不少缺陷:
1) DTD是基於正規表示式的,描述能力有限;
2) DTD沒有資料類型的支持,在大多數應用環境下能力不足;
3) DTD的約束定義能力不足,無法對XML實例文件作出更細緻的語意限制;
4) DTD的結構不夠結構化,重複使用的代價相對較高;
5) DTD並非使用XML作為描述手段,而DTD的建構與存取並沒有標準的程式設計##介面#,無法使用標準的程式設計方式進行DTD維護。
而XML Schema正是針對這些DTD的缺點而設計的,XML Schema的優點:1) XML Schema基於XML,沒有專門的語法2) XML可以像其他XML檔案一樣解析和處理3) XML Schema支援一系列的資料型別(int、float、Boolean、date等)4) XML Schema提供可擴充的數據模型。 5) XML Schema支援綜合命名空間6) XML Schema支援屬性組。 一個簡單的XML Schema文件<quantity>5</quantity>下面的XML片段是非法的:
<quantity>-4</quantiy>Schema中的類型Schema中主要包括三種部件:元素(element)、屬性(attribute)、註解(notation)。 這三種基本的部件還能組合成以下的部件:a) 類型定義部件: 簡單類型和複合類型b)群組部件
c)屬性組部件簡單類型
<quantity>some</quantity>所有內建的簡單型別原始型別
string,boolean,decimal,float,double,duration datetime,time,date,gYearMonth,gYear,gMonthDay, dDay,gMonth,hexBinary,base64Binary,any URI,QName NOTATION衍生型別(括號中為基底型別)
normalizedString(string),language(tonken),token(normalizedString) NMTOKEN(token),Name(token),NCName(Name),ID(NCName),IDREF(NCName) IDREFS(list of IDREF),ENTITY(NCName),ENTITIES(list of ENTITY) integer(decimal),nonPositiveInteger(integer), negativeInteger(noPositiveInteger),long(integer),int(long), short(int),byte(short),nonNegativeInteger(integer) unsignedLong(nonNegativeInteger),unsignedInt(unsignedLong), unsignedShort(unsignedInt),unsignedByte(unsignedShort), positiveInteger(nonNegativeInteger)建立簡單型別
繼承過來的,minInclusive和maxInclusive定義了它的最小值2和最大值5。最後我們定義元素quantity的類型為quantityType。
正确: <quantity>3</quantity> 错误: <quantity>10</quantity> <qauntity>aaa</quantity>使用restriction我們可以限制只能接受一定數值或只能接受一定文字,
基本方面:equal,ordered,bounded,cardinality,numeric 限制方面:length,minLength,maxLength pattern,enumeration whiteSpace maxInclusive,maxExclusive,minInclusive,minExclusive totalDigits,fractionDigits簡單類型的例子1
正确: <ourSKU>123-AB</ourSKU> 错误: <ourSKU>abc-AB</ourSKU> <ourSKU>123-ab</ourSKU>簡單類型的例子2
以上是XML Schema全接觸的圖文代碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

RSS和XML在現代Web中依然重要。 1.RSS用於發布和分發內容,用戶可通過RSS閱讀器訂閱並獲取更新。 2.XML作為標記語言,支持數據存儲和交換,RSS文件基於XML。

RSS可以實現多媒體內容嵌入、條件訂閱、以及性能和安全性優化。 1)通過標籤嵌入多媒體內容,如音頻和視頻。 2)使用XML命名空間實現條件訂閱,允許訂閱者根據特定條件篩選內容。 3)通過CDATA節和XMLSchema優化RSSFeed的性能和安全性,確保穩定性和符合標準。

RSS是一種基於XML的格式,用於發布常更新的數據。作為Web開發者,理解RSS能提升內容聚合和自動化更新能力。通過學習RSS結構、解析和生成方法,你將能自信地處理RSSfeeds,優化Web開發技能。

RSS選擇XML而不是JSON是因為:1)XML的結構化和驗證能力優於JSON,適合RSS複雜數據結構的需求;2)XML當時有廣泛的工具支持;3)RSS早期版本基於XML,已成標準。

RSS是一種基於XML的格式,用於訂閱和閱讀頻繁更新的內容。它的工作原理包括生成和消費兩部分,使用RSS閱讀器可以高效獲取信息。

RSS文檔的核心結構包括XML標籤和屬性,具體解析和生成步驟如下:1.讀取XML文件,處理和標籤。 2.提取、、等標籤信息。 3.處理自定義標籤和屬性,確保版本兼容性。 4.使用緩存和異步處理優化性能,確保代碼可讀性。

JSON、XML和RSS的主要區別在於結構和用途:1.JSON適用於簡單數據交換,結構簡潔,易於解析;2.XML適合複雜數據結構,結構嚴謹但解析複雜;3.RSS基於XML,用於內容髮布,標準化但用途有限。

XML/RSS訂閱源的處理涉及解析和優化,常見問題包括格式錯誤、編碼問題和元素缺失。解決方案包括:1.使用XML驗證工具檢查格式錯誤;2.確保編碼一致性並使用chardet庫檢測編碼;3.處理元素缺失時使用默認值或跳過該元素;4.使用高效解析器如lxml和緩存解析結果以優化性能;5.注意數據一致性和安全性,防止XML注入攻擊。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器