Reusing Functions to Locate Nodes

www.altova.com Print this Topic Previous Page Up One Level Next page

Home >  SPS File: Additional Functionality > User-Defined XPath Functions >

Reusing Functions to Locate Nodes

In the previous section we saw how an XPath function can be built to locate a node. The sps:Stock function which is defined as shown in the screenshot below returns the /Trades/Stock element that has a name attribute with a value that matches the content of the /Trades/Selection/Stock element.

 

XPFxDlg01

 

We could modularize the location steps of the XPath expression $XML/Trades/Stock[@name=$XML/Trades/Selection/Stock] into separate XPath functions. For example as follows:

 

The function sps:Stocks(), with the definition: $XML/Trades/Stock
The function sps:SelectedStock(), with the definition: $XML/Trades/Selection/Stock

 

The whole XPath expression can then be written in another XPath expression as:

 

 sps:Stocks()[@name=sps:SelectedStock()]

 

When XPath functions are created in this way to locate a node or nodeset, these functions can be re-used in other XPath expressions across the SPS design, thus considerably simplifying the writing of complex XPath expressions.

 


© 2019 Altova GmbH