[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 3 basic XML questions on: non-determism, reserved symbols,and xml:lang
- From: Mike Brown <email@example.com>
- To: "Roger L. Costello" <firstname.lastname@example.org>
- Date: Wed, 23 May 2001 10:49:46 -0600 (MDT)
>  It was also my understanding that the following symbols are
> "reserved", and may not be used in an instance document's data:
> < > & " '
> Instead, the "escaped" version must be used:
> < > & " '
"<" and "&" must be escaped when they are character data, not markup.
">" must be escaped when it follows "]]" and is character data, not markup
indicating the end of a CDATA section. This is supposedly for (SGML?)
compatibility only. ">" is often escaped even though it doesn't need to
be, for the benefit of human document authors and readers.
A machine can easily tell when ">" is markup or not, but our eyes aren't
quite so good at it. For example, there's nothing wrong with this, but
doesn't it look kinda kooky? <a href="foo">"foo">></a> ... much easier
when it's <a href="foo">"foo">></a>
Quotes need only be escaped when in attribute values that are delimited by
the same kind of quotes.
This info is in the XML spec and is one of the less obtuse portions; you
could have gotten the info there.
>  The purpose of xml:lang is to indicate the language of the contents
> of an element. It was my understanding that xml:lang is a "standard"
> attribute that may be used on any element. However, I have found that
> whenever xml:lang is used on an element it must be declared in the DTD.
> How can it be "standard" if it has to be declared? I guess that
> "standard" does not mean "built-in"?
Again, this is in the spec. It outright says that it must be declared.
I think looking up this info there is probably easier than observing the
behavior of parsers, especially since the parsers may even be buggy.
mike j. brown, software engineer at | xml/xslt: http://skew.org/xml/
webb.net in denver, colorado, USA | personal: http://hyperreal.org/~mike/