Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - xmlns >Thread Next - Re: xmlns Re: xmlnsTo: NULL Date: 8/4/2005 10:32:00 AM Bob Smith wrote: > hi all, > I pretty new to xml, what does xmlns mean? > like in: > <rdf:RDF > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > xmlns="http://purl.org/rss/1.0/" > xmlns:perljobs="http://jobs.perl.org/rss/" > xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" > xmlns:dc="http://purl.org/dc/elements/1.1/" > xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" > xmlns:admin="http://webns.net/mvcb/" > > tia xmlns is used to bound prefixes to namespace URIs it means that the *universal name* of the <rdf:RDF> element is [ http://www.w3.org/1999/02/22-rdf-syntax-ns# , RDF ] this notation [ URI , local-name ] denotes that the *universal name* is in 2 parts (in most XML papers, it is displayed with another notation : {http://www.w3.org/1999/02/22-rdf-syntax-ns#}RDF but I prefer the former) ; notice that these notations are only for explanation and NEVER appear in real XML documents such names are *universal names* because URIs are unique ; notice that an URI is not necessary an URL : xmlns:foo="urn:guid:88d969c9-f192-11d4-a65f-0040963251e6" xmlns:book="urn:isbn:2-84177-230-6" xmlns:office="urn:schemas-microsoft-com:office:office" namespace URIs are just use to qualify XML names the prefix is just an alias for the URI, but its mean is local to the xmlns declaration (that is to say, applies on its host element and its descendents) <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <foo:RDF xmlns:foo="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> are the same ; the last form doesn't use a prefix, it uses the default namespace attributes are told "owned" by their host elements, so they don't need additional information ; that's why the default namespace doesn't apply to attributes ; sometimes, it is necessary to "add" to an element special purpose attributes, that are often called "foreign attributes" : <image xmlns:xlink="http://www.w3.org/1999/xlink"> xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed" xlink:href="http://www.acme.com/foo/bar.jpg" width="123" height="234" /> some application may recognize a particular namespace URI : -for example, an application might expose an hyperlink in conformance to the XLink specification if it encounters attributes like those above -an XSLT processor will do something special when it encounters <xsl:template> not because the prefix is "xsl" but because this element is in the scope of the xmlns declaration : xmlns:xsl="http://www.w3.org/1999/XSL/Transform" -a graphic application that recognize SVG could draw a rectangle : <svg:svg xmlns:svg "http://www.w3.org/2000/svg" width="18cm" height="6cm" viewBox="0 0 200 120"> <svg:rect x="1" y="1" width="198" height="118" fill="#888888" stroke="blue" /> </svg:svg> if you have to design XML datas, I encourage you to use your own namespace URI with your elements : thus, your application will be able to process these elements without ambiguity ; XML namespaces have been design for that purpose : distinguish elements that could have the same local name, and grouping a set of names "related to the same feature" -- Cordialement, /// (. .) -----ooO--(_)--Ooo----- | Philippe Poulard | ----------------------- | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
