Re: Significant W3C Confusion over Namespace Meaning and Policy

Le 11 févr. 2005, à 08:17, Bjoern Hoehrmann a écrit :
> * Patrick Stickler wrote:
>> If the semantics of a term changes, [...]
>
> A "term" such as {"http://www.w3.org/1999/xhtml", "title"} does not  
> have
> any semantics per se, so the "semantics" of such a "term" cannot  
> change.

As björn said,

"namespace-uri:attribute-name" doesn't define a _unique_ semantics  
except for "xml" namespace it seems… and even that it's not very clear.  
To make an abstract of the information below:

	The semantics of an attribute is defined (for XML languages) by:
	{Spec Version}
	-> {Rev. number}
	-> {modulo Errata}
	-> {namespace-uri}
	-> {element}
	-> {attribute-name}






Different Levels of defining attributes and elements. HTML and XHTML  
can give a good example.

Spec version
HTML 3.2
	no namespace
	http://www.w3.org/TR/REC-html32-19970114.html
	* Attribute "type"
		- inside "li", "ul" element means the _shape_ style
           of the bullet ("disc", "square" or "circle")
		- inside "li", "ol" element means the _numbering_ style
           of the bullet ("1", "a" or "A" or "i" or "I")
		- inside "input" element means the _widget_ (password,
           ,text, radio, checkbox, submit, ...)

HTML 4.01
	no namespace
	http://www.w3.org/TR/1999/REC-html401-19991224/
	* Attribute type (I will not list the semantics but the elements)
		- a, link
		- object
		- param
		- script
		- style
		- input
		- li
		- ol
		- ul
		- button

XHTML 1.0
	Namespace: "http://www.w3.org/1999/xhtml"
	http://www.w3.org/TR/2002/REC-xhtml1-20020801/
	There are redundancy of features defined at two different places. For  
example

	<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

	* lang="en" will be defined by HTML 4.01 without namespace
	BUT he get ones by the XHTML specification, what does that mean?
	[[[
	lang = language-code [CI]
	This attribute specifies the base language of an
	element's attribute values and text content. The
	default value of this attribute is unknown.
	]]] -  
http://www.w3.org/TR/1999/REC-html401-19991224/struct/ 
dirlang.html#adef-lang

	AND
	[[[
	6.8 Language codes
	The value of attributes whose type is a language
	code ( %LanguageCode in the DTD) refers to a
	language code as specified by [RFC1766], section
	2. For information on specifying language codes in
	HTML, please consult the section on language codes.
	Whitespace is not allowed within the language-code.
	Language codes are case-insensitive.
	]]] -  
http://www.w3.org/TR/1999/REC-html401-19991224/types.html#type-langcode


	* xml:lang="en" will be defined by XML Specification with xml namespace
	[[[
	A special attribute named xml:lang MAY be inserted
	in documents to specify the language used in the
	contents and attribute values of any element in an
	XML document. In valid documents, this attribute,
	like any other, MUST be declared if it is used. The
	values of the attribute are language identifiers as
	defined by [IETF RFC 3066], Tags for the
	Identification of Languages, or its successor; in
	addition, the empty string MAY be specified.
	]]] - http://www.w3.org/TR/2004/REC-xml-20040204/#sec-lang-tag

INTERESTING:
	How a processor is supposed to deal with it?
	In one case the value is defined by RFC 3066 and the other case by RFC  
1766

The conformance of XHTML 1.0 is defined by HTML 4.01, it is said in the  
appendix
	[[[
	- If a user agent encounters an attribute it does
       not recognize, it should ignore the entire
       attribute specification (i.e., the attribute
       and its value).
	- If a user agent encounters an attribute value
       it doesn't recognize, it should use the default
       attribute value.
	]]] -  
http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h- 
B.1

If we jump to XHTML 1.1, we can't use xml:id for example
same namespace than XHTML 1.0
	[[[
	3. When a user agent processes an XHTML document as generic [XML], it  
shall only recognize attributes of type ID (e.g., the id attribute on  
most XHTML elements) as fragment identifiers.
	5. If a user agent encounters an attribute it does not recognize, it  
must ignore the entire attribute specification (i.e., the attribute and  
its value).
	]]] -  
http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/ 
conformance.html#s_conform_user_agent


The "xml" namespace for now is the only namespace which defines  
attributes with a unique semantics accross elements. For all W3C  
specifications, usually an attribute has no particular semantics,  
except the one defined by the element itself inside the specification.


To add to the difficulties, sometimes the namespaces are not changing.  
For example from XHTML 1.0 to XHTML 1.1, there has been new elements  
(coming from Ruby) but without changing the XHTML 1.0 namespace.

What are the rules of applying xml:id to a document. It seems quite  
clear that an XML application (SVG, SMIL, etc.) doesn't necessary  
inherit automatically from xml:id feature) and any kind of XML  
Languages.

It seems to me, that the fact to have xml:id or xml:base doesn't modify  
the language itself, except if the specification specifically mandates  
it as saying something, we are using in this specification xml:id as  
defined per xml:id specification, which also means that xml:id is not  
yet implemented in a W3C specifications. You could have XML processor  
able to recognize xml:id, but there are still no languages proposing  
this feature.



-- 
Karl Dubost - http://www.w3.org/People/karl/
W3C Conformance Manager
*** Be Strict To Be Cool ***

Received on Saturday, 12 February 2005 03:59:41 UTC