PropertyList XML files: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 17: Line 17:
  </PropertyList>
  </PropertyList>
</syntaxhighlight>
</syntaxhighlight>
Property typing is optional, all properties are by default string/unspecified and are transparently converted by the property tree:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 26: Line 28:
  </PropertyList>
  </PropertyList>
</syntaxhighlight>
</syntaxhighlight>
Indexing happens implicitly for identically named properties:
<syntaxhighlight lang="xml">
<?xml version="1.0"?>
<PropertyList>
  <foo>Hello</foo>
  <foo>Hello</foo>
  <foo>Hello</foo>
</PropertyList>
</syntaxhighlight>
so that the three foo tags become foo[0], foo[1], foo[2] in the property tree.
Indexing happens implicitly for identically named properties:
<syntaxhighlight lang="xml">
<?xml version="1.0"?>
<PropertyList>
  <foo n="0">Hello</foo>
  <foo n="1">Hello</foo>
  <foo n="2">Hello</foo>
</PropertyList>
</syntaxhighlight>
To make property settings persistent in between FlightGear sessions, use the userarchive attribute:
<syntaxhighlight lang="xml">
<?xml version="1.0"?>
<PropertyList>
  <foo userarchive="y">Hello</foo>
</PropertyList>
</syntaxhighlight>
For further information please refer to $FG_ROOT/Docs/README.introduction and


[[Category:XML]]
[[Category:XML]]
[[Category:Property Tree]]
[[Category:Property Tree]]

Revision as of 23:23, 5 February 2013

This article is a stub. You can help the wiki by expanding it.

This page is meant is introduce new FlightGear users to the PropertyList XML file format, this is basically an XML based file format specifically created for use by the FlightGear Property Tree.

For additional background information, you'll also want to refer to $FG_ROOT/Docs/README.introduction.

Most configuration files in FlightGear are XML-encoded* property lists. The root element of each file is always named <PropertyList>. Tags are almost always found in pairs, with the closing tag having a slash prefixing the tag name, i.e </PropertyList>. The exception is the tag representing an aliased property. In this case a slash is prepended to the closing angle bracket.

A minimal example of a complete property list encoded XML file, looks like this:

 <?xml version="1.0"?>
 <PropertyList>
  
 </PropertyList>

Property typing is optional, all properties are by default string/unspecified and are transparently converted by the property tree:

 <?xml version="1.0"?>
 <PropertyList>
  <foo type="string">Hello</foo>
  <pi type="float">3.14</pi>
  <boo type="bool">true</boo>
 </PropertyList>

Indexing happens implicitly for identically named properties:

 <?xml version="1.0"?>
 <PropertyList>
  <foo>Hello</foo> 
  <foo>Hello</foo>
  <foo>Hello</foo>
 </PropertyList>

so that the three foo tags become foo[0], foo[1], foo[2] in the property tree.


Indexing happens implicitly for identically named properties:

 <?xml version="1.0"?>
 <PropertyList>
  <foo n="0">Hello</foo> 
  <foo n="1">Hello</foo>
  <foo n="2">Hello</foo>
 </PropertyList>

To make property settings persistent in between FlightGear sessions, use the userarchive attribute:

 <?xml version="1.0"?>
 <PropertyList>
  <foo userarchive="y">Hello</foo> 
 </PropertyList>

For further information please refer to $FG_ROOT/Docs/README.introduction and