Iterates through all of the child Elements
, optionally filtering them by a given XPath
optional. If supplied, this is a String XPath
, and is used to filter the children, so that only matching children are yielded. Note that XPaths are automatically filtered for Elements
, so that non-Element children will not be yielded
doc = Document.new '<a><b/><c/><d/>sean<b/><c/><d/></a>' doc.root.elements.each {|e|p e} #-> Yields b, c, d, b, c, d elements doc.root.elements.each('b') {|e|p e} #-> Yields b, b elements doc.root.elements.each('child::node()') {|e|p e} #-> Yields <b/>, <c/>, <d/>, <b/>, <c/>, <d/> XPath.each(doc.root, 'child::node()', &block) #-> Yields <b/>, <c/>, <d/>, sean, <b/>, <c/>, <d/>
Iterates over each attribute of an Element
, yielding the expanded name and value as a pair of Strings.
doc = Document.new '<a x="1" y="2"/>' doc.root.attributes.each {|name, value| p name+" => "+value }
Evaluates to the unnormalized value of this entity; that is, replacing all entities – both %ent; and &ent; entities. This differs from +value()+ in that value
only replaces %ent; entities.
Returns the value of this entity unprocessed – raw. This is the normalized value; that is, with all %ent; and &ent; entities intact
A predicate filters a node-set with respect to an axis to produce a new node-set. For each node in the node-set to be filtered, the PredicateExpr is evaluated with that node as the context node, with the number of nodes in the node-set as the context size, and with the proximity position of the node in the node-set with respect to the axis as the context position; if PredicateExpr evaluates to true for that node, the node is included in the new node-set; otherwise, it is not included.
A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the context position and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function. Thus a location path para is equivalent to para.
Enumerates rows of the Enumerable
objects.
check for illegal characters
FIXME This probably won’t work properly
Escapes all possible entities
Unescapes all possible entities
Iterates over nodes that match the given path, calling the supplied block with the match.
The context element
The xpath to search for. If not supplied or nil, defaults to ‘*’
If supplied, a Hash
which defines a namespace mapping
If supplied, a Hash
which maps $variables in the query to values. This can be used to avoid XPath
injection attacks or to automatically handle escaping string values.
XPath.each( node ) { |el| ... } XPath.each( node, '/*[@attr='v']' ) { |el| ... } XPath.each( node, 'ancestor::x' ) { |el| ... } XPath.each( node, '/book/publisher/text()=$publisher', {}, {"publisher"=>"O'Reilly"}) \ {|el| ... }
Iterate through the tuple, yielding the index or key, and the value, thus ensuring arrays are iterated similarly to hashes.
Returns the first advertised TupleSpace
.
Iterates over all discovered TupleSpaces starting with the primary.
Yields event/tuple pairs until this NotifyTemplateEntry
expires.