SelectCount (XmlDoc/XmlNode function)

From m204wiki
Revision as of 15:37, 6 June 2011 by JAL2 (talk | contribs)
Jump to navigation Jump to search

Number of selected nodes (XmlDoc and XmlNode classes)

SelectCount counts the number of nodes selected by an XPath expression.

Syntax

%number = nr:SelectCount( xpath) Throws XPathError

Syntax terms

%number A numeric variable that receives the count of nodes on the nodelist selected by the xpath expression.
nr An XmlDoc or XmlNode, used as the context node for the xpath expression. If an XmlDoc, the Root node is the context node.
xpath A Unicode string that is an XPath expression that results in a nodelist. The count of nodes in this nodelist is returned.

Prior to Sirius Mods Version 7.6, this is an EBCDIC string.

Usage notes

  • If the result of the argument XPath expression (xpath) is empty, numeric zero is returned.

Examples

  1. In the following example, SelectCount counts the "a" node children of node "top," then the text node children of those "a" nodes:

    begin %doc is object XmlDoc %j is float %k is float %doc = new %doc:loadXml('<top> <a>a1</a> <a>a2</a> <a>a3</a> </top>') Call %doc:print('/') %j = %doc:selectCount('/top/a') %k = %doc:selectCount('/top/a/text()') print %j ' and ' %k end

    The example results follow:

    <top> <a>a1</a> <a>a2</a> <a>a3</a> </top> 3 and 3

  2. The following statements count all the nodes and all the attributes in the document, respectively.

    print 'Count of non-attribute nodes:' and %doc:countSelected('//node()') print 'Count of attribute nodes:' and %doc:countSelected('//@*')

Request-cancellation errors

  • The xpath expression is invalid.
  • Insufficient free space exists in CCATEMP.

See also

  • Count counts the number of nodes on an XmlNodelist.
  • For more information about using XPath expressions, see "XPath".