Many people here on forums have a huge missconception of what XML is and what is can do.
XML is NOT a programming language!
With that out of the way, and without going into too much technical details, let's just say that XML is a tool used to describe data to an application in a very structured way. It is completely up to the application (be it EQ, Winamp, or Internet Explorer browser) and it's internal
XML Parser to determine how to treat the data it's receiving via an XML file.
For example, what's easier to read and understand:
Code:
John,Smith,12/01/75,New York,5"6',220,married,1
or this:
Code:
<Person>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
<BirthDate>
<Month>12</Month>
<Day>01</Day>
<Year>77</Year>
</BirthDate>
<CityOfResidence>New York</CityOfResidence>
<Height>5"6'</Height>
<Weight>220<Weight>
<MaritalStatus>married</MaritalStatus>
<NumberOfChildren>1</NumberOfChildren>
</Person>
There are several XML Parsers available for many programming languages to quickly and efficiently parse the data in 2nd example and retrieve the information. As you can see, the data is also quite self-explanatory, whereas in the 1st example you could only guess what the last digit could stand for.
It is up to the XML Parser to understand what the tags in between the
< and
> are supposed to do with the data. Hence, the functionality is "locked" to whatever was programmed into the parser.
For example, in Winamp3, XML files are used to tell the main about the different components of the particular skin. Note that when the skin changes the functionality of the buttons does not. XML by itself cannot add or change functionality. It can only tell the parser to make the main program do something it was already designed to do.
Same applies to EQ. Its UI Engine was programmed to display particular elements in a finite amount of ways. With XML-formatted UI configuration files we can only tell the engine to use its built-in functions. What we cannot do is make it do something it was never programmed to, such as display gauges vertically, control external applications such as Winamp, etc. (there was a thread on this board about what the New UI cannot do).
Now it is quite possible that the EQ developers will at some time in the future program all the things on our wishlist into the UI's engine and parser thus giving us ability to do more with our skins and mods. It's also possible that there are some "undocumented" features they wouldn't want us to accidentally sumble upon just yet, but for now skinners only have Verant's EQGUI manuals and limitations combined with their own experience and creativity to guide them in making UI skins and mods.
P.S. Whew! This must be the longest post I ever made on this board
Hope this explains a few things. And if you think I'm gonna proof-read this post, you're mistaken, so please forgive any spelling/grammar mistakes