getnodes
| getnodes | 
  Purpose
 
  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
     | 
| 
     n 
     | 
     Base node number (
     0 when not provided)
     | 
| 
     p 
     | 
     Path to the node (
     "*" when not provided)
     | 
| 
     l 
     | 
     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
 
 
