XML namespace: Difference between revisions

Content deleted Content added
FrescoBot (talk | contribs)
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(14 intermediate revisions by 11 users not shown)
Line 1:
{{short description|Method of providing unique elements and attributes in an XML document}}
'''XML namespaces''' are used for providing uniquely named [[Data element|elements]] and attributes in an [[XML]] document. They are defined in a [[World Wide Web Consortium|W3C recommendation]].<ref>{{cite web|last=Bray|first=Tim|title=Namespaces in XML 1.0|url=http://www.w3.org/TR/xml-names/|publisher=[[W3C]]|accessdateaccess-date=9 October 2010|author2=Dave Hollander |author3=Andrew Layman |author4=Richard Tobin |author5=Henry S. Thompson |date=December 2009}}</ref><ref name="timelinehistory">{{cite web |url=http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-HistoryXMLSemanticWebW3CTimeline1.2.pdf |title=XML and Semantic Web W3C Standards Timeline (v.1.2) |access-date=2022-04-02 |archive-date=2022-12-29 |archive-url=https://web.archive.org/web/20221229130856/http://www.dblab.ntua.gr/~bikakis/XMLSemanticWebW3CTimeline1.2.pdf |url-status=dead }}</ref> An XML instance may contain element or attribute names from more than one XML vocabulary. If each vocabulary is given a [[namespace]], the ambiguity between identically named elements or attributes can be resolved.
 
A simple example would be to consider an XML instance that contained references to a customer and an ordered product. Both the customer element and the product element could have a child element named '''id'''. References to the '''id''' element would therefore be ambiguous; placing them in different namespaces would remove the ambiguity.
Line 29:
In this case, any element without a namespace prefix is considered to be in the XHTML namespace, if it or an ancestor has the above default namespace declaration.
 
If there is no default namespace declaration in scope, the namespace name has no value.<ref>{{cite web|url=https://www.w3.org/TR/REC-xml-names/#dt-qualname|title=Namespaces in XML 1.0 (Third Edition)|publisher=W3C|accessdateaccess-date=28 April 2017}}</ref> In that case, an element without an explicit namespace prefix is considered not to be in any namespace.
 
Attributes are never subject to the default namespace. An attribute without an explicit namespace prefix is considered not to be in any namespace.
 
==<span lang="en" dir="ltr">Namespaces</span> in APIs and XML object models ==
 
Different specifications have taken different approaches on how namespace information is presented to applications.