Re: Test Cases for Canonical XML 2.0 - invalid test case expects invalid xml

I found another test case which has invalid xml as the expected result: 2.3 Start and End Tags - https://www.w3.org/TR/xml-c14n2-testcases/#sec-Example-SETags

In the "After c14n with PrefixRewrite<https://www.w3.org/TR/xml-c14n2-testcases/files/out_inC14N3_c14nPrefix.xml>", the following value is expected:

<n0:doc xmlns:n0="">

 which is again invalid XML per Namespaces in XML 1.0<https://www.w3.org/TR/xml-names/#ns-using> which says:

    "In a namespace declaration<https://www.w3.org/TR/xml-names/#dt-NSDecl> for a prefix<https://www.w3.org/TR/xml-names/#NT-Prefix> (i.e., where the NSAttName<https://www.w3.org/TR/xml-names/#NT-NSAttName> is a PrefixedAttName<https://www.w3.org/TR/xml-names/#NT-PrefixedAttName>), the attribute value<https://www.w3.org/TR/REC-xml/#NT-AttValue> MUST NOT be empty."


Thank you for your time,
Dave Black - https://dave-black.blogspot.com<https://dave-black.blogspot.com/>


________________________________
From: Dave Black <urlsing@hotmail.com>
Sent: Saturday, January 18, 2025 11:47 AM
To: public-xmlsec@w3.org <public-xmlsec@w3.org>
Subject: Test Cases for Canonical XML 2.0 - invalid test case expects invalid xml

Hi,

I'm working on writing an application that implements xml canonicalization and have been using the https://www.w3.org/TR/xml-c14n2-testcases as a reference along with its test data to write unit tests for my application. I found an error in one of the test cases whose expected value results in invalid xml. The test case is for 3.2 Default namespace declarations<https://www.w3.org/TR/xml-c14n2-testcases/#sec-Default>. I sent an email to the editors listed on that page but got bounced back as those email addresses are no longer valid.
The expected xml for the "After c14n with PrefixRewrite<https://www.w3.org/TR/xml-c14n2-testcases/files/out_inNsDefault_c14nPrefix.xml>" is this (which is invalid xml since you cannot have a qualified namespace with an empty uri):

<n0:foo xmlns:n0="">
 <n1:bar xmlns:n1="http://b" att2="val" n1:att1="val"></n1:bar>
</n0:foo>

So I have 2 requests:

  1.
Can you please answer what the correct expected value should be?
  2.
Is it possible for someone to fix the document and its test case.

Thank you for your time,
Dave Black - https://dave-black.blogspot.com<https://dave-black.blogspot.com/>

Received on Saturday, 25 January 2025 22:50:47 UTC