The model has two types of nodes: elements & attributes.

    <directory name=''>
        <file name=''>
        </file>
    </directory>

  In Qt::XmlNodeModelIndex we store two values. Qt::XmlNodeIndex::data()
  is treated as a signed int, and it is an index into m_fileInfos
  unless it is -1, in which case it has no meaning and the value
  of Qt::XmlNodeModelIndex::additionalData() is a Type name instead.

  The constructor passes \a pool to the base class, then loads an
  internal vector with an instance of Qt::XmlName for each of the
  strings 'file', 'directory', 'fileName', 'filePath', 'size',
  'mimeType', and 'suffix'.
  Returns the Qt::XmlNodeModelIndex for the model node representing
  the directory \a dirName.

  It calls Qt::Dir::cleanPath(), because an instance of Qt::FileInfo
  constructed for a path ending in '/' will return the empty string in
  fileName(), instead of the directory name.
  Since the value will always be in m_fileInfos, it is safe for
  us to return a reference to it.
  Returns the model node index for the node specified by the
  Qt::FileInfo and node Type.
  or
  Returns the model node index for the node specified by the
  Qt::FileInfo, which must be a  Type::File or Type::Directory.
  This private helper function is only called by nextFromSimpleAxis().
  It is called whenever nextFromSimpleAxis() is called with an axis
  parameter of either \c{PreviousSibling} or \c{NextSibling}. 
  This function is called by the QtXmlPatterns query engine when it
  wants to move to the next node in the model. It moves along an \a
  axis, \e from the node specified by \a nodeIndex.

  This function is usually the one that requires the most design and
  implementation work, because the implementation depends on the
  perhaps unique structure of your non-XML data.

  There are \l {Qt::AbstractXmlNodeModel::SimpleAxis} {four values} for
  \a axis that the implementation must handle, but there are really
  only two axes, i.e., vertical and horizontal. Two of the four values
  specify direction on the vertical axis (\c{Parent} and
  \c{FirstChild}), and the other two values specify direction on the
  horizontal axis (\c{PreviousSibling} and \c{NextSibling}).

  The typical implementation will be a \c switch statement with
  a case for each of the four \a axis values.
  No matter what part of the file system we model (the whole file
  tree or a subtree), \a node will always have \c{file:#/} as
  the document URI.
  This function returns Qt::XmlNodeModelIndex::Element if \a node
  is a directory or a file, and Qt::XmlNodeModelIndex::Attribute
  otherwise.
  No order is defined for this example, so we always return
  Qt::XmlNodeModelIndex::Precedes, just to keep everyone happy.
  Returns the name of \a node. The caller guarantees that \a node is
  not null and that it is contained in this node model.
  Always returns the Qt::XmlNodeModelIndex for the root of the
  file system, i.e. '/'.
  Returns the typed value for \a node, which must be either an
  attribute or an element. The Qt::Variant returned represents the atomic
  value of an attribute or the atomic value contained in an element.

  If the Qt::Variant is returned as a default constructed variant,
  it means that \a node has no typed value.
  Returns the attributes of \a element. The caller guarantees
  that \a element is an element in this node model.

13 POD Errors

The following errors were encountered while parsing the POD:

Around line 42:

=begin without a target?

Around line 86:

=begin without a target?

Around line 105:

=begin without a target?

Around line 120:

=begin without a target?

Around line 149:

=begin without a target?

Around line 192:

=begin without a target?

Around line 261:

=begin without a target?

Around line 274:

=begin without a target?

Around line 293:

=begin without a target?

Around line 305:

=begin without a target?

Around line 320:

=begin without a target?

Around line 332:

=begin without a target?

Around line 376:

=begin without a target?