http://swpat.ffii.org/
Action against software patents
http://www.gnome.org/
Gnome2 Logo
http://www.w3.org/Status
W3C Logo
http://www.redhat.com/
Red Hat Logo
http://xmlsoft.org/
Made with Libxml2 Logo
Module xpointer from libxml2
API Menu
../index.html
Main Menu
../docs.html
Developer Menu
../examples/index.html
Code Examples
index.html
API Menu
libxml-parser.html
Parser API
libxml-tree.html
Tree API
libxml-xmlreader.html
Reader API
../guidelines.html
XML Guidelines
../ChangeLog.html
ChangeLog
API Indexes
../APIchunk0.html
Alphabetic
../APIconstructors.html
Constructors
../APIfunctions.html
Functions/Types
../APIfiles.html
Modules
../APIsymbols.html
Symbols
Related links
http://mail.gnome.org/archives/xml/
Mail archive
http://xmlsoft.org/XSLT/
XSLT libxslt
http://phd.cs.unibo.it/gdome2/
DOM gdome2
http://www.aleksey.com/xmlsec/
XML-DSig xmlsec
ftp://xmlsoft.org/
FTP
http://www.zlatkovic.com/projects/libxml/
Windows binaries
http://www.blastwave.org/packages.php/libxml2
Solaris binaries
http://www.explain.com.au/oss/libxml2xslt.html
MacOsX binaries
http://libxmlplusplus.sourceforge.net/
C++ bindings
http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4
PHP bindings
http://sourceforge.net/projects/libxml2-pas/
Pascal bindings
http://rubyforge.org/projects/xml-tools/
Ruby bindings
http://tclxml.sourceforge.net/
Tcl bindings
http://bugzilla.gnome.org/buglist.cgi?product=libxml2
Bug Tracker
libxml-xpathInternals.html
Prev
libxml-xpathInternals.html
xpathInternals
index.html
Up
index.html
API documentation
../index.html
Home
../index.html
The XML C parser and toolkit of Gnome
API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000
Table of Contents
Structure
#xmlLocationSet
xmlLocationSet
struct _xmlLocationSet
Typedef
libxml-xpointer.html#xmlLocationSet
xmlLocationSet
*
xmlLocationSetPtr
libxml-tree.html#xmlNodePtr
xmlNodePtr
#xmlXPtrBuildNodeList
xmlXPtrBuildNodeList
(
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
obj)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrEval
xmlXPtrEval
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
libxml-xpath.html#xmlXPathContextPtr
xmlXPathContextPtr
ctx)
void
#xmlXPtrEvalRangePredicate
xmlXPtrEvalRangePredicate
(
libxml-xpath.html#xmlXPathParserContextPtr
xmlXPathParserContextPtr
ctxt)
void
#xmlXPtrFreeLocationSet
xmlXPtrFreeLocationSet
(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
obj)
void
#xmlXPtrLocationSetAdd
xmlXPtrLocationSetAdd
(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
cur,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
val)
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
#xmlXPtrLocationSetCreate
xmlXPtrLocationSetCreate
(
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
val)
void
#xmlXPtrLocationSetDel
xmlXPtrLocationSetDel
(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
cur,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
val)
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
#xmlXPtrLocationSetMerge
xmlXPtrLocationSetMerge
(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
val1,
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
val2)
void
#xmlXPtrLocationSetRemove
xmlXPtrLocationSetRemove
(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
cur,
int val)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewCollapsedRange
xmlXPtrNewCollapsedRange
(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start)
libxml-xpath.html#xmlXPathContextPtr
xmlXPathContextPtr
#xmlXPtrNewContext
xmlXPtrNewContext
(
libxml-tree.html#xmlDocPtr
xmlDocPtr
doc,
libxml-tree.html#xmlNodePtr
xmlNodePtr
here,
libxml-tree.html#xmlNodePtr
xmlNodePtr
origin)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewLocationSetNodeSet
xmlXPtrNewLocationSetNodeSet
(
libxml-xpath.html#xmlNodeSetPtr
xmlNodeSetPtr
set)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewLocationSetNodes
xmlXPtrNewLocationSetNodes
(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
libxml-tree.html#xmlNodePtr
xmlNodePtr
end)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewRange
xmlXPtrNewRange
(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
int startindex,
libxml-tree.html#xmlNodePtr
xmlNodePtr
end,
int endindex)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewRangeNodeObject
xmlXPtrNewRangeNodeObject
(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
end)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewRangeNodePoint
xmlXPtrNewRangeNodePoint
(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
end)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewRangeNodes
xmlXPtrNewRangeNodes
(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
libxml-tree.html#xmlNodePtr
xmlNodePtr
end)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewRangePointNode
xmlXPtrNewRangePointNode
(
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
start,
libxml-tree.html#xmlNodePtr
xmlNodePtr
end)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrNewRangePoints
xmlXPtrNewRangePoints
(
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
start,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
end)
void
#xmlXPtrRangeToFunction
xmlXPtrRangeToFunction
(
libxml-xpath.html#xmlXPathParserContextPtr
xmlXPathParserContextPtr
ctxt,
int nargs)
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
#xmlXPtrWrapLocationSet
xmlXPtrWrapLocationSet
(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
val)
Description
Structure xmlLocationSet
Structure xmlLocationSet
struct _xmlLocationSet {
int	locNr	: number of locations in the set
int	locMax	: size of the array as allocated
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
*	locTab	: array of locations
}
Function: xmlXPtrBuildNodeList
libxml-tree.html#xmlNodePtr
xmlNodePtr
xmlXPtrBuildNodeList	(
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
obj)
Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.
obj
:
the XPointer result from the evaluation.
Returns
:
an
libxml-tree.html#xmlNodePtr
xmlNodePtr
list or NULL. the caller has to free the node tree.
Function: xmlXPtrEval
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrEval	(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
libxml-xpath.html#xmlXPathContextPtr
xmlXPathContextPtr
ctx)
Evaluate the XPath Location Path in the given context.
str
:
the XPointer expression
ctx
:
the XPointer context
Returns
:
the
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
resulting from the evaluation or NULL. the caller has to free the object.
Function: xmlXPtrEvalRangePredicate
void	xmlXPtrEvalRangePredicate	(
libxml-xpath.html#xmlXPathParserContextPtr
xmlXPathParserContextPtr
ctxt)
[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set
ctxt
:
the XPointer Parser context
Function: xmlXPtrFreeLocationSet
void	xmlXPtrFreeLocationSet		(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
obj)
Free the LocationSet compound (not the actual ranges !).
obj
:
the
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
to free
Function: xmlXPtrLocationSetAdd
void	xmlXPtrLocationSetAdd		(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
cur,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
val)
add a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
to an existing LocationSet If the location already exist in the set @val is freed.
cur
:
the initial range set
val
:
a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
Function: xmlXPtrLocationSetCreate
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
xmlXPtrLocationSetCreate	(
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
val)
Create a new
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
of type double and of value @val
val
:
an initial xmlXPathObjectPtr, or NULL
Returns
:
the newly created object.
Function: xmlXPtrLocationSetDel
void	xmlXPtrLocationSetDel		(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
cur,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
val)
Removes an
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
from an existing LocationSet
cur
:
the initial range set
val
:
an
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
Function: xmlXPtrLocationSetMerge
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
xmlXPtrLocationSetMerge	(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
val1,
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
val2)
Merges two rangesets, all ranges from @val2 are added to @val1
val1
:
the first LocationSet
val2
:
the second LocationSet
Returns
:
val1 once extended or NULL in case of error.
Function: xmlXPtrLocationSetRemove
void	xmlXPtrLocationSetRemove	(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
cur,
int val)
Removes an entry from an existing LocationSet list.
cur
:
the initial range set
val
:
the index to remove
Function: xmlXPtrNewCollapsedRange
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewCollapsedRange	(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type range using a single nodes
start
:
the starting and ending node
Returns
:
the newly created object.
Function: xmlXPtrNewContext
libxml-xpath.html#xmlXPathContextPtr
xmlXPathContextPtr
xmlXPtrNewContext	(
libxml-tree.html#xmlDocPtr
xmlDocPtr
doc,
libxml-tree.html#xmlNodePtr
xmlNodePtr
here,
libxml-tree.html#xmlNodePtr
xmlNodePtr
origin)
Create a new XPointer context
doc
:
the XML document
here
:
the node that directly contains the XPointer being evaluated or NULL
origin
:
the element from which a user or program initiated traversal of the link, or NULL.
Returns
:
the
libxml-xpath.html#xmlXPathContext
xmlXPathContext
just allocated.
Function: xmlXPtrNewLocationSetNodeSet
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewLocationSetNodeSet	(
libxml-xpath.html#xmlNodeSetPtr
xmlNodeSetPtr
set)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type LocationSet and initialize it with all the nodes from @set
set
:
a node set
Returns
:
the newly created object.
Function: xmlXPtrNewLocationSetNodes
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewLocationSetNodes	(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
libxml-tree.html#xmlNodePtr
xmlNodePtr
end)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type LocationSet and initialize it with the single range made of the two nodes @start and @end
start
:
the start NodePtr value
end
:
the end NodePtr value or NULL
Returns
:
the newly created object.
Function: xmlXPtrNewRange
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewRange	(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
int startindex,
libxml-tree.html#xmlNodePtr
xmlNodePtr
end,
int endindex)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type range
start
:
the starting node
startindex
:
the start index
end
:
the ending point
endindex
:
the ending index
Returns
:
the newly created object.
Function: xmlXPtrNewRangeNodeObject
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewRangeNodeObject	(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
end)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type range from a not to an object
start
:
the starting node
end
:
the ending object
Returns
:
the newly created object.
Function: xmlXPtrNewRangeNodePoint
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewRangeNodePoint	(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
end)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type range from a node to a point
start
:
the starting node
end
:
the ending point
Returns
:
the newly created object.
Function: xmlXPtrNewRangeNodes
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewRangeNodes	(
libxml-tree.html#xmlNodePtr
xmlNodePtr
start,
libxml-tree.html#xmlNodePtr
xmlNodePtr
end)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type range using 2 nodes
start
:
the starting node
end
:
the ending node
Returns
:
the newly created object.
Function: xmlXPtrNewRangePointNode
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewRangePointNode	(
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
start,
libxml-tree.html#xmlNodePtr
xmlNodePtr
end)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type range from a point to a node
start
:
the starting point
end
:
the ending node
Returns
:
the newly created object.
Function: xmlXPtrNewRangePoints
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrNewRangePoints	(
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
start,
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
end)
Create a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
of type range using 2 Points
start
:
the starting point
end
:
the ending point
Returns
:
the newly created object.
Function: xmlXPtrRangeToFunction
void	xmlXPtrRangeToFunction		(
libxml-xpath.html#xmlXPathParserContextPtr
xmlXPathParserContextPtr
ctxt,
int nargs)
Implement the range-to() XPointer function
ctxt
:
the XPointer Parser context
nargs
:
the number of args
Function: xmlXPtrWrapLocationSet
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
xmlXPtrWrapLocationSet	(
libxml-xpointer.html#xmlLocationSetPtr
xmlLocationSetPtr
val)
Wrap the LocationSet @val in a new
libxml-xpath.html#xmlXPathObjectPtr
xmlXPathObjectPtr
val
:
the LocationSet value
Returns
:
the newly created object.
../bugs.html
Daniel Veillard
