<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "cpf.dtd"
[
  <!-- internal entities for substituion -->
  <!ENTITY name "Console">
  <!ENTITY lib "liborocos-rtt">
  <!-- external entity for file substitution -->
  <!ENTITY FILE_NAME SYSTEM "test-entity-child.xml">
]
>

<!--

Demonstrate substitution within XML files. 

This can be used to do some basic configuration, e.g. selecting a hardware 
vs a simulated device. This can be accomplished using two different top
level files, each containing the ENTITY parameters specific to that 
configuration, and then having both top-level files include a child file
 that does all the work. The child file contains the actual ENTITY 
substitutions.

-->

<properties>

  <!-- Include and process the file named FILE_NAME. Using this method instead
	   of Orocos's builtin

  <simple name="Include" type="string">
	<value>test-entity-child.xml</value>
  </simple>

       ensures that the ENTITY references above will still be available.
	   Using the Orocos' include statement does _NOT_ make the above
	   ENTITY references available within the included file.

       NB FILE_NAME can include a relative path. I have had inconsistent
	   success with this - sometimes the relative path is needed, and other
	   times it isn't. I think that it only needs the path relative to this
	   file, so if this file is already loaded on a relative path then you
	   need to specify the child file relative to this file, and not the 
	   current working directory that you started in.

       S Roderick
  -->
  &FILE_NAME;

</properties>

