the type to be tested
true if CursorType satisfies the XML cursor specification here stated; false otherwise
Specification: A cursor shall support at least these methods and aliases:
/* recursively prints the kind of each node */ void recursivePrint(CursorType)(ref CursorType cursor) if (isCursor!CursorType) { do { // print the kind of the current node writeln(cursor.kind); // if the node has children if (cursor.enter) { // recursively print them recursivePrint(cursor); // back to the current level cursor.exit; } } // iterate on every sibling while (cursor.next) }
Checks whether its argument fulfills all requirements to be used as XML cursor.
The cursor is the hearth of the XML parsing chain. Every higher level component (SAX, DOM, validations) builds on top of this concept. A cursor is a logical pointer inside a stream of XML nodes. It can be queried for properties of the current node (kind, name, attributes, ...) and it can be advanced in the stream. It cannot move backwards. Any reference to the outputs of a cursor may or may not be invalidated by advancing operations.