# XPath Operators

Here are the operators we use in xslt for various calculations

I have symbolized the numbers by e1, e2,..

Operator | Description |
---|---|

e1 + e2 | If e1 and e2 are numbers, their sum |

e1 – e2 | e1 minus e2 |

e1 * e2 | Product of e1 and e2 |

e1 div e2 | If e1 and e2 are numbers, their quotient as a fl oating-point value. |

e1 mod e2 | The fl oating-point remainder of e1 divided by e2 . |

e1 = e2 | Tests to see if e1 equals e2 |

e1 & lt ; e2 | Tests to see if e1 is less than e2 . You can’t say e1 < e2 inside an attribute: the less-than sign must be escaped as “& lt; ” . |

e1 & lt ;= e2 | Tests to see if e1 is less than or equal to e2 |

e1 & gt ; e2 | Tests for greater-than |

e1 != e2 | Tests for inequality |

e1 and e2 | True if both e1 and e2 are true. If e1 is false, e2 is not evaluated |

e1 or e2 | True if either e1 or e2 is true. If e1 is true, e2 is not evaluated |

e1 / e2 | The / operator separates levels in a tree. For example, “/barge/load” selects all children of the element child of the document node |

//e | Abbreviation for descendant-or-self:: e |

./e | Abbreviation for self:: e |

../e | Abbreviation for parent:: e |

@e | Abbreviation for attribute:: e |

e1 | e2 | Selects the union of nodes that match e1 and those that match e2 |

* | A wild-card operator; matches all nodes of the proper type for the context. For example, “*” selects all child elements of the context node, and “feet/@*” selects all attributes of the context node’s children |

e1 [ e2 ] | Square brackets enclose a predicate , which speci fi es an expression e2 that selects nodes from a larger set e1 .For example, in the XPath expression “para[@class=’note’]” , the para e1 [ e2 ] selects all children of the context node, and then the predicate selects only the children that have an attribute class=”note”. Another example: “item[1]” would select the first child of the context node |

$e | The dollar sign indicates that the following name is a variable name. For example, in an XSLT script, if variable n is set to 357, is expanded to the string “357” . |

Categories: xslt 1.0