How do XML NameSpace aware processors react to NS definations?
David Brownell
db at Eng.Sun.COM
Tue Nov 17 16:36:11 GMT 1998
Amit Rekhi wrote:
>
> * Is the following processing flow for XML NameSpace
> processing correct and sufficient ?
>
> 1)The XML NS aware processor will check for ':' in the element names
> of XML file
Not sufficient -- it must preclude them in places like notation and
entity declarations, or PIs, and accept them in attribute names.
And what about ID, IDREF(S), ENTITY(IES), and NOTATION(S) attribute
values?
Basically, everywhere a name shows up in the XML grammar, processing
must change. See the spec (http://www.w3.org/TR/WD-xml-names); the
section on conformance (6) covers all this.
> 2) When it finds one (as is in <ContentCheck:Alpha>) it would look for
> the xmlns declaration for the prefix encountered
Similarly, <foo ContentCheck:Beta="Gamma"/> ... it makes things a
lot simpler to treat "xmlns:ContentCheck='...'" attributes just like
any others, except when hunting for NS declarations.
> 3) On not finding the xmlns declaration it would flag an error
> then proceed to 5)
Note that the spec doesn't say what flagging an error means with
respect to conformance. Is it fatal, for example? The lack of any
standard error handling in the spec will cause confusion.
> 4) On finding it do nothing and proceed to 5)
While correct, this isn't useful. The application needs some way
to see the namespace associated with an element or an attribute,
and perhaps to list the namespaces available at a given node in an
XML graph. The processor must report the namespace in some way.
> 5) The processor would go back to step 1) for the next element
> encountered
>
> * Am I right in saying that whatever the namespace URI signifies
> is for the application to know not for the XML processor?
It's hard to say without knowing what the difference between the
application and the processor is supposed to be. And I'd say that
the application could realistically _tell_ the processor something
about what it means...
> * It is upto the application , to validate
> the element names prefixed with "xsl" against their definations ,
> which are stored in the XSL DTD at "http://www.w3c.org/TR/WD-xsl "
> Am I correct?
Except that "xsl" isn't reserved, so you could have
<foo:stylesheet xmlns:foo="http://www.w3c.org/TR/WD-xsl">
...
</foo:stylesheet>
and the application would be required to treat it as XSL, with
templates, process-children, and so on.
- Dave
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list