[
Lists Home |
Date Index |
Thread Index
]
Prefixes bound to namespaces names are [typically inconsequential] syntactic sugar. W3C XML Schema is particularly unconcerned with prefixes used by element and attribute information items. However given that DTDs predate the Namespaces in XML recommendation they do not ignore prefixes which does lead to the problems you pose in the latter part of your question.
Bottom line, if you use XSD validation you can either change your prefixes for readability
e.g.
<transA:Root xmlns:transA="www.companyA.co.uk/transaction/2003/version1"
xmlns:trans="www.example.com/trans">
<transA:our-element />
<trans:their-element />
</transA:Root>
or use the same prefix and alternate URIs bound to that prefix which is slightly more unreadable and can lead to problems if there are similarly named elements or attributes from both namespaces, see below
<trans:Root xmlns:trans="www.companyA.co.uk/transaction/2003/version1">
<trans:an-element /> <!-- ours -->
<trans:an-element xmlns:trans="www.example.com/trans"/> <!-- theirs -->
<trans:our-element /> <!-- ours -->
</transA:Root>
If you want to do DTD validation you may be better off switching prefixes used in your XML documents unless you are sure there is no overlap in the names of the elements or attributes from either namespace.
-----Original Message-----
From: Morcom, Harvey [mailto:Harvey.Morcom@KPMG.co.uk]
Sent: Thu 1/23/2003 1:43 AM
To: 'xml-dev@lists.xml.org'
Cc:
Subject: [xml-dev] Duplicate namespace prefixes
I have just started to work with XML and I am beginning to look at
validation with DTDs and XML Schemas. I think I have grasped the need for
and usage of namespaces within XML however, I am stumbling over the use of
prefixes.
For example, company A decides to create their own vocabulary using the URI
www.companyA.co.uk/transaction/2003/version1 and rather than using this as
the default namespace they prefix all their elements with trans. A few
months down the line and a vast number of documents later they come across a
vocabulary they wish to include within their own. However, this vocabulary
also uses the namespace prefix trans. Even though the URIs are distinct the
prefixes are the same.
Does this cause problems when validating the XML i.e. the prefixes are
identical and a prefix can only be associated with one URI at a time? Do
they now need to change their prefix from trans to transcompanyA in all
their XML? or more likely I am missing something when it comes to validating
XML which uses namespaces?
Apologies if this question has an obvious answer, but it has been rattling
around in my mind for some time.
Harvey
> Harvey Morcom
> Knowledge Analyst
> harvey.morcom@kpmg.co.uk
> Tel: 788 6090 (020 7694 6090)
>
Email Disclaimer
This email has been sent from KPMG LLP, a UK limited
liability partnership, or from one of the companies within
its control (which include KPMG Audit Plc , KPMG United
Kingdom Plc and KPMG UK Limited). The information in
this email is confidential and may be legally privileged.
It is intended solely for the addressee. Access to this
email by anyone else is unauthorised. If you are not the
intended recipient, any disclosure, copying, distribution
or any action taken or omitted to be taken in reliance on it,
is prohibited and may be unlawful. When addressed to
our clients any opinions or advice contained in this email
are subject to the terms and conditions expressed in the
governing KPMG client engagement letter.
-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>
|