/[cvs]/nfo/perl/libs/XML/XUpdate/XSLT.pm
ViewVC logotype

Diff of /nfo/perl/libs/XML/XUpdate/XSLT.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by joko, Tue May 6 14:24:06 2003 UTC revision 1.8 by joko, Fri Jun 6 04:01:52 2003 UTC
# Line 7  Line 7 
7  #    $Id$  #    $Id$
8  #  #
9  #    $Log$  #    $Log$
10    #    Revision 1.8  2003/06/06 04:01:52  joko
11    #    just write to STDERR in debug mode
12    #
13    #    Revision 1.7  2003/05/13 09:32:22  joko
14    #    minor update to pod
15    #
16    #    Revision 1.6  2003/05/07 03:11:28  joko
17    #    updated pod: new section "References", added item to "Todo" section
18    #
19  #    Revision 1.5  2003/05/06 14:24:06  joko  #    Revision 1.5  2003/05/06 14:24:06  joko
20  #    doesn't use Carp any more  #    doesn't use Carp any more
21  #    updated pod  #    updated pod
# Line 42  Line 51 
51    xupdate - Process XUpdate commands against an XML document.    xupdate - Process XUpdate commands against an XML document.
52    
53    
54  =head3 Their implementations differ:  =head4 Their implementations differ:
55    
56      1. xupdate (by Petr Pajas) uses ...      1. xupdate (by Petr Pajas) uses ...
57      XML::XUpdate::LibXML - Simple implementation of XUpdate format      XML::XUpdate::LibXML - Simple implementation of XUpdate format
# Line 57  Line 66 
66      2. This xupdate attempts to implement the XUpdate specs using XSLT only.      2. This xupdate attempts to implement the XUpdate specs using XSLT only.
67            
68    
69  =head3 Yet another xupdate - facts in short:  =head4 Yet another xupdate - facts in short:
70    
71    S: It would be nice to have a pure perl thingy which does (almost) the same stuff....    S: It would be nice to have a pure perl thingy which does (almost) the same stuff....
72        
# Line 73  Line 82 
82    S?: Proposal: XML::XUpdate::XSLT::API uses XML::XUpdate::XSLT::CRUD    S?: Proposal: XML::XUpdate::XSLT::API uses XML::XUpdate::XSLT::CRUD
83    
84    
85  =head4 Todo  =head3 References
86    
87        - XUpdate:
88          Requirements: http://www.xmldb.org/xupdate/xupdate-req.html
89          Working Draft: http://www.xmldb.org/xupdate/xupdate-wd.html
90        - XML API:
91        - XML::XUpdate::LibXML: http://search.cpan.org/author/PAJAS/XML-XUpdate-LibXML-0.4.0/lib/XML/XUpdate/LibXML.pm
92        - XSL / XSLT:
93          http://www.w3.org/TR/xslt
94          http://www.xsl-rp.de/
95          http://xml.klute-thiemann.de/w3c-de/REC-xslt-20020318/
96          http://xmlxslt.sourceforge.net/
97        - misc pointers:
98          "Re: Modify XML documents": http://aspn.activestate.com/ASPN/Mail/Message/perl-xml/1265431
99          XSL Extensions: http://xmlsoft.org/XSLT/extensions.html
100          EXSLT: http://www.exslt.org/set/functions/difference/index.html
101          "how to insert element at required position in document tree?": http://p2p.wrox.com/archive/xslt/2001-06/98.asp
102          XML APIs for Databases: http://www.javaworld.com/javaworld/jw-01-2000/jw-01-dbxml.html
103    
104    
105    =head3 Todo
106    
107    o What about proper encoding? (ISO-8859-1 or UTF-8)    o What about proper encoding? (ISO-8859-1 or UTF-8)
108    o Is it possible to create the required "xsl_template.xml" at runtime via XSL itself?    o Is it possible to create the required "xsl_template.xml" at runtime via XSL itself?
109    o Cache contents of external files (*.xml). Performance!    o Cache contents of external files (*.xml). Performance!
110    o Can exception / error-code handling be improved somehow?    o Can exception / error-code handling be improved somehow?
111        Esp.: It would be interesting, if the XUpdate payload actually could be applied, or not...        Esp.: It would be interesting, if the XUpdate payload actually could be applied, or not...
112      o Conditional processing: <xupdate:if>, etc.
113        
114    
115  =cut  =cut
# Line 153  sub open_document { Line 183  sub open_document {
183  sub open_xupdate {  sub open_xupdate {
184    my $self = shift;    my $self = shift;
185    my $xml = shift;    my $xml = shift;
186    # FIXME: check for filename, filehandle and U<RL (etc.)    # FIXME: check for filename, filehandle and URL (etc.)
187    $self->{XML}->{xupdate} = $xml;    $self->{XML}->{xupdate} = $xml;
188  }  }
189    
# Line 183  sub _apply { Line 213  sub _apply {
213    my $self = shift;    my $self = shift;
214        
215    # debug - print the calculated xsl on STDERR    # debug - print the calculated xsl on STDERR
216    #print STDERR $self->get_stylesheet("_worker"), "\n";    print STDERR $self->get_stylesheet("_worker"), "\n" if $self->{DEBUG};
217        
218    #return;    #return;
219    $self->{XSLT_ENGINE_LIVE} = XML::XSLT->new(    $self->{XSLT_ENGINE_LIVE} = XML::XSLT->new(

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed