[
Lists Home |
Date Index |
Thread Index
]
- From: David Megginson <david@megginson.com>
- To: XML-Dev Mailing list <xml-dev@xml.org>
- Date: 09 Mar 2000 20:31:46 -0500
Ray Whitmer <ray@xmission.com> writes:
> Perhaps I missed something, but would this type of value become
> shredded if you save canonical XML, which reassigns all the prefixes
> but presumably does not know about namespaces in values represented
> by prefixes?
>
> Is that a problem?
Yes, a very big one (and, I think, the main reason for Tim's
opposition). Consider the following document:
<doc:doc xmlns:doc="http://www.acme.com/doc/">
<doc:thing1 foo="doc:x" bar="doc:y"/>
</doc:doc>
How can a general-purpose transformation engine know, for example,
that "doc:" in the 'foo' attribute value is meant to be a Namespace
prefix and the "doc:" in the 'bar' attribute value is not? If I
change the prefix to "xxx", I might want
<xxx:doc xmlns:xxx="http://www.acme.com/doc/">
<xxx:thing1 foo="xxx:x" bar="doc:y"/>
</xxx:doc>
or
<xxx:doc xmlns:xxx="http://www.acme.com/doc/">
<xxx:thing1 foo="doc:x" bar="xxx:y"/>
</xxx:doc>
or
<xxx:doc xmlns:xxx="http://www.acme.com/doc/">
<xxx:thing1 foo="doc:x" bar="doc:y"/>
</xxx:doc>
or
<xxx:doc xmlns:xxx="http://www.acme.com/doc/">
<xxx:thing1 foo="xxx:x" bar="xxx:y"/>
</xxx:doc>
and there's no way to tell except through the relatively expensive
path of consulting a schema. While it's annoying for typists, it's
generally a lot more robust to have
<doc:doc xmlns:doc="http://www.acme.com/doc/">
<doc:thing1 foo="http://www.acme.com/doc/x" bar="doc:y"/>
</doc:doc>
At least now I can tell what's meant without a schema.
All the best,
David
--
David Megginson david@megginson.com
http://www.megginson.com/
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|