|
|
|
|
|
Description |
This module ported from Text.XML.Light.Proc
XML cursors for working XML content withing the context of
an XML document. This implementation is based on the general
tree zipper written by Krasimir Angelov and Iavor S. Diatchki.
|
|
Synopsis |
|
|
|
Documentation |
|
|
Constructors | | Instances | |
|
|
|
|
|
|
|
The position of a piece of content in an XML document.
| Constructors | Cur | | current :: Node tag text | The currently selected content.
| lefts :: [Node tag text] | Siblings on the left, closest first.
| rights :: [Node tag text] | Siblings on the right, closest first.
| parents :: Path tag text | The contexts of the parent elements of this location.
|
|
| Instances | |
|
|
|
|
Conversions
|
|
|
A cursor for the given content.
|
|
|
The location of the first tree in a forest.
|
|
|
Computes the forest containing this location.
|
|
|
Computes the tree containing this location.
|
|
Moving around
|
|
|
The parent of the given location.
|
|
|
The top-most parent of the given location.
|
|
|
The child with the given index (starting from 0).
|
|
|
The first child of the given location.
|
|
|
The last child of the given location.
|
|
|
The left sibling of the given location.
|
|
|
The right sibling of the given location.
|
|
|
The next position in a left-to-right depth-first traversal of a document:
either the first child, right sibling, or the right sibling of a parent that
has one.
|
|
Searching
|
|
|
The first child that satisfies a predicate.
|
|
|
Find the next left sibling that satisfies a predicate.
|
|
|
Find the next right sibling that satisfies a predicate.
|
|
|
Perform a depth first search for a descendant that satisfies the
given predicate.
|
|
Node classification
|
|
|
Are we at the top of the document?
|
|
|
Are we at the left end of the the document?
|
|
|
Are we at the right end of the document?
|
|
|
Are we at the bottom of the document?
|
|
|
Do we have a parent?
|
|
|
Do we have children?
|
|
|
Get the node index inside the sequence of children
|
|
Updates
|
|
|
Change the current content.
|
|
|
Modify the current content.
|
|
|
Modify the current content.
|
|
|
Modify the current content, allowing for an effect.
|
|
Inserting content
|
|
|
Insert content to the left of the current position.
|
|
|
Insert content to the right of the current position.
|
|
|
Insert content to the left of the current position.
|
|
|
Insert content to the right of the current position.
|
|
|
Insert content as the first child of the current position.
|
|
|
Insert content as the first child of the current position.
|
|
|
Insert content as the first child of the current position.
|
|
|
Insert content as the first child of the current position.
|
|
|
Insert content to the left of the current position.
The new content becomes the current position.
|
|
|
Insert content to the right of the current position.
The new content becomes the current position.
|
|
Removing content
|
|
|
Remove the content on the left of the current position, if any.
|
|
|
Remove the content on the right of the current position, if any.
|
|
|
Remove the current element.
The new position is the one on the left.
|
|
|
Remove the current element.
The new position is the one on the right.
|
|
|
Remove the current element.
The new position is the parent of the old position.
|
|
Produced by Haddock version 2.6.0 |