/[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.4 by joko, Wed May 7 03:40:30 2003 UTC revision 1.7 by joko, Fri Jun 6 04:02:34 2003 UTC
# Line 88  Line 88 
88    
89        <!-- Dispatch all "XUpdate Services" here. -->        <!-- Dispatch all "XUpdate Services" here. -->
90        <!-- FIXME: Actually implement action = "CREATE|RETRIEVE|UPDATE|DELETE"!!! -->        <!-- FIXME: Actually implement action = "CREATE|RETRIEVE|UPDATE|DELETE"!!! -->
91    
92          <!--
93            xsl for XUpdate Services [2 XUpdate Syntax] [2.3 Modifications]
94          -->
95    
96          <!-- xsl for [2.4 Inserts] -->
97        <xsl:template match="xupdate:insert-after">        <xsl:template match="xupdate:insert-after">
98            <!-- <xsl:variable name="select" select="@select">Hello World!</xsl:variable> -->            <!-- <xsl:variable name="select" select="@select">Hello World!</xsl:variable> -->
99            <xsl:call-template name="findcontext">            <xsl:call-template name="findcontext">
# Line 96  Line 102 
102            </xsl:call-template>            </xsl:call-template>
103        </xsl:template>        </xsl:template>
104    
105          <!-- xsl for [2.4 Inserts] -->
106        <xsl:template match="xupdate:insert-before">        <xsl:template match="xupdate:insert-before">
107            <xsl:call-template name="findcontext">            <xsl:call-template name="findcontext">
108              <xsl:with-param name="service">Insert</xsl:with-param>              <xsl:with-param name="service">Insert</xsl:with-param>
# Line 103  Line 110 
110            </xsl:call-template>            </xsl:call-template>
111        </xsl:template>        </xsl:template>
112    
113          <!-- xsl for [2.5 Append] -->
114        <xsl:template match="xupdate:append">        <xsl:template match="xupdate:append">
115            <xsl:call-template name="findcontext">            <xsl:call-template name="findcontext">
116              <xsl:with-param name="service">Append</xsl:with-param>              <xsl:with-param name="service">Append</xsl:with-param>
# Line 111  Line 119 
119            </xsl:call-template>            </xsl:call-template>
120        </xsl:template>        </xsl:template>
121    
122          <!-- xsl for [2.6 Update] -->
123        <xsl:template match="xupdate:update">        <xsl:template match="xupdate:update">
124            <xsl:call-template name="findcontext">            <xsl:call-template name="findcontext">
125              <xsl:with-param name="service">Update</xsl:with-param>              <xsl:with-param name="service">Update</xsl:with-param>
# Line 119  Line 128 
128            </xsl:call-template>            </xsl:call-template>
129        </xsl:template>        </xsl:template>
130    
131          <!-- xsl for [2.7 Remove] -->
132        <xsl:template match="xupdate:remove">        <xsl:template match="xupdate:remove">
133            <xsl:call-template name="findcontext">            <xsl:call-template name="findcontext">
134              <xsl:with-param name="service">Remove</xsl:with-param>              <xsl:with-param name="service">Remove</xsl:with-param>
135              <!-- <xsl:with-param name="position">after</xsl:with-param> -->              <!-- <xsl:with-param name="position">after</xsl:with-param> -->
136              <xsl:with-param name="test">.</xsl:with-param>              <!-- 2003-06-04: removed -->
137                <!-- <xsl:with-param name="test">.</xsl:with-param> -->
138            </xsl:call-template>            </xsl:call-template>
139        </xsl:template>        </xsl:template>
140    
141          <!-- xsl for [2.8 Rename] -->
142        <xsl:template match="xupdate:rename">        <xsl:template match="xupdate:rename">
143            <xsl:call-template name="findcontext">            <xsl:call-template name="findcontext">
144              <xsl:with-param name="service">Rename</xsl:with-param>              <xsl:with-param name="service">Rename</xsl:with-param>
# Line 146  Line 158 
158          <xsl:param name="position" />          <xsl:param name="position" />
159          <!-- new of 2003-05-07: replacement for test if undef -->          <!-- new of 2003-05-07: replacement for test if undef -->
160          <xsl:param name="test" />          <xsl:param name="test" />
         <xsl:param name="town" />  
           
         <xsl:variable name="town" select="huhu">haha</xsl:variable>  
161                    
162          <!--          <!--
163          <xsl:comment>          <xsl:comment>
# Line 301  Line 310 
310          element type seems dummy. Could this be stripped          element type seems dummy. Could this be stripped
311          shorter somehow sometimes?          shorter somehow sometimes?
312        -->        -->
313          
314          <!--
315            xsl for [2.4 Inserts]
316          -->
317    
318          <!-- xsl for [2.4.1 Creating Elements] -->
319        <xsl:template match="xupdate:element">        <xsl:template match="xupdate:element">
320            <xsl:comment> 3.a. vivify generic node </xsl:comment>            <xsl:comment> 3.a. vivify generic node </xsl:comment>
321            <xsl:element name="xsl:element">            <xsl:element name="xsl:element">
# Line 310  Line 324 
324            </xsl:element>            </xsl:element>
325        </xsl:template>        </xsl:template>
326        
327          <!-- xsl for [2.4.2 Creating Attributes] -->
328        <xsl:template match="xupdate:attribute">        <xsl:template match="xupdate:attribute">
329            <xsl:comment> 3.b. vivify node attributes </xsl:comment>            <xsl:comment> 3.b. vivify node attributes </xsl:comment>
330            <xsl:element name="xsl:attribute">            <xsl:element name="xsl:attribute">
# Line 318  Line 333 
333            </xsl:element>            </xsl:element>
334        </xsl:template>        </xsl:template>
335        
336          <!-- xsl for [2.4.3 Creating Text] -->
337        <xsl:template match="xupdate:text">        <xsl:template match="xupdate:text">
338            <xsl:comment> 4.a. vivify text node </xsl:comment>            <xsl:comment> 4.a. vivify text node </xsl:comment>
339            <xsl:element name="xsl:text">            <xsl:element name="xsl:text">
# Line 326  Line 342 
342            </xsl:element>            </xsl:element>
343        </xsl:template>        </xsl:template>
344    
345          <!-- xsl for [2.4.4 Creating Processing Instructions] -->
346        <xsl:template match="xupdate:processing-instruction">        <xsl:template match="xupdate:processing-instruction">
347            <xsl:comment> 4.b. vivify PI node </xsl:comment>            <xsl:comment> 4.b. vivify PI node </xsl:comment>
348            <xsl:element name="xsl:processing-instruction">            <xsl:element name="xsl:processing-instruction">
# Line 334  Line 351 
351            </xsl:element>            </xsl:element>
352        </xsl:template>        </xsl:template>
353    
354          <!-- xsl for [2.4.5 Creating Comments] -->
355        <xsl:template match="xupdate:comment">        <xsl:template match="xupdate:comment">
356            <xsl:comment> 4.c. vivify comment node </xsl:comment>            <xsl:comment> 4.c. vivify comment node </xsl:comment>
357            <xsl:element name="xsl:comment">            <xsl:element name="xsl:comment">
# Line 342  Line 360 
360            </xsl:element>            </xsl:element>
361        </xsl:template>        </xsl:template>
362    
363        <!-- xsl for [2.9 Variables and Values of Variables] -->  
364          <!--
365            xsl for [2.9 Variables and Values of Variables]
366            Encapsulates block payload into a named template.
367          -->
368        <xsl:template match="xupdate:variable">        <xsl:template match="xupdate:variable">
369            <xsl:comment> 5.a. vivify xsl-element "variable" </xsl:comment>            <xsl:comment> 5.a. vivify xsl-element "variable" </xsl:comment>
370            <xsl:element name="xsl:variable">            
371                <xsl:copy-of select="@*"/>            <xsl:element name="xsl:template">
372                  <xsl:attribute name="name">Variables</xsl:attribute>
373              
374                <!--                <!--
375                <xsl:apply-templates />                <xsl:element name="xsl:variable">
376                      <xsl:attribute name="name"><xsl:value-of select="@name" /></xsl:attribute>
377                  -->
378                  
379                  <xsl:choose>
380                  
381                    <!-- Mode 1 [spec]: just evaluate as (sub-)selection if "select"-attribute is not empty -->
382                    <xsl:when test="@select!=">
383                      <xsl:element name="xsl:apply-templates">
384                          <xsl:attribute name="select"><xsl:value-of select="@select" /></xsl:attribute>
385                      </xsl:element>
386                    </xsl:when>
387                    
388                    <!-- Mode 2 [feature]: in other cases: pass thru the current node w/o any operation(s) on it -->
389                    <xsl:otherwise>
390                        <xsl:value-of select="." />
391                    </xsl:otherwise>
392                        
393                  </xsl:choose>
394    
395                  <!--
396                  </xsl:element>
397                -->                -->
398              <!-- <xsl:element name="xsl:apply-templates" > -->  
               <xsl:attribute name="select">  
                 <!-- <xsl:apply-templates /> -->  
                 /addresses[2]/address[4]/town  
               </xsl:attribute>  
             <!-- </xsl:element> -->  
               hui  
399            </xsl:element>            </xsl:element>
400              
401        </xsl:template>        </xsl:template>
402    
403          <!--
404            xsl for [2.9 Variables and Values of Variables]
405            Calls encapsulated named template "Variables"
406            for each occourance of an "xupdate:value-of" element.
407          -->
408        <xsl:template match="xupdate:value-of">        <xsl:template match="xupdate:value-of">
409            <xsl:comment> 5.b. vivify xsl-element "value-of" </xsl:comment>            <xsl:comment> 5.b. vivify xsl-element "value-of" </xsl:comment>
410            <xsl:element name="xsl:value-of">            <xsl:element name="xsl:call-template">
411                <xsl:attribute name="name">Variables</xsl:attribute>
412              </xsl:element>
413              
414            <!-- is this required any more??? -->
415            <xsl:element name="xsl:value-of">
416                <xsl:copy-of select="@*"/>                <xsl:copy-of select="@*"/>
417                <xsl:apply-templates />                <!-- <xsl:apply-templates /> -->
418                  <!-- this propagates the original content -->
419                  <!-- <xsl:element name="xsl:apply-templates"> -->
420                    <!-- <xsl:attribute name="" > -->
421                  <!-- </xsl:element> -->
422            </xsl:element>            </xsl:element>
           <xsl:text>abs</xsl:text>  
423        </xsl:template>        </xsl:template>
424    
425    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.7

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