Mat
Mat

Reputation: 4501

XML, namespaces and E4X

Can someone explain me what exactly namespaces (xmlns="...") in XML are for and how they have to be used in navigating an XML using E4X (..preferrably in ActionScript 3)?

I fail to fully understand their purpose and usage.

Upvotes: 3

Views: 1192

Answers (2)

Michael Kay
Michael Kay

Reputation: 163352

Many people point to James Clark's explanation as one of the clearest:

http://www.jclark.com/xml/xmlns.htm

Upvotes: 1

laurent
laurent

Reputation: 90776

In theory, XML namespaces are used to avoid conflict with tag names. So I can create a namespace that contains a tag named "mytag" and someone else creates a different namespace with the same tag "mytag" and there won't be any conflict. Each "mytag" tag will be clearly differentiated.

In practice, I found that XML namespaces are pretty much useless (how often do you have two developers creating tag for the same XML file?) and just make the parsing annoyingly difficult.

In EX4, you'll need to get the namespace, then prefix each tag with that namespace. So, for example, if you want to access the tag <somenamespace::somename> you will write:

var somenamespace:Namespace = xml.namespace("somenamespace");
var sometag:XML = somenamespace::somename[0];

If you search on Google, you'll find some AS3 classes that remove these useless namespaces from XML to make parsing easier.

Upvotes: 1

Related Questions