SaxonC
11.6
Saxon Processor library for C/C++, PHP and Python
|
#include <XdmNode.h>
Public Member Functions | |
XdmNode (jobject) | |
XdmNode constructor created as a wrapper around an existing Saxon Java object. More... | |
XdmNode (XdmNode *parent, jobject, XDM_NODE_KIND kind) | |
XdmNode constructor created as a wrapper around an existing Saxon Java object. More... | |
virtual | ~XdmNode () |
Destructor. More... | |
virtual bool | isAtomic () |
Determine whether the item is an atomic value or some other type of item. More... | |
XdmItem * | getHead () |
Get the first item in the sequence. More... | |
XDM_NODE_KIND | getNodeKind () |
Get the kind of node. More... | |
const char * | getNodeName () |
Get the name of the node, as a string in the form of a EQName. More... | |
const char * | getLocalName () |
Get the local name of the node. More... | |
XdmValue * | getTypedValue () |
Get the typed value of this node, as defined in XDM. More... | |
const char * | getBaseUri () |
Get the base URI of this node. More... | |
const char * | getStringValue () |
Get the string value of the item. For a node, this gets the string value of the node. More... | |
const char * | toString () |
The toString() method returns a simple XML serialization of the node with defaulted serialization parameters. More... | |
XdmNode * | getParent () |
Get the parent of this node. More... | |
const char * | getAttributeValue (const char *name) |
Get the string value of a named attribute (in no namespace) of this element. More... | |
int | getAttributeCount () |
Get the number of attribute node for this current node. More... | |
XdmNode ** | getAttributeNodes (bool cache=false) |
Get array of attribute nodes of this element. More... | |
jobject | getUnderlyingValue () |
Get the underlying JNI Java object for the XdmNode. More... | |
bool | isNode () |
Determine whether the item is a node or some other type of item. More... | |
XdmNode ** | getChildren (bool cache=false) |
Get all the child nodes from the current parent node. More... | |
XdmNode * | getChild (int i, bool cache=false) |
Get the ith child nodes from the current parent node. More... | |
int | getChildCount () |
Get the count of child nodes from thie current node. More... | |
XDM_TYPE | getType () |
Get the type of the object. More... | |
Public Member Functions inherited from XdmItem | |
XdmItem () | |
XdmItem default constructor. More... | |
XdmItem (jobject) | |
XdmItem constructor created as a wrapper around an existing Saxon Java object. More... | |
XdmItem (const XdmItem &item) | |
Copy constructor. More... | |
virtual | ~XdmItem () |
Destructor. More... | |
virtual void | incrementRefCount () |
Increment reference count of this XdmItem - Memory management - Internal use only. More... | |
virtual void | decrementRefCount () |
Decrement reference count of this XdmItem - Memory management - Internal use only. More... | |
virtual bool | isFunction () |
virtual bool | isMap () |
virtual bool | isArray () |
XdmItem * | itemAt (int n) |
int | size () |
Public Member Functions inherited from XdmValue | |
XdmValue () | |
A default Constructor. More... | |
XdmValue (const XdmValue &other) | |
A copy constructor. More... | |
XdmValue * | addXdmValueWithType (const char *tStr, const char *val) |
Add an XdmItem to the sequence. More... | |
void | addXdmItem (XdmItem *val) |
void | addUnderlyingValue (jobject val) |
XdmValue (jobject val, bool arrFlag) | |
A Constructor for handling XdmArray - Internal user only. More... | |
XdmValue (jobject val) | |
A Constructor. More... | |
virtual | ~XdmValue () |
Destructor. More... | |
void | releaseXdmValue () |
Delete the XdmValue object and clean up all items in the sequence. Release the underlying JNI object. | |
int | getRefCount () |
Get the number of references on this XdmValue. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from XdmValue | |
void | initialize () |
initialize this XdmValue with default values | |
Protected Attributes inherited from XdmItem | |
jobject | value |
std::string | stringValue |
Protected Attributes inherited from XdmValue | |
char * | valueType |
std::vector< XdmItem * > | values |
int | xdmSize |
int | refCount |
This class represents a node in the XDM data model. A Node is an XdmItem
, and is therefore an XdmValue
in its own right, and may also participate as one item within a sequence value.
The XdmNode interface exposes basic properties of the node, such as its name, its string value, and its typed value.
Note that node identity cannot be inferred from object identity. The same node may be represented by different XdmNode
instances at different times, or even at the same time. The equals() method on this class can be used to test for node identity.
XdmNode::XdmNode | ( | jobject | obj | ) |
XdmNode::XdmNode | ( | XdmNode * | parent, |
jobject | obj, | ||
XDM_NODE_KIND | kind | ||
) |
|
virtual |
Destructor.
Destructor for XdmNode
int XdmNode::getAttributeCount | ( | ) |
Get the number of attribute node for this current node.
XdmNode ** XdmNode::getAttributeNodes | ( | bool | cache = false | ) |
Get array of attribute nodes of this element.
cache | - true to cache the attribute nodes for future use. User os responsible for memory management for the attribute nodes. |
const char * XdmNode::getAttributeValue | ( | const char * | name | ) |
Get the string value of a named attribute (in no namespace) of this element.
name | the name of the required attribute, interpreted as a no-namespace name |
const char * XdmNode::getBaseUri | ( | ) |
Get the base URI of this node.
XdmNode * XdmNode::getChild | ( | int | i, |
bool | cache = false |
||
) |
Get the ith child nodes from the current parent node.
int XdmNode::getChildCount | ( | ) |
Get the count of child nodes from thie current node.
XdmNode ** XdmNode::getChildren | ( | bool | cache = false | ) |
Get all the child nodes from the current parent node.
|
virtual |
const char * XdmNode::getLocalName | ( | ) |
Get the local name of the node.
XDM_NODE_KIND XdmNode::getNodeKind | ( | ) |
Get the kind of node.
XdmNodeKind::ELEMENT
or XdmNodeKind::ATTRIBUTE
const char * XdmNode::getNodeName | ( | ) |
Get the name of the node, as a string in the form of a EQName.
XdmNode * XdmNode::getParent | ( | ) |
Get the parent of this node.
|
virtual |
Get the string value of the item. For a node, this gets the string value of the node.
For an atomic value, it has the same effect as casting the value to a string. In all cases the result is the same as applying the XPath string() function.
For atomic values, the result is the same as the result of calling toString
. This is not the case for nodes, where toString
returns an XML serialization of the node.
Reimplemented from XdmItem.
|
inlinevirtual |
XdmValue * XdmNode::getTypedValue | ( | ) |
Get the typed value of this node, as defined in XDM.
XdmAtomicValue
|
inlinevirtual |
|
virtual |
Determine whether the item is an atomic value or some other type of item.
Reimplemented from XdmItem.
|
inlinevirtual |
Determine whether the item is a node or some other type of item.
Reimplemented from XdmItem.
|
virtual |
The toString() method returns a simple XML serialization of the node with defaulted serialization parameters.
In the case of an element node, the result will be a well-formed XML document serialized as defined in the W3C XSLT/XQuery serialization specification, using options method="xml", indent="yes", omit-xml-declaration="yes".
In the case of a document node, the result will be a well-formed XML document provided that the document node contains exactly one element child, and no text node children. In other cases it will be a well-formed external general parsed entity.
In the case of an attribute node, the output is a string in the form name="value"
. The name will use the original namespace prefix.
In the case of a namespace node, the output is a string in the form of a namespace declaration, that is xmlns="uri"
or xmlns:pre="uri"
.
Other nodes, such as text nodes, comments, and processing instructions, are represented as they would appear in lexical XML. Note: this means that in the case of text nodes, special characters such as &
and <
are output in escaped form. To get the unescaped string value of a text node, use getStringValue()
instead.
Reimplemented from XdmItem.