Initializing help system before first use

getnodes

getnodes


Purpose
Get the list of nodes returned by a path specification.
Synopsis
procedure getnodes(doc:xmldoc, n:integer, p:string|text, l:list of integer)
procedure getnodes(doc:xmldoc, p:string, l:list of integer)
procedure getnodes(doc:xmldoc, n:integer, l:list of integer)
Arguments
doc 
Document to use
Base node number ( 0 when not provided)
Path to the node ( "*" when not provided)
List where result is returned
Example
Here are a number of examples how to retrieve nodes with specific properties:
  declarations
    DB: xmldoc
    Employees, AllEmployees: list of integer
  end-declarations

! Get all employees in the Americas
  getnodes(DB, "personnelList/region[@id='AM']/employee", Employees)

! All employees who started before 2005
  getnodes(DB, "personnelList/region/employee/startDate[number()<2005]/..",
    Employees)

! All employees whose names start with "J"
  getnodes(DB, "personnelList/region/employee", AllEmployees)
  forall(n in AllEmployees) do
    getnodes(DB, n, "./name[starts-with(string(),'J')]/..", Employees)
    forall(p in Employees) save(DB, p, "")
  end-do

! Employees speaking at least 3 languages (=have a third "language" entry)
  getnodes(DB, "personnelList/region/employee/language[position()=3]/..",
    Employees) 
Further information
1. Refer to section Paths in a document for a detailed description of the syntax and semantic of XML paths.
2. This function resets the list it receives as parameter: the provided list is returned empty if no node can be found.
Related topics
Module