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)?..."..."=18 =]
(1) 如果 XML 文件中没有通过属性 xsi:schemaLocation
对 XML 模式的嵌入引用,则不能。
(2) 但是,无论使用什么 API,它仍然可以针对实际 XML 文件中未提及的某些 XSD 模式进行验证。
如何检查 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)?..."..."=18 =]
(1) 如果 XML 文件中没有通过属性 xsi:schemaLocation
对 XML 模式的嵌入引用,则不能。
(2) 但是,无论使用什么 API,它仍然可以针对实际 XML 文件中未提及的某些 XSD 模式进行验证。