Struct Cursor

An implementation of the isCursor trait.

This is the only provided cursor that builds on top of a parser (and not on top of another cursor), so it is part of virtually every parsing chain. All documented methods are implementations of the specifications dictated by isCursor.

Template arguments

struct Cursor(P, std.typecons.Flag!("conflateCDATA").Flag conflateCDATA, ErrorHandler)
if (isLowLevelParser!P);


Name Description
this Generic constructor; forwards its arguments to the parser constructor


Name Description
atBeginning Returns whether the cursor is at the beginning of the document (i.e. whether no enter/next/exit has been performed successfully and thus the cursor points to the xml declaration)
attributes If the current node is an element, return its attributes as a range of triplets (prefix, name, value); if the current node is the document node, return the attributes of the xml declaration (encoding, version, ...); otherwise, returns an empty array.
content Return the text content of a cdata section, a comment or a text node; in all other cases, returns the entire node without the name
documentEnd Returns whether the cursor is at the end of the document.
enter Advances to the first child of the current node and returns true. If it returns false, the cursor is either on the same node (it wasn't an element start) or it is at the close tag of the element it was called on (it was a pair open/close tag without any content)
exit Advances to the end of the parent of the current node.
kind Returns the kind of the current node.
localName If the current node is an element, returns its local name (without namespace prefix); otherwise, returns the same result as name.
name If the current node is an element or a doctype, returns its complete name; it it is a processing instruction, return its target; otherwise, returns an empty string;
next Advances to the next sibling of the current node. Returns whether it succeded. If it fails, either the document has ended or the only meaningful operation is exit.
prefix If the current node is an element, returns its namespace prefix; otherwise, the result in unspecified;
setErrorHandler Overrides the current error handler with a new one. It will be called whenever a non-fatal error occurs. The default handler abort parsing by throwing an exception.
wholeContent Returns the entire text of the current node.


Name Description
CharacterType The type of characters in the input, as returned by the underlying low level parser.
StringType The type of sequences of CharacterType, as returned by this parser


Lodovico Giaretta


Copyright Lodovico Giaretta 2016 --


Boost License 1.0.