簡體   English   中英

XML 文件的 XML 架構定義 (XSD)

[英]XML Schema Definition (XSD) for XML files

如何檢查 XML 文件是否使用 XML 架構定義 (XSD)? 例如,如果您解壓已簽名的 odt 文件(LibreOffice 或 OpenOffice 文本文檔),則 META-INF 目錄中的簽名文件為 documentsignatures.xml 在此文件中,屬性xmlns為元素<Signature><document-signatures>定義了默認命名空間。 屬性xmlns:xsi既沒有引用 XML 模式實例 (XSI) 名稱空間"http://www.w3.org/2001/XMLSchema-instance"也沒有引用屬性xsi:schemaLocation到 XML 模式文件xmldsig-core-schema.xsd 因此,不應在任何方案下驗證 documentsignatures.xml 文件的全部內容。 那是對的嗎?

以下是相應 XML 文檔documentsignatures.xml的第一行:

<?xml version="1.0" encoding="UTF-8"?>
<document-signatures xmlns="urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0">
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="ID_006900630020002d0084000e004a008b009b00a6006f004b007c007b002d007f">
        <SignedInfo>...

你好

卡倫

“...如何檢查 XML 文件是否使用 XML 架構定義 (XSD)?...”

(1) 如果 XML 文件中沒有通過屬性xsi:schemaLocation嵌入到 XML 模式的xsi:schemaLocation ,則不能。

(2) 但是,無論使用什么 API,它仍然可以針對實際 XML 文件中未提及的某些 XSD 模式進行驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM