java xml 验证工具_验证xml格式
原文鏈接http://zhhll.icu/2020/12/20/xml/xml%E7%9A%84%E6%A0%BC%E5%BC%8F/
驗證xml格式
DTD驗證
可以使用DTD來定義XML文檔的合法構建模塊。DTD可以寫在文檔內部,也可以另外寫一個文件
文檔內部
]>
ll
zh
DTD包含在以上格式的聲明中
元素聲明]>
外部文檔
如果DTD位于XML源文件外部,應該封裝在一個DTD文檔中,并在XML中聲明
DTD結構
元素聲明的語法格式
元素內容說明的格式
#PCDATA
關鍵字#PCDATA說明元素包含字符數據,內容只能是字符數據
例:
]>
張三
子元素
說明元素包含的是子元素。當一個元素只包含子元素時而沒有字符數據時,表示此元素類型具有元素型類型。在該類型的元素聲明時,通過內容模型來指定在其內容上的約束(內容模型是決定子元素類型和子元素出現順序的一種簡單語法)
例:
]>
ll
zh
復雜一些的內容模型為
混合內容
既可以包含子元素,也可以包含字符數據(使用混合內容模型時,#PCDATA關鍵字必須是模型中的第一個選項,不能再模型中使用逗號、問號或加號。只能用豎線來分隔#PCDATA和元素)
]>
郵件
EMPTY
關鍵字EMPTY表明該元素既不包含字符數據,也不包含子元素,是一個空元素
例:
ANY
關鍵字ANY表明該元素可以包含任何字符數據和子元素
XML Schema Definition
在DTD之后,W3C推出了新的規范來驗證xml格式:XML Schema Definition
Schema語法格式
// 指定了schema中用到的元素和數據類型來自的命名空間 還規定了來自此命名空間的元素和數據類型應該使用前綴xs: xmlns:xs="http://www.w3.org/2001/XMLSchema"
// 說明此schema定義的元素來自的命名空間
targetNamespace="http:///j2j.idril.cn"
// 指定了默認的命名空間
xmlns="http://j2j.idril.cn"
// 指出任何XML實例文檔所使用的且在此schema中聲明過的元素必須被命名空間限定
elementFormDefault="qualified">
// 簡易元素(僅包含文本的元素,不會包含子元素或屬性)
// 常用的type有xs:strig、xs:decimal、xs:integer、xs:Boolean、xs:date、xs:time
// 屬性
// 常用的type有xs:strig、xs:decimal、xs:integer、xs:Boolean、xs:date、xs:time
// 限定 用于XML元素或者屬性定義可接受的值
// 復合元素
Schema的使用
同樣的,在xml中需要聲明Schema
ll
zh
// 規定了默認的命名空間的聲明
xmlns="http://j2j.idril.cn"
// 定義了XML Schema實例命名空間
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
// 包含兩個值 第一個值是需要使用的命名空間 第二個值是供命名空間使用的XML Schema的位置
xsi:schemaLocation="http://j2j.idril.cn node.xsd"
由于本身的博客百度沒有收錄,博客地址http://zhhll.icu
總結
以上是生活随笔為你收集整理的java xml 验证工具_验证xml格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: infinity mysql_MySql
- 下一篇: java xfire下载_XFIRE教程