/[cvs]/nfo/perl/libs/XML/XUpdate/xupdate2xsl.xml
ViewVC logotype

Diff of /nfo/perl/libs/XML/XUpdate/xupdate2xsl.xml

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

revision 1.2 by joko, Thu May 1 23:42:48 2003 UTC revision 1.3 by joko, Tue May 6 14:33:31 2003 UTC
# Line 2  Line 2 
2        
3    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4        
5        <!--        <!--
6          
7          xupdate2xsl: Translate XML document from namespace 'xupdate' to 'xsl'.
8          
9        Purpose of this XML Stylesheet is to implement a set of templates        Purpose of this XML Stylesheet is to implement a set of templates
10        to translate XUpdate lingo into an intermediate xslt stylesheet        to translate XUpdate lingo into an intermediate xslt stylesheet
11        which actually performs the update to the original xml document        which actually performs the update to the original xml document
12        in a second step.        in a second step.
13          
14        The required glue code - written in Perl - is available in module        The required glue code - written in Perl - is available in module
15        XML::XUpdate::XSLT. Please have a look at this to port it to other        XML::XUpdate::XSLT. Please have a look at this in order to use
16        languages.        this stylesheet from other bindings.
17          
18        -->        -->
19                
20        <xsl:output method="xml" />        <xsl:output method="xml" />
# Line 54  Line 59 
59                    <xsl:element name="xsl:copy"><xsl:element name="xsl:apply-templates" /></xsl:element>                    <xsl:element name="xsl:copy"><xsl:element name="xsl:apply-templates" /></xsl:element>
60                </xsl:element>                </xsl:element>
61                <xsl:element name="xsl:template">                <xsl:element name="xsl:template">
62                    <xsl:attribute name="match">*</xsl:attribute>                    <!-- <xsl:attribute name="match">*</xsl:attribute> -->
63                      <xsl:attribute name="match">*ab</xsl:attribute>
64                    <xsl:element name="xsl:call-template"><xsl:attribute name="name">passthru</xsl:attribute></xsl:element>                    <xsl:element name="xsl:call-template"><xsl:attribute name="name">passthru</xsl:attribute></xsl:element>
65                </xsl:element>                </xsl:element>
66                <xsl:element name="xsl:template">                <xsl:element name="xsl:template">
# Line 73  Line 79 
79    
80        <!-- code -->        <!-- code -->
81        <!-- This node "encapsulates" infrastructure for handling the directives. -->        <!-- This node "encapsulates" infrastructure for handling the directives. -->
82        <!-- FIXME: handle the other ones: append, remove, ect. -->        <!-- FIXME: handle the other ones: append, remove, etc. -->
83        <xsl:template match="xupdate:insert-after">        <xsl:template match="xupdate:insert-after">
84            <xsl:comment> 2. context finder </xsl:comment>            <xsl:comment> 2. context finder </xsl:comment>
85            <!-- <xsl:variable name="select" select="@select">Hello World!</xsl:variable> -->            <!-- <xsl:variable name="select" select="@select">Hello World!</xsl:variable> -->
# Line 86  Line 92 
92    
93            <!-- V2 -->            <!-- V2 -->
94            <xsl:element name="xsl:template">            <xsl:element name="xsl:template">
95                <!-- <xsl:attribute name="match">*</xsl:attribute> -->                <xsl:attribute name="match">*</xsl:attribute>
96                <xsl:attribute name="match">/addresses/address</xsl:attribute>                <!-- <xsl:attribute name="match">/addresses/address</xsl:attribute> -->
97                  <!-- <xsl:attribute name="match"><xsl:value-of select="@select" /></xsl:attribute> -->
98    
99            <xsl:element name="xsl:choose">            <xsl:element name="xsl:choose">
100                <!-- <xsl:attribute name="match"><xsl:value-of select="@select" /></xsl:attribute> -->                <!-- <xsl:attribute name="match"><xsl:value-of select="@select" /></xsl:attribute> -->
101              <xsl:element name="xsl:when">              <xsl:element name="xsl:when">
102                  <!-- <xsl:attribute name="test"><xsl:value-of select="@test" /></xsl:attribute> -->
103                <xsl:attribute name="test"><xsl:value-of select="@select" /></xsl:attribute>                <xsl:attribute name="test"><xsl:value-of select="@select" /></xsl:attribute>
104    
105                <!-- insert-before!!! -->                <!-- FIXME: case "insert-before"!!! -->
106                <!-- <xsl:apply-templates /> -->                <!-- <xsl:apply-templates /> -->
107    
108                <!-- call the "identity template rule" to passthru all childnodes -->                <!-- call the "identity template rule" to passthru all childnodes -->
109                <xsl:element name="xsl:call-template">                <xsl:element name="xsl:call-template">
110                  <xsl:attribute name="name">identity_template_rule</xsl:attribute>                  <xsl:attribute name="name">identity_template_rule</xsl:attribute>
111                    <!-- <xsl:attribute name="name">passthru</xsl:attribute> -->
112                </xsl:element>                </xsl:element>
113    
114                <!-- insert-after!!! -->                <!-- FIXME: case "insert-after"!!! -->
115                <xsl:apply-templates />                <xsl:apply-templates />
116    
117              </xsl:element>              </xsl:element>
# Line 111  Line 120 
120                <!-- call the "identity template rule" to passthru all childnodes -->                <!-- call the "identity template rule" to passthru all childnodes -->
121                <xsl:element name="xsl:call-template">                <xsl:element name="xsl:call-template">
122                  <xsl:attribute name="name">identity_template_rule</xsl:attribute>                  <xsl:attribute name="name">identity_template_rule</xsl:attribute>
123                    <!-- <xsl:attribute name="name">passthru</xsl:attribute> -->
124                </xsl:element>                </xsl:element>
125    
126                  <!-- <xsl:apply-templates /> -->
127    
128              </xsl:element>              </xsl:element>
129    
130            </xsl:element>            </xsl:element>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

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