Qt Reference Documentation

QML XmlRole Element

The XmlRole element allows you to specify a role for an XmlListModel. More...

  • List of all members, including inherited members
  • Properties

    Detailed Description

    See also QtDeclarative.

    Property Documentation

    isKey : bool

    Defines whether this is a key role.

    Key roles are used to to determine whether a set of values should be updated or added to the XML list model when XmlListModel::reload() is called.

    See also XmlListModel.

    name : string

    The name for the role. This name is used to access the model data for this role.

    For example, the following model has a role named "title", which can be accessed from the view's delegate:

     XmlListModel {
         id: xmlModel
         XmlRole { name: "title"; query: "title/string()" }
     ListView {
         model: xmlModel
         delegate: Text { text: title }

    query : string

    The relative XPath expression query for this role. The query must be relative; it cannot start with a '/'.

    For example, if there is an XML document like this:

     <?xml version="1.0" encoding="iso-8859-1" ?>
         <book type="Hardcover">
             <title>C++ GUI Programming with Qt 4</title>
             <author>Jasmin Blanchette</author>
             <author>Mark Summerfield</author>
         <book type="Paperback">
             <title>Programming with Qt</title>
             <author>Matthias Kalle Dalheimer</author>

    Here are some valid XPath expressions for XmlRole queries on this document:

     XmlListModel {
         id: model
         // XmlRole queries will be made on <book> elements
         query: "/catalogue/book"
         // query the book title
         XmlRole { name: "title"; query: "title/string()" }
         // query the book's year
         XmlRole { name: "year"; query: "year/number()" }
         // query the book's type (the '@' indicates 'type' is an attribute, not an element)
         XmlRole { name: "type"; query: "@type/string()" }
         // query the book's first listed author (note in XPath the first index is 1, not 0)
         XmlRole { name: "first_author"; query: "author[1]/string()" }

    See the W3C XPath 2.0 specification for more information.


    Thank you for giving your feedback.

    Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.