System for filtering trees and nodes generated by zip.clj in general, and xml trees in particular.
Usage: (ancestors loc)
Returns a lazy sequence of all ancestors of location loc, starting with loc and proceeding to loc's parent node and on through to the root of the tree.Source
Usage: (children loc)
Returns a lazy sequence of all immediate children of location loc, left-to-right.Source
Usage: (children-auto loc)
Returns a lazy sequence of all immediate children of location loc, left-to-right, marked so that a following tag= predicate will auto-descend.Source
Usage: (descendants loc)
Returns a lazy sequence of all descendants of location loc, in depth-first order, left-to-right, starting with loc.Source
Usage: (left-locs loc)
Returns a lazy sequence of locations to the left of loc, starting with loc.Source
Usage: (leftmost? loc)
Returns true if there are no more nodes to the left of location loc.Source
Usage: (right-locs loc)
Returns a lazy sequence of locations to the right of loc, starting with loc.Source
Usage: (rightmost? loc)
Returns true if there are no more nodes to the right of location loc.Source
Usage: (attr attrname)
(attr loc attrname)
Returns the xml attribute named attrname, of the xml node at location loc.Source
Usage: (attr= attrname attrval)
Returns a query predicate that matches a node when it has an attribute named attrname whose value is attrval.Source
Usage: (seq-test preds)
Returns a query predicate that matches a node when its xml content matches the query expresions given.Source
Usage: (tag= tagname)
Returns a query predicate that matches a node when its is a tag named tagname.Source
Usage: (text loc)
Returns the textual contents of the given location, similar to xpaths's value-ofSource
Usage: (text= s)
Returns a query predicate that matches a node when its textual content equals s.Source
Usage: (xml-> loc & preds)
The loc is passed to the first predicate. If the predicate returns a collection, each value of the collection is passed to the next predicate. If it returns a location, the location is passed to the next predicate. If it returns true, the input location is passed to the next predicate. If it returns false or nil, the next predicate is not called. This process is repeated, passing the processed results of each predicate to the next predicate. xml-> returns the final sequence. The entire chain is evaluated lazily. There are also special predicates: keywords are converted to tag=, strings to text=, and vectors to sub-queries that return true if they match. See xml_test.clj for examples.Source
Usage: (xml1-> loc & preds)
Returns the first item from loc based on the query predicates given. See xml->Source