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"> |
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> |
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> |
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> |
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> |
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> |
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"> |
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"> |
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"> |
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"> |
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"> |
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 |
|
|