Methods for converting ExtendScript value to typed XML and vice versa.
Typed XML uses a special set of the tags. Optional "name" attribute defines the name of the equivalent ExtendScript Object's property.
Supported ES types and equivalent XML tags:
ExtendScript type |
Typed XML tag |
string |
string |
number |
number |
boolean |
boolean |
Object |
object |
Array |
array |
XML |
objectXml |
undefined |
undefined |
Note: This module doesn't use E4X because E4X doesn't use a pure javascript syntax. This improves compatibility with other javascript tools, eg. minifiers.
Example:
It will convert this object:
{
city: {
name: 'Prague',
GPS: {N: 50.0904317, E: 14.4000508},
population: 1250000,
beautiful: true,
disneyland: undefined
},
colors: ['red', 'green', 'blue', ['black', 'white']],
myXml: new XML('<abc><a>A</a><b>B</b><c>C</c></abc>')
}
to this XML:
<object>
<object name="city">
<string name="name">Prague</string>
<object name="GPS">
<number name="N">50.0904317</number>
<number name="E">14.4000508</number>
</object>
<number name="population">1250000</number>
<boolean name="beautiful">true</boolean>
<undefined name="disneyland"></undefined>
</object>
<array name="colors">
<string>red</string>
<string>green</string>
<string>blue</string>
<array>
<string>black</string>
<string>white</string>
</array>
</array>
<objectXml name="myXml">
<abc>
<a>A</a>
<b>B</b>
<c>C</c>
</abc>
</objectXml>
</object>
and vice versa.