PropertyList XML files: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
No edit summary
(encoding="UTF-8")
Line 12: Line 12:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
  <?xml version="1.0"?>
  <?xml version="1.0" encoding="UTF-8"?>
  <PropertyList>
  <PropertyList>
    
    
Line 21: Line 21:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
  <?xml version="1.0"?>
  <?xml version="1.0" encoding="UTF-8"?>
  <PropertyList>
  <PropertyList>
   <foo type="string">Hello</foo>
   <foo type="string">Hello</foo>
Line 32: Line 32:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
  <?xml version="1.0"?>
  <?xml version="1.0" encoding="UTF-8"?>
  <PropertyList>
  <PropertyList>
   <foo>Hello</foo>  
   <foo>Hello</foo>  
Line 46: Line 46:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
  <?xml version="1.0"?>
  <?xml version="1.0" encoding="UTF-8"?>
  <PropertyList>
  <PropertyList>
   <foo n="0">Hello</foo>  
   <foo n="0">Hello</foo>  
Line 57: Line 57:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
  <?xml version="1.0"?>
  <?xml version="1.0" encoding="UTF-8"?>
  <PropertyList>
  <PropertyList>
   <foo userarchive="y">Hello</foo>  
   <foo userarchive="y">Hello</foo>  

Revision as of 23:40, 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" encoding="UTF-8"?>
 <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" encoding="UTF-8"?>
 <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" encoding="UTF-8"?>
 <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" encoding="UTF-8"?>
 <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" encoding="UTF-8"?>
 <PropertyList>
  <foo userarchive="y">Hello</foo> 
 </PropertyList>

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