Canonical XML 2.0前缀重写测试用例疑似错误的技术问询
关于Canonical XML 2.0测试用例中无效XML预期结果的技术求助
我正在开发一个实现Canonical XML Version 2.0(c14n2)规范的NuGet包,完成后会开源到GitHub。在用《Canonical XML 2.0测试用例》编写单元测试时,发现3.2默认命名空间声明场景下的前缀重写测试用例预期结果是无效XML:
原XML:
<foo xmlns:a="http://a" xmlns:b="http://b"> <b:bar b:att1="val" att2="val"/> </foo>
测试用例给出的预期结果:
<n0:foo xmlns:n0=""> <n1:bar xmlns:n1="http://b" att2="val" n1:att1="val"></n1:bar> </n0:foo>
这个预期结果里的<n0:foo xmlns:n0="">使用了绑定空URI的命名空间前缀,不符合XML规范——XML命名空间明确要求绑定到前缀的URI不能是空字符串。
我已经给W3C public-xmlsec邮件列表发了邮件,但一直没收到回复,现在想找熟悉c14n2规范的人帮忙:这个测试用例是不是本身存在错误?或者在实现c14n2时,针对这种场景应该怎么正确处理?
内容的提问来源于stack exchange,提问作者Dave Black
相关产品推荐
相关产品推荐

