cl-libxml2


High-level wrapper around libxml2 and libxslt libraries

Sample

(xtree:with-parse-document (doc "<root><a /><b /><c /></root>") (iter (for node in-xpath-result "/root/node()" on doc) (collect (xtree:local-name node)))) ("a" "b" "c")

Documentation

Read

Features

  • Interfaces for tree manipulation (like cxml-stp)
  • Interface for an HTML 4.0 non-verifying parser
  • Specific APIs to process HTML tree, especially serialization
  • XPath API
  • XSLT API
  • Custom URL resolvers
  • XPath extension functions
  • XSLT extension elements
  • Translate libxml2 and libxslt errors to Lisp conditions
  • iterate drivers for enumerate child nodes and etc.
  • Simple and compact syntax for generating XML (xfactory)

News

  • 2009-12-15 Version 0.3.3
    • Added xpath:find-list function
    • Fixed bug in serializing to stream
  • 2009-10-19 Version 0.3.2
    • Added xfactory system (analog XUL Overlays)
    • Some small changes
  • 2009-06-15 Version 0.3.1
    • Change licence to Lisp-LGPL
    • The new XFACTORY system provides a simple and compact syntax for generating XML
    • Rename cl-libxml2-xslt system to cl-libxslt
    • New functions:
      • xtree:with-object macro (for with-libxml2-object replacement)
      • xtree:make-child-element
      • xtree:make-child-text
      • xtree:encode-entitites
      • xtree:encode-special-chars
      • xtree:document-properties
      • xtree:append-document-property
    • Added encoding and pretty-print keyword arguments to xtree:serialize generic function
    • Added parse-options to xtree:parse and xtree:process-xinclude functions
    • Added optional argument "document" in function xtree:make-process-instruction
    • In function xtree:make-document document-element argument is optional
    • Now xtree:namespace-uri and xtree:namespace-prefix is generic functions
    • Implemented method (setf xtree:base-url) ((empty (eql nil)) (node node))
    • Implemented use already exist "xpath context" in xslt:define-xslt-element
    • Some bug fixes
  • 2009-06-11 Source code was moved to github
  • 2009-02-06 Version 0.3 is released
    • Nickname tree for libxml2.tree package is removed
    • New function html:parse-html
    • New function html:create-html-document
    • New functions html:meta-encoding and (setf html:meta-encoding)
    • New function html:serialize-html
    • Implemented error handling for libxslt
    • New function html:html-p
    • New method xslt:transform (style (el xtree:node))
    • Some bug fixes
  • 2008-12-23 Version 0.2.5 is released.
  • 2008-11-27 Version 0.2.1 is released.
  • 2008-11-21 Version 0.2 is released.
  • Version 0.1 is release!

Project Information

Labels:
CommonLisp lisp libxml2 xml xpath xslt cffi