XML::XUpdate::XSLT


back to top


NAME

  XML::XUpdate::XSLT - A perl module for updating xml documents using XUpdate via XSLT.

Overview

  This is not the same xupdate currently available from CPAN at
  http://search.cpan.org/author/PAJAS/XML-XUpdate-LibXML-0.4.0/xupdate .
  
  Its intention - however - is identical:
  xupdate - Process XUpdate commands against an XML document.

Their implementations differ:

    1. xupdate (by Petr Pajas) uses ...
    XML::XUpdate::LibXML - Simple implementation of XUpdate format 
    
    ... which is based on XML::LibXML which in turn is:
    [...]
    This module is an interface to the gnome libxml2 DOM parser (no SAX parser support yet), 
    and the DOM tree. It also provides an XML::XPath-like findnodes() interface, providing 
    access to the XPath API in libxml2. 
    [...]
    2. This xupdate attempts to implement the XUpdate specs using XSLT only.

Yet another xupdate - facts in short:

  S: It would be nice to have a pure perl thingy which does (almost) the same stuff....
  
  Q: Can we achieve compliance with its (XML::XUpdate::LibXML) API? (or just a subset ....)
  
  Q: Can we achieve the processing using CPAN's XML::XSLT?
  S: Proposal: XML::XUpdate::XSLT!?
  
  Q: Can we mimic/use the interface of the - already established - 'xupdate' program???
  
  Q: Should we follow the CRUD path first?
      (CRUD is the acronym for the datastore action primitives: Create, Retrieve, Update, Delete)
  S?: Proposal: XML::XUpdate::XSLT::API uses XML::XUpdate::XSLT::CRUD

References

    - XUpdate:
      Requirements: http://www.xmldb.org/xupdate/xupdate-req.html
      Working Draft: http://www.xmldb.org/xupdate/xupdate-wd.html
    - XML API:
    - XML::XUpdate::LibXML: http://search.cpan.org/author/PAJAS/XML-XUpdate-LibXML-0.4.0/lib/XML/XUpdate/LibXML.pm
    - XSL / XSLT:
      http://www.w3.org/TR/xslt
      http://www.xsl-rp.de/
      http://xml.klute-thiemann.de/w3c-de/REC-xslt-20020318/
      http://xmlxslt.sourceforge.net/
    - misc pointers:
      "Re: Modify XML documents": http://aspn.activestate.com/ASPN/Mail/Message/perl-xml/1265431
      XSL Extensions: http://xmlsoft.org/XSLT/extensions.html
      EXSLT: http://www.exslt.org/set/functions/difference/index.html
      "how to insert element at required position in document tree?": http://p2p.wrox.com/archive/xslt/2001-06/98.asp
      XML APIs for Databases: http://www.javaworld.com/javaworld/jw-01-2000/jw-01-dbxml.html

Todo

  o What about proper encoding? (ISO-8859-1 or UTF-8)
  o Is it possible to create the required "xsl_template.xml" at runtime via XSL itself?
  o Cache contents of external files (*.xml). Performance!
  o Can exception / error-code handling be improved somehow?
      Esp.: It would be interesting, if the XUpdate payload actually could be applied, or not...
  o Conditional processing: <xupdate:if>, etc.

back to top

 XML::XUpdate::XSLT