Difference between revisions of "Category:Oblivion XML"
Jump to navigation
Jump to search
m
no edit summary
imported>JRoush |
imported>JRoush m |
||
Line 1: | Line 1: | ||
=== What is XML? === | === What is XML? === | ||
XML stands for [http://en.wikipedia.org/wiki/XML eXtensible Markup Language], a generic syntax used to encode | XML stands for [http://en.wikipedia.org/wiki/XML eXtensible Markup Language], a generic syntax used to encode a series of parent-child relationships. An XML document contains a hierarchy of ''elements'', each described by a set of ''traits''. | ||
In Oblivion, XML is used to encode the user interface. Every button, box, piece of text, and colorful widget in a menu (or the HUD) is an element in that menus XML document. And each of these elements has ''child'' elements that describe it's color, size, graphical texture, location, etc. | |||
=== General Syntax === | === General Syntax === | ||
XML | XML syntax is largely based on HTML syntax. As in HTML, an XML element is defined by opening and closing ''tags'', which are just the type of the element enclosed by angle brackets. For example, the following xml code defines a Text element: | ||
<text> </text> | <text> </text> | ||
Note that the closing tag is denoted by slash. Anything | Note that the closing tag is denoted by slash. | ||
Anything that appears between the opening and closing tags of an element is considered the ''contents'' of that element. This might be raw text or numbers, as in the case of a Text element: | |||
<text> This is the actual text that will be displayed </text> | |||
Or it might be another xml element: | |||
<image> <text> </text> </image> | <image> <text> </text> </image> | ||
In this case, the "inner" element is the ''child'' of the outer element. An element can generally have more than one child elements, and those child elements might have children of their own, and so on. This is what creates the hierarchy that is characteristic of XML. | |||
If an element has no children, like the first example above, then the opening/closing tag syntax can be abbreviated to: | If an element has no children, like the first example above, then the opening/closing tag syntax can be abbreviated to: | ||
<text /> | <text /> | ||
Element traits are written as name/value pairs in the opening tag: | |||
Element ''traits'' are written as name/value pairs in the opening tag: | |||
<image traitname="traitvalue"> </image> | <image traitname="traitvalue"> </image> | ||
Comments can be added to the code by enclosing them with "<!--" and "-->": | Traits are an essential part of XML, in that they can refine & control elements, and differentiate elements of the same type from one another. '''Note''', though, that Oblivion only recognizes a few traits, and instead prefers to refine & control elements using ''child elements''. See the next section, on [[#Oblivion XML Schema]] for more details. | ||
''Comments'' can be added to the code by enclosing them with "<!--" and "-->": | |||
<!-- this is a comment --> | <!-- this is a comment --> | ||
To learn more about XML syntax, read the [http://www.w3.org/XML/ complete specification] or one of the tutorials provided by the World Wide Web Consortium. | To learn more about XML syntax, read the [http://www.w3.org/XML/ complete specification] or one of the tutorials provided by the World Wide Web Consortium. | ||