Question

I have the following XML document:

<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
<head></head>
<body>
<div xml:lang="it">
<p begin="00:00:00" end="00:00:02" style="violet">first</p>
</div>
</body>
</tt>

I load the contents into my flash object using AS3 successfully. But how do print/trace the value of the attribute in <div xml:lang="it">? When I try the code:

trace(myxml.children()[1].children()[0].@xml:lang);

The compiler complains about the syntax error presented by the colon.

Was it helpful?

Solution

In your xml there is no 'xml' namespace. Probably you missed it. Should be something like this:

<tt xmlns:xml="http://blabla.com" ... xml:lang="en">

Then you need to declare Namespace instance for accessing xml attributes, tags for that namespace:

var ns:Namespace = new Namespace("xml","http://blabla.com") ;

Then you can use this code to access attribute:

trace(myxml.children()[1].children()[0].@ns::lang);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top