Edgewall Software

Changes between Version 3 and Version 4 of MarkupPath


Ignore:
Timestamp:
Sep 1, 2006, 12:57:35 PM (18 years ago)
Author:
cmlenz
Comment:

Updated to match XPath support in 0.2 release.

Legend:

Unmodified
Added
Removed
Modified
  • MarkupPath

    v3 v4  
    1212 * `descendant`
    1313 * `descendant-or-self`
    14  * `namespace` (not completed yet)
    1514 * `self`
    1615
    17 This means you can't use the ancestor, parent, or sibling axes in Markup. Basically, any path expression that would require buffering of the stream is not supported.
     16This means you can't use the `parent`, ancestor, or sibling axes in Markup (the `namespace` axis isn't supported either, but what you'd ever need that for I don't know). Basically, any path expression that would require buffering of the stream is not supported.
    1817
    19 In addition, Markup does not (yet) support numeric types in XPath: everything is treated as text or booleans. For that reason, [http://www.w3.org/TR/xpath#NT-RelationalExpr relational] or [http://www.w3.org/TR/xpath#NT-AdditiveExpr additive] operators such as `>`, `<`, or `<=` are not supported right now.
     18Predicates are of course supported, but Path expressions ''inside'' predicates are restricted to attribute lookups (again due to the lack of buffering).
    2019
    21 The following XPath functions are currently supported:
     20Most of the XPath functions and operators are supported, however they (currently) only work inside predicates. The following functions are '''not''' supported:
    2221
    23  * `comment()`
    24  * `node()`
    25  * `processing-instruction(name?)`
    26  * `text()`
    27  * `not(expr)`
    28  * `local-name()` (the optional `node-set` parameter is not supported)
    29  * `namespace-uri()` (the optional `node-set` parameter is not supported)
    30  * `name()` (the optional `node-set` parameter is not supported)
     22 * `count()`
     23 * `id()`
     24 * `lang()`
     25 * `last()`
     26 * `position()`
     27 * `string()`
     28 * `sum()`
     29
     30The mathematical operators (`+`, `-`, `*`, `div`, and `mod`) are not yet supported, whereas the various comparison and logical operators should work as expected.
     31
     32You can also use XPath variable references (`$var`) inside predicates.
    3133
    3234== Querying Streams ==