
  usage: hrd [-i] [--import-xml] <command> [<options>] <hrd-file>

  With the option '-i' specfied, the <hrd-file> is modified in place.

  available commands:

    hrd [-i] format <hrd-file>

      Print formatted HRD data. Alternatively to the HRD syntax used
      by default, the output format can be defined via:

      --output-tcl  Print HRD structure as Tcl list with each HRD node
                    represented as a list of the following structure:

                    { type line enabled preface attributes children }

                    The 'children' element is a list of HRD nodes.
                    The 'attributes' element is a list of attributes
                    each represented as a list as follow:

                    { line tag value }

      --output-xml  Print HRD structure as XML

    hrd subnodes <node-path> <hrd-file>

      Query nodes from HRD structure. The <node-path> describes the
      targeted sub trees within the hierarchy as a sequence of HRD
      nodes separated by '| +'.

      Each HRD node can be followed by optional attribute filters
      in the form of '| <tag>: <value>', which are interpreted as
      conditions for the match. If multiple attributes are specified,
      each conditions must apply.

      Example:

      $ hrd subnodes 'config | + start terminal | + route' <hrd-file>

      Prints the 'route' subnode of the 'start' node named 'terminal'.

    hrd get <attr-path> <hrd-file>

      Query attributes value from HRD structure. The <attr-path>
      consists of a <node-path> followed by '| : <tag>' denoting the
      tag to retrieve.

      Example:

      $ hrd get 'config | + start | : name' <hrd-file>

      Prints the name of each 'start' node found in 'config'.

    hrd [-i] set <attr-def> <hrd-file>

      Sets the attribute values specified by <attr-def>, which is
      a <node-path> followed by the delimiter '| :' followed by
      one or more attribute definitions. Each definition has the
      form '<tag>: <value>' and separated from the next one by '|'.

      Example:

      $ hrd set 'config | + start vfs | : caps: 100 | ram: 16M' <hrd-file>

      Sets the attributes 'caps' and 'ram' of the 'start' node named
      'vfs' to the values 100 and 16M respectively.

    hrd [-i] remove <node-path>

      Removes the node(s) specified by the <node-path>.

      Example:

      $ hrd remove 'config | + start | + route' <hrd-file>

      Removes all 'route' sub nodes from each 'start' node hosted
      at the 'config'.

    hrd [-i] disable <node-path>

      Marks nodes specified by <node-path> as disabled, which turns the
      node anchor from '+' to 'x'.

      Example:

      $ hrd disable 'config | + start terminal' <hrd-file>

      Turns the node anchor of the terminal's 'start' node to an 'x'.

    hrd [-i] enable <node-path>

      Reverts the enabled state of nodes addressed by the <node-path>.

