RE: Duplicate namespace prefixes
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@K...] Sent: Thu 1/23/2003 1:43 AM To: 'xml-dev@l...' Cc: Subject: 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@k... > 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>
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format