XML Attribute

Revision as of 17:04, 11 January 2010 by imported>WendyDawson

XML traits are named attributes of XML elements. The XML syntax doesn't specify what traits are possible, only that they be given as TraitName="TraiValue" in the opening tag of an element. Oblivion XML recognizes only three true XML traits: name, src, and trait.

The name trait provides a way to identify elements in a menu file. This trait is used only for Object Elements - property or operator elements are never named. The name of an element need not be unique within the entire menu, but every element should at least have a different name from it's siblings (as discussed below).

<!-- the 'name' trait of this element has the value "PictureFrame" -->
<rect name="PictureFrame"> </rect> 

The src and trait traits are always provided together (except for the special case of the Include Element). They are used only in empty Operator elements, to specify the "contents" of the operator:

<!-- Good -->
<image>
   <x>
     <!-- Add the value of SomeElement's width property -->
     <!-- to the current x value of this image -->
     <add src="SomeElement" trait="width" /> 
   </x>
</image>

The src trait can refer to any menu element by it's name, or can use one of the "relative" sources:

  • Me() - refers to the object element whose property the operator element is modifying.
  • Parent() - refers to the parent of Me(), the object element of which Me() is a child.
  • Sibling(SiblingName) - refers to one of the siblings of Me() - that is, the object elements that are also children of Parent(). The name of the sibling must be provided as an argument - this is why no two siblings should have the same name trait.
  • Child(ChildName) - refers to one of the object elements that are children of Me(). Again, the name must be specified.

The trait trait can refer to any property of the source element. The current value of this property is used as the "contents", or second operand, of the operator.

Custom Essays: Trait