QXmlNodeModelIndex

Inheritance diagram of QXmlNodeModelIndex

Synopsis

Functions

Static functions

Detailed Description

The PySide.QtXmlPatterns.QXmlNodeModelIndex class identifies a node in an XML node model subclassed from PySide.QtXmlPatterns.QAbstractXmlNodeModel .

PySide.QtXmlPatterns.QXmlNodeModelIndex is an index into an XML node model . It contains:

Because PySide.QtXmlPatterns.QXmlNodeModelIndex is intentionally a simple class, it doesn’t have member functions for accessing the properties of nodes. For example, it doesn’t have functions for getting a node’s name or its list of attributes or child nodes. If you find that you need to retrieve this kind of information from your query results, there are two ways to proceed.

  • Send the output of your XQuery to an XML receiver , or
  • Let your XQuery do all the work to produce the desired result.

The second case is explained by example. Suppose you want to populate a list widget with the values of certain attributes from a set of result elements. You could write an XQuery to return the set of elements, and then you would write the code to iterate over the result elements, get their attributes, and extract the desired string values. But the simpler way is to just augment your XQuery to finding the desired attribute values. Then all you have to do is evaluate the XQuery using the version of QXmlQuery.evaluateTo() that populates a PySide.QtCore.QStringList , which you can send directly to your widget.

PySide.QtXmlPatterns.QXmlNodeModelIndex doesn’t impose any restrictions on the data value an PySide.QtXmlPatterns.QXmlNodeModelIndex should contain. The meaning of the data left to the associated node model . Because PySide.QtXmlPatterns.QXmlNodeModelIndex depends on a particular subclass of PySide.QtXmlPatterns.QAbstractXmlNodeModel for its existence, the only way you can create an instance of PySide.QtXmlPatterns.QXmlNodeModelIndex is by asking the node model to create one for you with QAbstractXmlNodeModel.createIndex() . Since that function is protected, it is usually a good idea to write a public function that creates a PySide.QtXmlPatterns.QXmlNodeModelIndex from arguments that are appropriate for your particular node model.

A default constructed node index is said to be null, i.e., PySide.QtXmlPatterns.QXmlNodeModelIndex.isNull() returns true.

PySide.QtXmlPatterns.QXmlNodeModelIndex and PySide.QtXmlPatterns.QAbstractXmlNodeModel follow the same design pattern used for PySide.QtCore.QModelIndex and PySide.QtCore.QAbstractItemModel .

class PySide.QtXmlPatterns.QXmlNodeModelIndex
class PySide.QtXmlPatterns.QXmlNodeModelIndex(other)
Parameters:otherPySide.QtXmlPatterns.QXmlNodeModelIndex

Default constructor. Creates an item that is null .

Standard copy constructor. Creates a PySide.QtXmlPatterns.QXmlNodeModelIndex instance that is a copy of other .

PySide.QtXmlPatterns.QXmlNodeModelIndex.NodeKind

Identifies a kind of node.

Constant Description
QXmlNodeModelIndex.Attribute Identifies an attribute node
QXmlNodeModelIndex.Text Identifies a text node
QXmlNodeModelIndex.Comment Identifies a comment node
QXmlNodeModelIndex.Document Identifies a document node
QXmlNodeModelIndex.Element Identifies an element node
QXmlNodeModelIndex.Namespace Identifies a namespace node
QXmlNodeModelIndex.ProcessingInstruction Identifies a processing instruction.

Note that the optional XML declaration at very beginning of the XML document is not a processing instruction

PySide.QtXmlPatterns.QXmlNodeModelIndex.Constants
PySide.QtXmlPatterns.QXmlNodeModelIndex.DocumentOrder

Identifies the specific node comparison operator that should be used.

Constant Description
QXmlNodeModelIndex.Precedes Signifies the \<\< operator. Test whether the first operand precedes the second in the document.
QXmlNodeModelIndex.Follows Signifies the \>\> operator. Test whether the first operand follows the second in the document.
QXmlNodeModelIndex.Is Signifies the is operator. Test whether two nodes have the same node identity.
PySide.QtXmlPatterns.QXmlNodeModelIndex.additionalData()
Return type:PySide.QtCore.qint64

Returns the second data value. The node index holds two data values. PySide.QtXmlPatterns.QXmlNodeModelIndex.data() returns the first one.

static PySide.QtXmlPatterns.QXmlNodeModelIndex.create(data, nm, addData)
Parameters:
Return type:

PySide.QtXmlPatterns.QXmlNodeModelIndex

static PySide.QtXmlPatterns.QXmlNodeModelIndex.create(d, nm)
Parameters:
Return type:

PySide.QtXmlPatterns.QXmlNodeModelIndex

PySide.QtXmlPatterns.QXmlNodeModelIndex.data()
Return type:PySide.QtCore.qint64

Returns the first data value. The node index holds two data values. PySide.QtXmlPatterns.QXmlNodeModelIndex.additionalData() returns the second one.

PySide.QtXmlPatterns.QXmlNodeModelIndex.internalPointer()
Return type:void

Returns the first data value as a void* pointer.

PySide.QtXmlPatterns.QXmlNodeModelIndex.isNull()
Return type:PySide.QtCore.bool

Returns true if this PySide.QtXmlPatterns.QXmlNodeModelIndex is a default constructed value, otherwise false.

A null PySide.QtXmlPatterns.QXmlNodeModelIndex doesn’t represent any node and cannot be used in conjunction with PySide.QtXmlPatterns.QAbstractXmlNodeModel .

PySide.QtXmlPatterns.QXmlNodeModelIndex.model()
Return type:PySide.QtXmlPatterns.QAbstractXmlNodeModel

Returns the PySide.QtXmlPatterns.QAbstractXmlNodeModel that this node index refers to. PySide.QtXmlPatterns.QXmlNodeModelIndex does not own PySide.QtXmlPatterns.QAbstractXmlNodeModel and does not keep track of its lifetime, so this pointer will dangle if the PySide.QtXmlPatterns.QAbstractXmlNodeModel is deallocated first.

There is no setter for the node model because instances of PySide.QtXmlPatterns.QXmlNodeModelIndex instances are only created with QAbstractXmlNodeModel.createIndex() .

PySide.QtXmlPatterns.QXmlNodeModelIndex.__ne__(other)
Parameters:otherPySide.QtXmlPatterns.QXmlNodeModelIndex
Return type:PySide.QtCore.bool

Returns true if other is the same node as this.

PySide.QtXmlPatterns.QXmlNodeModelIndex.__eq__(other)
Parameters:otherPySide.QtXmlPatterns.QXmlNodeModelIndex
Return type:PySide.QtCore.bool

Returns true if this node is the same as other . This operator does not compare values, children, or names of nodes. It compares node identities, i.e., whether two nodes are from the same document and are found at the exact same place.