[cxml-cvs] CVS cxml/doc

dlichteblau dlichteblau at common-lisp.net
Sun Mar 2 17:03:13 UTC 2008


Update of /project/cxml/cvsroot/cxml/doc
In directory clnet:/tmp/cvs-serv6016/doc

Modified Files:
	index.xml xmls-compat.xml 
Log Message:
documentation update

--- /project/cxml/cvsroot/cxml/doc/index.xml	2007/12/22 15:24:52	1.22
+++ /project/cxml/cvsroot/cxml/doc/index.xml	2008/03/02 17:03:11	1.23
@@ -48,10 +48,12 @@
 	<a href="http://common-lisp.net/project/plexippus-xpath/">Plexippus</a>:
 	XPath 1.0
       </li>
+<!--
       <li>
 	<a href="http://repo.or.cz/w/xuriella.git">Xuriella</a>:
 	XSLT 1.0 (work in progress)
       </li>
+-->
       <li>
 	<a href="http://common-lisp.net/project/closure/closure-html/">Closure
 	  HTML</a>:
@@ -77,9 +79,13 @@
 	and sax:unescaped.
       </li>
       <li>
+	Added XPath support to the XMLS compatibility model.
+      </li>
+      <li>
 	Fixed various DTD serialization bugs.  Fixed xmls compatibility
 	bugs.  Fixed variable names in with-source.  Fixed
-	klacks-error export. 
+	klacks-error export.  Consistently use strings as base URIs.
+	Fixed PARSE for non-file-streams.
       </li>
     </ul>
     <div style="background-color: #f7f7f7;
--- /project/cxml/cvsroot/cxml/doc/xmls-compat.xml	2007/06/16 11:07:58	1.2
+++ /project/cxml/cvsroot/cxml/doc/xmls-compat.xml	2008/03/02 17:03:11	1.3
@@ -23,6 +23,7 @@
       only.  The old behaviour using pairs of prefix and local names
       was removed.
     </p>
+<!--
     <p>
       <strike>
 	fixme: It is unclear to me how namespaces are meant to
@@ -36,6 +37,7 @@
 	to me how that works in xmls.
       </strike>
     </p>
+-->
     <p>
       <div class="def">Function CXML-XMLS:MAKE-XMLS-BUILDER (&key include-default-values include-namespace-uri)</div>
       Create a SAX handler which builds XMLS list structures. 
@@ -87,5 +89,31 @@
       Accessors for xmls node data.
     </p>
     <p>
+      <div class="def">Accessor CXML-XMLS:MAKE-XPATH-NAVIGATOR ()</div>
+      Creates a navigator object for use with Plexippus XPath.
     </p>
+    <p>
+      Note that the navigator object caches parts of the document
+      structure, so when re-using a navigator across XPath evalutions,
+      make sure not to modify the list structure.
+    </p>
+    <p>
+      Example:
+    </p>
+    <pre>CL-USER> (defparameter *test-document*
+	   (cxml:parse
+            "<foo a='b'>
+               <a id='1'/> <b id='2'/> <c id='3'/>
+               <a id='4'/> <b id='5'/> <c id='6'/>
+               <a id='7'/> <b id='8'/> <c id='9'/>
+               <last/>
+             </foo>"
+	    (cxml-xmls:make-xmls-builder)))
+*TEST-DOCUMENT*</pre>
+<pre>CL-USER> (let ((xpath:*navigator* (cxml-xmls:make-xpath-navigator)))
+	   (xpath:evaluate "//c[position()=2]|//a[@id='1']"
+			   *test-document*))
+#<XPATH:NODE-SET (a ((id 1))), ... {27C751F1}></pre>
+<pre>CL-USER> (xpath:all-nodes *)
+(("a" (("id" "1"))) ("c" (("id" "6"))))</pre>
 </documentation>




More information about the Cxml-cvs mailing list