[XML-SIG] [Q] Namespace
Tamito Kajiyama
kajiyama@etl.go.jp
Sun, 22 Nov 98 06:10:25 JST
Lars Marius Garshol <larsga@ifi.uio.no> writes:
|
| * Tamito Kajiyama
| |
| | First, according to the specification (Subsection 5.2), "If the URI
| | in a default namespace declaration is empty, then unprefixed
| | elements in the scope of the declaration are not considered to be in
| | any namespace." I cannot understand what this means. What should a
| | parser do on such unprefixed elements? Really nothing to do?
|
| This is used for turning off a default namespace:
|
| <root xmlns="http://default.namespace.uri/">
| <foo/> <!-- The expanded name is here ns='http://default.namespace.uri/'
| and type='foo' -->
| <bar xmlns=""/> <!-- The expanded name is here ns="" and type="bar -->
| </root>
What should a validating parser do on the unprefixed element `bar'?
| | Second, what is the initial value of the default namespace before
| | the first declaration of the default namespace appears? Is the
| | default namespace undefined at first?
|
| So it is. The namespace is not defined until an explicit declaration
| appears, which is entirely reasonable to me, at least.
When the default namespace is undefined, what should a validating parser
do for unprefixed elements?
| | I think it is reasonable that the namespace associated to the DTD of
| | the XML document, if any, would be the first default namespace.
|
| What do you mean by this? I can't follow you here.
I understand that a namespace has an associated schema (e.g. DTD, RDF
schema), and a parser validates a prefixed element by referring the
schema associated to the namespace prefix. So, If an XML document has
its DTD specified by <!DOCTYPE ...>, there is a namespace associated to
the DTD. Is my understanding correct?
Thank you,
--
KAJIYAMA, Tamito <kajiyama@etl.go.jp>