This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 8984 - Invalid XMLLiteral definition of namesspace-well-formed XML fragments is too weak
Summary: Invalid XMLLiteral definition of namesspace-well-formed XML fragments is too ...
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML+RDFa (editor: Manu Sporny) (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Manu Sporny
QA Contact: HTML WG Bugzilla archive list
URL: http://dev.w3.org/html5/rdfa/#parsing...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-14 06:58 UTC by Maciej Stachowiak
Modified: 2011-08-04 05:06 UTC (History)
4 users (show)

See Also:


Attachments

Description Maciej Stachowiak 2010-02-14 06:58:33 UTC
Section 4.2 Invalid XMLLiteral values says:

'When generating literals of type XMLLiteral, the processor must ensure that the output XMLLiteral is a namespace well-formed XML fragment. A namespace well-formed XML fragment has the following properties:

* The XML fragment, when placed inside of a single root element, must validate as well-formed XML. The normative language that describes a well-formed XML document is specified in Section 2.1 "Well-Formed XML Documents" of the XML specification.

* A case-insensitive match for the currently active xmlns attribute as well as all currently active attributes starting with xmlns: must be preserved in the generated XMLLiteral. This preservation must be accomplished by placing all active namespaces in each top-level element in the generated XMLLiteral, taking care to not over-write pre-existing namespace values.'

That set of properties appears to be too weak. It does not seem to guarantee that the fragment placed in a root element would be namespace well-formed for instance. It is required to be well-formed, but the second requirement does not seem like it would render it namespace-well-formed.
Comment 1 Manu Sporny 2010-02-16 04:24:46 UTC
RDFA-SPEC-SECTIONS [invalid-xmlliteral-values]
Comment 2 Manu Sporny 2010-05-04 03:56:28 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are
satisfied with this response, please change the state of this bug to CLOSED. If
you have additional information and would like the editor to reconsider, please
reopen this bug. If you would like to escalate the issue to the full HTML
Working Group, please add the TrackerRequest keyword to this bug, and suggest
title and text for the tracker issue; or you may create a tracker issue
yourself, if you are able to do so. For more details, see this document:

http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Fixed

Change Description: 

Reworded Invalid XMLLiteral values section, bullet item #2:

"""
* The XML fragment, when placed inside of a single root element, must retain all active namespace information. The currently active attributes declared using xmlns and xmlns: stored in the RDFa Processor's current evaluation context in the list of URI mappings must be preserved in the generated XMLLiteral. The PREFIX value for xmlns:PREFIX must be transformed to all lower-case characters when preserving the value in the XMLLiteral. All active namespaces declared via xmlns and xmlns: must be placed in each top-level element in the generated XMLLiteral, taking care to not overwrite pre-existing namespace values.
"""

and added an extra example:

"""
Similarly, compound document elements that reside in different namespaces must have their namespaces declarations preserved:

<p xmlns:ex="http://example.org/vocab#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:fb="http://www.facebook.com/2008/fbml">
 This is how you markup a user in FBML:
 <span property="ex:markup" datatype="rdf:XMLLiteral">
&#8594;<p><fb:user uid="12345">The User</fb:user></p>
&#8594;</span>
The markup above should produce the following triple, which preserves the fb namespace in the corresponding triple:

<>
   <http://example.org/vocab#markup>
      "<p xmlns:fb="http://www.facebook.com/2008/fbml">
&#8594;<fb:user uid="12345">
&#8594;</p>"^^http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral .
"""

Rationale:

The previous text did specify that all namespace declarations should be preserved on the top-most element, thus ensuring a namespace-well-formed XMLLiteral. Since the reader missed this, the text has been re-worded to make this more clear as well as add the requirement that the xmlns prefix value should be forced to lower-case to ensure compatibility between HTML and XHTML documents.
Comment 3 Michael[tm] Smith 2011-08-04 05:06:23 UTC
mass-move component to LC1