這個 schemavalidate
任務驗證由 XML 架構描述的 XML 檔案。此任務延伸 XmlValidate
任務,提供 XSD 特定的功能。
請注意,巢狀目錄仍會用於查詢提供為架構文件來源的 URL,因此您仍可將查詢委派給目錄,您只需列出所有架構 URI 及其對應的 URL 即可。
此任務支援使用巢狀
<xmlcatalog>
元素<schema>
元素,將命名空間 URI 繫結到 URL 或本機檔案名稱。<dtd>
元素,用於解析 DTD 和實體。<attribute>
元素,用於設定剖析器功能。這些功能可以是任意數量的 http://xml.org/sax/features/
或剖析器可能支援的其他功能。<property>
元素,包含字串屬性此任務僅支援 SAX2 或更新版本的剖析器:指定 SAX1 剖析器會產生錯誤。
屬性 | 說明 | 必要 |
---|---|---|
classname | 要使用的剖析器。 | 否 |
classpathref | 剖析器類別所在位置。選擇性地可以使用內嵌 <classpath> 元素。 |
否 |
disableDTD | 停用 DTD 支援的旗標。DTD 支援是驗證 XSD 檔案本身等內容的必要條件。 | 否;預設為 false |
failonerror | 如果設為 true,則在發生錯誤時會失敗。 |
否;預設為 true |
file | 您要檢查的檔案(選擇性地使用內嵌檔案集)。 | 否 |
fullchecking | 啟用完整架構檢查。速度較慢,但較嚴格。 | 否;預設為 true |
lenient | 如果為 true,則只檢查 XML 文件是否格式正確 |
否 |
noNamespaceFile | 提供無命名空間 XML 內容架構的無命名空間 XSD 檔案檔名 | 否 |
noNamespaceURL | 提供無命名空間 XML 內容架構的無命名空間 XSD 檔案 URL | 否 |
warn | 記錄剖析器警告事件 | 否 |
識別可能用於驗證文件之架構的名稱和位置。
屬性 | 說明 | 必要 |
---|---|---|
命名空間 | 架構命名空間的 URI | 是 |
網址 | 架構的 URL | 兩個中只有一個 |
file | 架構檔案 |
<dtd>
用於指定 DTD 解析的不同位置。
屬性 | 說明 | 必要 |
---|---|---|
公用識別碼 | 要解析的 DTD 的公用識別碼 | 是 |
位置 | 要使用的 DTD 的位置,可以是檔案、資源或 URL | 是 |
<xmlcatalog>
元素用於執行實體解析。
<attribute>
元素用於設定剖析器功能。
可與 Xerces 剖析器一起使用的功能在此定義:設定功能
SAX 功能在此定義:http://xml.org/sax/features/
屬性 | 說明 | 必要 |
---|---|---|
名稱 | 功能的名稱 | 是 |
值 | 功能的布林值 | 是 |
<property>
元素用於設定屬性。這些屬性在此定義,供 Xerces XML 剖析器實作使用:XML 剖析器屬性。屬性可用於設定用於驗證 XML 檔案的架構。
屬性 | 說明 | 必要 |
---|---|---|
名稱 | 功能的名稱 | 是 |
值 | 屬性的字串值 | 是 |
根據 XML 架構驗證文件。文件本身未宣告任何架構,因此需要 noNamespaceFile。
<schemavalidate noNamespaceFile="document.xsd" file="xml/endpiece.xml"/>
宣告新的預設工作 <validate-soap>
,根據相關規格驗證 XSD 和 WSDL 文件。若要驗證 XSD 文件,您還需要在與 XMLSchema.xsd 相同的目錄中提供 XMLSchema.dtd 和 datatypes.dtd,或透過目錄指向這些檔案。所有這些檔案都可以從 W3C 取得。
<presetdef name="validate-soap"> <schemavalidate> <schema namespace="http://schemas.xmlsoap.org/ws/2003/03/addressing" file="${soap.dir}/ws-addressing.xsd"/> <schema namespace="http://www.w3.org/2003/05/soap-envelope" file="${soap.dir}/soap12.xsd"/> <schema namespace="http://schemas.xmlsoap.org/wsdl/" file="${soap.dir}/wsdl.xsd"/> <schema namespace="http://www.w3.org/2001/XMLSchema" file="${soap.dir}/XMLSchema.xsd"/> </schemavalidate> </presetdef>
使用上述定義的預設工作驗證 XML 架構文件。
<validate-soap file="xml/test.xsd"/>