[英]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.