http://swpat.ffii.org/Action against software patents http://www.gnome.org/Gnome2 Logo http://www.w3.org/StatusW3C Logo http://www.redhat.com/Red Hat Logo http://xmlsoft.org/Made with Libxml2 Logo 
Module xpointer from libxml2
API Menu ../index.htmlMain Menu ../docs.htmlDeveloper Menu ../examples/index.htmlCode Examples index.htmlAPI Menu libxml-parser.htmlParser API libxml-tree.htmlTree API libxml-xmlreader.htmlReader API ../guidelines.htmlXML Guidelines ../ChangeLog.htmlChangeLog API Indexes ../APIchunk0.htmlAlphabetic ../APIconstructors.htmlConstructors ../APIfunctions.htmlFunctions/Types ../APIfiles.htmlModules ../APIsymbols.htmlSymbols 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/libxml2Solaris binaries http://www.explain.com.au/oss/libxml2xslt.htmlMacOsX binaries http://libxmlplusplus.sourceforge.net/C++ bindings http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4PHP 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=libxml2Bug Tracker libxml-xpathInternals.htmlPrev libxml-xpathInternals.htmlxpathInternals index.htmlUp index.htmlAPI documentation ../index.htmlHome ../index.htmlThe 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 #xmlLocationSetxmlLocationSet struct _xmlLocationSet
Typedef libxml-xpointer.html#xmlLocationSetxmlLocationSet  * xmlLocationSetPtr libxml-tree.html#xmlNodePtrxmlNodePtr 	#xmlXPtrBuildNodeListxmlXPtrBuildNodeList 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrEvalxmlXPtrEval 	(const libxml-xmlstring.html#xmlCharxmlChar  * str, 					 libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx)void	#xmlXPtrEvalRangePredicatexmlXPtrEvalRangePredicate 	( libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt)void	#xmlXPtrFreeLocationSetxmlXPtrFreeLocationSet 		( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  obj)void	#xmlXPtrLocationSetAddxmlXPtrLocationSetAdd 		( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  cur, 					 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val) libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr 	#xmlXPtrLocationSetCreatexmlXPtrLocationSetCreate 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)void	#xmlXPtrLocationSetDelxmlXPtrLocationSetDel 		( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  cur, 					 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val) libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr 	#xmlXPtrLocationSetMergexmlXPtrLocationSetMerge 	( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  val1, 						 libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  val2)void	#xmlXPtrLocationSetRemovexmlXPtrLocationSetRemove 	( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  cur, 					 int val) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewCollapsedRangexmlXPtrNewCollapsedRange 	( libxml-tree.html#xmlNodePtrxmlNodePtr  start) libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr 	#xmlXPtrNewContextxmlXPtrNewContext 	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 						 libxml-tree.html#xmlNodePtrxmlNodePtr  here, 						 libxml-tree.html#xmlNodePtrxmlNodePtr  origin) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewLocationSetNodeSetxmlXPtrNewLocationSetNodeSet 	( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  set) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewLocationSetNodesxmlXPtrNewLocationSetNodes 	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 							 libxml-tree.html#xmlNodePtrxmlNodePtr  end) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewRangexmlXPtrNewRange 	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 					 int startindex, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  end, 					 int endindex) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewRangeNodeObjectxmlXPtrNewRangeNodeObject 	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 							 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  end) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewRangeNodePointxmlXPtrNewRangeNodePoint 	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 							 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  end) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewRangeNodesxmlXPtrNewRangeNodes 	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 						 libxml-tree.html#xmlNodePtrxmlNodePtr  end) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewRangePointNodexmlXPtrNewRangePointNode 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  start, 							 libxml-tree.html#xmlNodePtrxmlNodePtr  end) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrNewRangePointsxmlXPtrNewRangePoints 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  start, 						 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  end)void	#xmlXPtrRangeToFunctionxmlXPtrRangeToFunction 		( libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 					 int nargs) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPtrWrapLocationSetxmlXPtrWrapLocationSet 	( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  val)Description
Structure xmlLocationSet 
Structure xmlLocationSetstruct _xmlLocationSet {
    int	locNr	: number of locations in the set
    int	locMax	: size of the array as allocated
    
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  *	locTab	: array of locations
}
Function: xmlXPtrBuildNodeList
libxml-tree.html#xmlNodePtrxmlNodePtr 	xmlXPtrBuildNodeList	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlNodePtrxmlNodePtr  list or NULL. the caller has to free the node tree. Function: xmlXPtrEval
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrEval	(const libxml-xmlstring.html#xmlCharxmlChar  * str, 					 libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx)Evaluate the XPath Location Path in the given context.
str: the XPointer expression ctx: the XPointer context Returns: the libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  resulting from the evaluation or NULL. the caller has to free the object. Function: xmlXPtrEvalRangePredicate
void	xmlXPtrEvalRangePredicate	( libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  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#xmlLocationSetPtrxmlLocationSetPtr  obj)Free the LocationSet compound (not the actual ranges !).
obj: the libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  to free Function: xmlXPtrLocationSetAdd
void	xmlXPtrLocationSetAdd		( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  cur, 					 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)add a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlXPathObjectPtrxmlXPathObjectPtr Function: xmlXPtrLocationSetCreate
libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr 	xmlXPtrLocationSetCreate	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Create a new libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  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#xmlLocationSetPtrxmlLocationSetPtr  cur, 					 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Removes an libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  from an existing LocationSet
cur: the initial range set val: an libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr Function: xmlXPtrLocationSetMerge
libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr 	xmlXPtrLocationSetMerge	( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  val1, 						 libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  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#xmlLocationSetPtrxmlLocationSetPtr  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#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewCollapsedRange	( libxml-tree.html#xmlNodePtrxmlNodePtr  start)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  of type range using a single nodes
start: the starting and ending node Returns: the newly created object. Function: xmlXPtrNewContext
libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr 	xmlXPtrNewContext	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 						 libxml-tree.html#xmlNodePtrxmlNodePtr  here, 						 libxml-tree.html#xmlNodePtrxmlNodePtr  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#xmlXPathContextxmlXPathContext  just allocated. Function: xmlXPtrNewLocationSetNodeSet
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewLocationSetNodeSet	( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  set)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewLocationSetNodes	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 							 libxml-tree.html#xmlNodePtrxmlNodePtr  end)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewRange	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 					 int startindex, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  end, 					 int endindex)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewRangeNodeObject	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 							 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  end)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewRangeNodePoint	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 							 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  end)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewRangeNodes	( libxml-tree.html#xmlNodePtrxmlNodePtr  start, 						 libxml-tree.html#xmlNodePtrxmlNodePtr  end)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  of type range using 2 nodes
start: the starting node end: the ending node Returns: the newly created object. Function: xmlXPtrNewRangePointNode
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewRangePointNode	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  start, 							 libxml-tree.html#xmlNodePtrxmlNodePtr  end)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrNewRangePoints	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  start, 						 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  end)Create a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  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#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 					 int nargs)Implement the range-to() XPointer function
ctxt: the XPointer Parser context nargs: the number of args Function: xmlXPtrWrapLocationSet
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPtrWrapLocationSet	( libxml-xpointer.html#xmlLocationSetPtrxmlLocationSetPtr  val)Wrap the LocationSet @val in a new libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 
val: the LocationSet value Returns: the newly created object. ../bugs.htmlDaniel Veillard 
