XML 规范形式后的命名空间位置

XML namespace location after canonical form

将 XML 转换为其 Canonical 是否涉及将 XML 文档中的 common/repeated XML 名称空间移动到父 XML 节点的过程?

第 4 节中的 W3 XML specification for the C14N11 transform 及其子集简要介绍了这一点,但很难消化。

我在阅读规范时是否正确地传播了重复的命名空间?

例如:

<Message xmlns="urn:abc">
    <head:CreatedDate xmlns:head="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">2020-05-28T00:00:00</head:CreatedDate >
    <head:Two xmlns:head="urn:iso:std:iso:20022:tech:xsd:head.001.001.01"></head:Two>
</Message>

会变成:

<Message xmlns="urn:abc" xmlns:head="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">
    <head:CreatedDate>2020-05-28T00:00:00</head:CreatedDate>
    <head:Two></head:Two>
</Message>

在 XML 之后是规范形式?

None 其中与模式有关。模式和命名空间是完全不同的东西。

C14N 规范中没有任何内容表明名称空间声明应向上传播。它只是说,如果父元素和子元素上存在相同的命名空间,则子元素上的命名空间将被丢弃。