[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Re: xsl-list Digest 1 Jul 2005 05:10:00 -0000 Issue 464


Subject: [xsl] Re: xsl-list Digest 1 Jul 2005 05:10:00 -0000 Issue 464
From: cookie king <cookieking@xxxxxxxxxxx>
Date: Tue, 05 Jul 2005 16:03:31 -0400

David,
Thanks worked perfect,

Cookie

Date: Thu, 30 Jun 2005 09:37:02 +0100
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
From: David Carlisle <davidc@xxxxxxxxx>
Subject: Re: [xsl] sorting issue
Message-Id: <200506300837.JAA23207@xxxxxxxxxxxxxxxxx>

<xsl:preserve-space elements="text"/>

that line isn't doing anything (preserve space is the default)

<xsl:apply-templates select="document(doc/@filename)/client">

This is just selecting one node from each document
which is why each document is sorted as a whole, you want t(I think) to
select all the subclients from all documents so that is

<xsl:apply-templates select="document(doc/@filename)/client/subclient">

and then sort them by title
                   <xsl:sort select="name/lname" />

(some of your subclients have a title not an name currently they'll all
sort together as "" you may want to have title|name/lname or something
I don't konw...

David


xsl-list-digest-help@xxxxxxxxxxxxxxxxxxxxxx wrote:


xsl-list Digest 1 Jul 2005 05:10:00 -0000 Issue 464

Topics (messages 18233 through 18282):

Re: sorting issue
	18233 by: omprakash.v.polaris.co.in
	18237 by: David Carlisle

Problems grouping adjacent siblings
	18234 by: Huditsch Roman
	18235 by: Mukul Gandhi
	18238 by: David Carlisle
	18239 by: Huditsch Roman
	18260 by: Michael Kay

Re: problems with copying duplicate nodes
	18236 by: Rahil Qamar

Re: [exslt] Re: [xsl] Importing compiled stylesheets
	18240 by: James Fuller
	18241 by: Colin Paul Adams
	18277 by: Michael Kay

Cocoon and CSS
	18242 by: Mike Holt

Re: [exslt] Re: Re: [xsl] Importing compiled stylesheets
	18243 by: James Fuller
	18273 by: Dimitre Novatchev
	18276 by: Michael Kay

XSLT2/XPath2 books
	18244 by: Sylvain Hellegouarch
	18245 by: James Fuller
	18246 by: Sylvain Hellegouarch
	18247 by: John
	18248 by: Sylvain Hellegouarch
	18261 by: Michael Kay
	18271 by: Dimitre Novatchev
	18274 by: Sylvain Hellegouarch

Re: Spam:[xsl] sorting issue
	18249 by: JBryant.s-s-t.com

priority attribute
	18250 by: Arian Hojat
	18251 by: Arian Hojat
	18255 by: David Carlisle
	18256 by: David Carlisle

Saxon SQL extension and Oracle Date format
	18252 by: Perry Molendijk
	18257 by: JBryant.s-s-t.com

an elements schema context via xslt
	18253 by: Jan Limpens
	18258 by: George Cristian Bina
	18259 by: Arian Hojat
	18266 by: Wendell Piez
	18267 by: Jan Limpens
	18269 by: Jan Limpens
	18270 by: Wendell Piez
	18278 by: Michael Kay

Re: priority attribute... Doh Solved
	18254 by: Arian Hojat

Building OpenURL formatted URLs in XSLT
	18262 by: GPoindexter.computer.org
	18279 by: Michael Kay

Group problem with blank elements
	18263 by: Ed Yau
	18264 by: JBryant.s-s-t.com
	18280 by: Michael Kay
	18282 by: Mukul Gandhi

Re: test if null
	18265 by: Wendell Piez
	18275 by: Michael Kay

select all answers belongs to one question from xml with xpath
	18268 by: 04083259.brookes.ac.uk
	18272 by: Joris Gillis

XSL related activities at Extreme Markup Languages
	18281 by: B. Tommie Usdin

Administrivia:

To subscribe to the digest, e-mail:
	<xsl-list-digest-subscribe@xxxxxxxxxxxxxxxxxxxxxx>

To unsubscribe from the digest, e-mail:
	<xsl-list-digest-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>

To post to the list, e-mail:
	<xsl-list@xxxxxxxxxxxxxxxxxxxxxx>


---------------------------------------------------------------------- Date: Thu, 30 Jun 2005 11:48:33 +0530 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: omprakash.v@xxxxxxxxxxxxx Subject: Re: [xsl] sorting issue Message-ID: <OF1E8BFA1C.F59486D6-ON65257030.00221CE6@xxxxxxxxxxxxx>

Hi,
       I have modified your stylesheet to make it work:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:preserve-space elements="text"/>
   <xsl:template match="masterfile">
       <merged>
           <table style="border:1px solid
#000000;border-collapse:collapse">
               <xsl:apply-templates
select="document(doc/@filename)/client">
                   <!-- <xsl:sort select="name"/> -->
      <!--             <xsl:sort select="subclient/name/lname" /> -->
               </xsl:apply-templates>
           </table>
       </merged>
   </xsl:template>
   <xsl:template match="text()">
       <xsl:value-of select="translate(., '&#xA;&#xD;', '  ')"/>
   </xsl:template>

<!-- newly added template for client and xsl:sort moved from above template
to here -->
<!-- major change was I modified the select attribute of sort to be
name/lname instead of subclient/name/lname -->
     <xsl:template match="client">
               <xsl:apply-templates select="subclient">
                   <xsl:sort select="name/lname" />
               </xsl:apply-templates>
     </xsl:template>

   <xsl:template match="client/subclient">
       <xsl:copy>
           <!-- <tr>
               <th>
                   <xsl:apply-templates select="title"/>
               </th>
           </tr> -->
           <tr>
               <td style="border:1px solid #000000">
                   <!-- <xsl:apply-templates select="@*|node()"/> -->
                   <!-- <xsl:apply-templates select="name"/> -->
                   <xsl:for-each select="name">
                       <xsl:sort select="lname" order="ascending"/>
                       <xsl:value-of select="fname"/>
                       <xsl:text>  </xsl:text>
                       <xsl:value-of select="lname"/>
                   </xsl:for-each>
                   <!--
                       <xsl:apply-templates select="lname"/> -->
               </td>
               <td style="border:1px solid #000000">
                   <xsl:apply-templates select="phones"/>
               </td>
               <td style="border:1px solid #000000">
                   <xsl:apply-templates select="address"/>
               </td>
           </tr>
       </xsl:copy>
   </xsl:template>
   <!--  <xsl:for-each select="name">
       <xsl:sort select="lname"/>
             <xsl:value-of select="fname"/>
       </xsl:for-each> -->
   <xsl:template match="address">
       <xsl:for-each select="line">
           <xsl:apply-templates/>
           <br/>
       </xsl:for-each>
       <xsl:value-of select="url"/>
       <br/>
       <xsl:value-of select="email"/>
       <br/>
   </xsl:template>
   <xsl:template match="name">
       <xsl:apply-templates/>
       <xsl:text>&#160;</xsl:text>
   </xsl:template>
</xsl:stylesheet>

Hope this helps.

Cheers,
prakash

cookie king <cookieking@comc To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx ast.net> cc: (bcc: omprakash.v/Polaris) Subject: [xsl] sorting issue 06/30/2005 06:27 AM Please respond to xsl-list

Recently submitted a post requesting help with sorting. my situation is
still the same. i am merging many documents. i get the sort to work but
not correctly. it appears to be looking at only the first node of each
file and sorting the files according to the first node. i need to sort
each individual file first. then merge the sort of all file, or sort
each file then merge all.

mastermerge.xsl
=====================================
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:preserve-space elements="text"/>
   <xsl:template match="masterfile">
       <merged>
           <table style="border:1px solid
#000000;border-collapse:collapse">
               <xsl:apply-templates
select="document(doc/@filename)/client">
                   <!-- <xsl:sort select="name"/> -->
                   <xsl:sort select="subclient/name/lname" />
               </xsl:apply-templates>
           </table>
       </merged>
   </xsl:template>
   <xsl:template match="text()">
       <xsl:value-of select="translate(., '&#xA;&#xD;', '  ')"/>
   </xsl:template>
   <xsl:template match="client/subclient">
       <xsl:copy>
           <!-- <tr>
               <th>
<xsl:apply-templates select="title"/>
               </th>
           </tr>
-->
           <tr>
               <td style="border:1px solid #000000">
                   <!-- <xsl:apply-templates select="@*|node()"/> -->
                   <!-- <xsl:apply-templates select="name"/> -->
                   <xsl:for-each select="name">
                       <xsl:sort select="lname" order="ascending"/>
                       <xsl:value-of select="fname"/>
                       <xsl:text>  </xsl:text>
                       <xsl:value-of select="lname"/>
                   </xsl:for-each>
                   <!--
                       <xsl:apply-templates
select="lname"/> -->
               </td>
               <td style="border:1px solid #000000">
                   <xsl:apply-templates select="phones"/>
               </td>
               <td style="border:1px solid #000000">
                   <xsl:apply-templates select="address"/>
               </td>
           </tr>
       </xsl:copy>
   </xsl:template>
   <!--  <xsl:for-each select="name">
       <xsl:sort select="lname"/>
<xsl:value-of select="fname"/>
       </xsl:for-each> -->
   <xsl:template match="address">
       <xsl:for-each select="line">
           <xsl:apply-templates/>
           <br/>
       </xsl:for-each>
       <xsl:value-of select="url"/>
       <br/>
       <xsl:value-of select="email"/>
       <br/>
   </xsl:template>
   <xsl:template match="name">
       <xsl:apply-templates/>
       <xsl:text>&#160;</xsl:text>
   </xsl:template>
</xsl:stylesheet>
====================================
file1.xml
====================================

<client>
   <subclient>
       <title>A</title>
   </subclient>
   <subclient>
       <name>
           <fname>Jack</fname>
           <lname>John</lname>
       </name>
       <phones>
           <phone/>
           <ext/>
           <fax/>
       </phones>
       <address>
       <line>address 1</line>
       <line>address 2</line>
       <url>www.what.com</url>
       <email/></address>
   </subclient>
</client>
===================================
masterfile.xml
===================================
<masterfile>
   <doc filename="file1.xml"/>
   <doc filename="file2.xml"/>
</masterfile>

This e-Mail may contain proprietary and confidential information and is sent for the intended recipient(s) only. If by an addressing or transmission error this mail has been misdirected to you, you are requested to delete this mail immediately.
You are also hereby notified that any use, any form of reproduction, dissemination, copying, disclosure, modification,
distribution and/or publication of this e-mail message, contents or its attachment other than by its intended recipient/s is strictly prohibited.


Visit Us at http://www.polaris.co.in

------------------------------

Date: Thu, 30 Jun 2005 09:37:02 +0100
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
From: David Carlisle <davidc@xxxxxxxxx>
Subject: Re: [xsl] sorting issue
Message-Id: <200506300837.JAA23207@xxxxxxxxxxxxxxxxx>

<xsl:preserve-space elements="text"/>

that line isn't doing anything (preserve space is the default)

<xsl:apply-templates select="document(doc/@filename)/client">

This is just selecting one node from each document
which is why each document is sorted as a whole, you want t(I think) to
select all the subclients from all documents so that is

<xsl:apply-templates select="document(doc/@filename)/client/subclient">

and then sort them by title
                   <xsl:sort select="name/lname" />

(some of your subclients have a title not an name currently they'll all
sort together as "" you may want to have title|name/lname or something
I don't konw...

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

------------------------------

Date: Thu, 30 Jun 2005 08:37:54 +0200
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx>
Subject: Problems grouping adjacent siblings
Message-ID: <AA7BAD89B2B0C746A26452F44939F1E301603DE1@xxxxxxxxxxxxxxxxxxxx>

Good morning list,

I would like to group adjacent siblings which share the same local-name
into a container element.

Given this structure

<ax>
 <e></e>
 <r></r>
 <exp>Example</exp>
 <exp>bla bla</exp>
 <exp>jada jada</exp>
 <b></b>
 <e></e>
 <exp>Example 2</exp>
 <exp>bla bla</exp>
 <v></v>
</ax>
<bx>
 <c></c>
 <exp>Example 3</exp>
 <exp>bla bla</exp>
 <b></b>
</bx>

The following output should be produced:

<ax>
 <e></e>
 <r></r>
   <remark>
 	<exp>Example</exp>
 	<exp>bla bla</exp>
 	<exp>jada jada</exp>
   </remark>
 <b></b>
 <e></e>
 <remark>
   <exp>Example 2</exp>
   <exp>bla bla</exp>
 </remark>
 <v></v>
</ax>
<bx>
 <c></c>
 <r></r>
 <remark> =20
   <exp>Example 3</exp>
   <exp>bla bla</exp>
 </remark>
 <b></b>
</bx>

I thought that this would be the classical use-case for an
<xsl:for-each-group> with @group-adjacent, but I am getting the
strangest results...
I don't even know if it is better to do the grouping in a template
matching
exp[not(preceding-sibling::*[1][local-name()=3D'exp']) or in a template
matching exp's parent
I also tried to find a @group-starting-with solution, since the first
<exp> always starts with the string 'Example'. But with no success
either....
Can you help me with this problem?
Thank you very much for your help!

Wbr,
Roman

------------------------------

Date: Thu, 30 Jun 2005 01:06:17 -0700 (PDT)
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx>
Subject: Re: [xsl] Problems grouping adjacent siblings
Message-ID: <20050630080617.29379.qmail@xxxxxxxxxxxxxxxxxxxxxxxxxxx>

Hi Roman,
 I thought the following stylesheet would have
worked.. But its not working. Its identity template
based ..

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" indent="yes" />

<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*" /> </xsl:copy>
</xsl:template>


<xsl:template match="exp">
 <xsl:if test="not(name(preceding-sibling::*[1]) =
'exp')">
   <remark>
     <xsl:copy-of select=". | following-sibling::exp"
/>
   </remark>
 </xsl:if>
</xsl:template>

</xsl:stylesheet>

Regards,
Mukul

--- Huditsch Roman <Roman.Huditsch@xxxxxxxxxxxxx>
wrote:



Good morning list,

I would like to group adjacent siblings which share
the same local-name
into a container element.

Given this structure

<ax>
 <e></e>
 <r></r>
 <exp>Example</exp>
 <exp>bla bla</exp>
 <exp>jada jada</exp>
 <b></b>
 <e></e>
 <exp>Example 2</exp>
 <exp>bla bla</exp>
 <v></v>
</ax>
<bx>
 <c></c>
 <exp>Example 3</exp>
 <exp>bla bla</exp>
 <b></b>
</bx>

The following output should be produced:

<ax>
<e></e>
<r></r>
<remark>
<exp>Example</exp>
<exp>bla bla</exp>
<exp>jada jada</exp>
</remark>
<b></b>
<e></e>
<remark>
<exp>Example 2</exp>
<exp>bla bla</exp>
</remark>
<v></v>
</ax>
<bx>
<c></c>
<r></r>
<remark> <exp>Example 3</exp>
<exp>bla bla</exp>
</remark>
<b></b>
</bx>


I thought that this would be the classical use-case
for an
<xsl:for-each-group> with @group-adjacent, but I am
getting the
strangest results...
I don't even know if it is better to do the grouping
in a template
matching
exp[not(preceding-sibling::*[1][local-name()='exp'])
or in a template
matching exp's parent
I also tried to find a @group-starting-with
solution, since the first
<exp> always starts with the string 'Example'. But
with no success
either....
Can you help me with this problem?
Thank you very much for your help!

Wbr,
Roman





__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com


------------------------------

Date: Thu, 30 Jun 2005 09:39:22 +0100
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
From: David Carlisle <davidc@xxxxxxxxx>
Subject: Re: [xsl] Problems grouping adjacent siblings
Message-Id: <200506300839.JAA23221@xxxxxxxxxxxxxxxxx>

You want to use group-adjacent, grouping on name() no need to use the
sibling axis explictly here.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

------------------------------

Date: Thu, 30 Jun 2005 10:57:17 +0200
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx>
Subject: AW: [xsl] Problems grouping adjacent siblings
Message-ID: <AA7BAD89B2B0C746A26452F44939F1E3A54884@xxxxxxxxxxxxxxxxxxxx>

Hi

With the help of a colleague, I managed to get a working solution.

<xsl:template match=3D"*[exp]">
  <xsl:copy>
     <xsl:for-each-group select=3D"*" group-adjacent=3D"if (self::exp) =
then 'remark' else 'other'">
	<xsl:choose>
  	   <xsl:when test=3D"current-grouping-key() =3D 'other'">
	      <xsl:copy-of select=3D"current-group()"/>
	   </xsl:when>
	   <xsl:otherwise>
	      <xsl:element name=3D"{current-grouping-key()}">
	         <xsl:copy-of select=3D"current-group()"/>
	      </xsl:element>
	   </xsl:otherwise>
	</xsl:choose>
        </xsl:for-each-group>
     </xsl:copy>
  </xsl:template>

Thanks for the help!

wbr,
Roman



-----Urspr=FCngliche Nachricht-----
Von: David Carlisle [mailto:davidc@xxxxxxxxx]=20
Gesendet: Donnerstag, 30. Juni 2005 10:39
An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Betreff: Re: [xsl] Problems grouping adjacent siblings
=20
=20
You want to use group-adjacent, grouping on name() no need to=20
use the sibling axis explictly here.
=20
David
=20
______________________________________________________________
__________
This e-mail has been scanned for all viruses by Star. The=20
service is powered by MessageLabs. For more information on a=20
proactive anti-virus service working around the clock, around=20
the globe, visit:
http://www.star.net.uk
______________________________________________________________
__________
=20
=20
=20



------------------------------


Date: Thu, 30 Jun 2005 18:01:27 +0100
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Subject: RE: [xsl] Problems grouping adjacent siblings



I would like to group adjacent siblings which share the same local-name
into a container element.


I thought that this would be the classical use-case for an
<xsl:for-each-group> with @group-adjacent, but I am getting the
strangest results...



I can't tell what you are doing wrong without seeing your code.


With ax as the context node, you can do

<xsl:for-each-group select="*" group-adjacent="local-name()">
 <xsl:choose>
   <xsl:when test="current-grouping-key()='ex'">
     <remark><xsl:copy-of select="current-group()"/></remark>
   </
   <xsl:otherwise>
     <xsl:copy-of select="current-group()"/>
   </
 </
</

Michael Kay
http://www.saxonica.com/


------------------------------

Date: Thu, 30 Jun 2005 09:31:55 +0100 (BST)
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
From: Rahil Qamar <qamar_rahil@xxxxxxxxxxx>
Subject: Re: [xsl] problems with copying duplicate nodes
Message-ID: <20050630083155.69005.qmail@xxxxxxxxxxxxxxxxxxxxxxxxxxx>

Thanks Mukul and David for the clarifications you
provided.

Much appreciate your help.
Rahil

--- Mukul Gandhi <mukul_gandhi@xxxxxxxxx> wrote:



Hi Rahil,

--- Rahil Qamar <qamar_rahil@xxxxxxxxxxx> wrote:


<xsl:variable name="rtf">
<temp>
<xsl:copy-of select="TD" />
</temp> </xsl:variable>


So the variable 'rtf' contained the entire TD
content.


The variable rtf (Result Tree Fragment) contains a
XML
fragment, which is part of the Result Tree ..



<xsl:for-each select="$rtf/temp/TD[generate-id() =
generate-id(key('by-td', .)[1])]">
    <xsl:copy-of select="." />
</xsl:for-each>

Then for each TD in the $rtf you checked whether
there
was a duplicate TD present bz comparing it with


the


first occurrence of TD.


Yes, thats true ..



Well I must thank you for providing me with a
solution. I had truly been struggling ! :)


I thank you for the nice problem you posted ..

Regards,
Mukul



Thanks
Rahil

--- Mukul Gandhi <mukul_gandhi@xxxxxxxxx> wrote:



Hi Rahil,
Please read my thoughts below your sentences


..


You
posted an interesting problem for me to find an
answer
.. Thanks..

--- Rahil Qamar <qamar_rahil@xxxxxxxxxxx> wrote:

(I am glad I was able to help ..)



The solution you posted worked even with my


Saxon


8.1.1 processor using XSLT 2.0.

Im getting the output just as I wanted but Im
intrigued about the functionality of the


<temp>


node


and how it eliminated the duplicates at a


later


stage.


I used temp as a convenience element, using


which


I


was able to distinguish element hierarchy


properly


..
We could write the stylesheet using without it


also


..
But I am not sure at this moment, how we should


do


that? I think David answered the question to


this


some
time back .. Please ask him :)



Just so I know how to resolve a similar query


in


future could you please explain what you did


in


the


<template match="TABLE/TR/TR"> block ?


In this template, I matched a pattern with a


portion


of the result tree (which was body of the


template)


..
I think the explanation could be as simple as


that


;)

Regards,
Mukul



Thanks again
Rahil



--- Mukul Gandhi <mukul_gandhi@xxxxxxxxx>


wrote:


Hi David,
Please read my response below your


comments


..


--- David Carlisle <davidc@xxxxxxxxx> wrote:



The stylesheet uses node-set function,


and


Muenchian
Grouping (over a RTF) ..


It _needs_ to use a node-set function, but


as


posted


you did not use it
(you need common:node-set($rtf))


Sorry if I am wrong. I tested the


stylesheet,


and


it


ran successfully with Saxon.



The stylesheet is tested with Saxon 8.4.

It's best not to test xslt 1 stylesheets


with


an


xslt2 processor.
As (as in this case) many things that


generate


an


error in xslt1 will
not be reported.


You are always right :)

Regards,
Mukul



David






________________________________________________________________________


This e-mail has been scanned for all


viruses


by


Star. The
service is powered by MessageLabs. For


more


information on a proactive
anti-virus service working around the


clock,


around


the globe, visit:
http://www.star.net.uk



________________________________________________________________________




=== message truncated ===




___________________________________________________________ Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com


------------------------------

Date: Thu, 30 Jun 2005 11:05:06 +0200
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
From: James Fuller <jim.fuller@xxxxxxxxxxxxxx>
CC: ElektonikaMail@xxxxxxxxxxxxxxxxxxxxxx, exslt@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Re: [exslt] Re: [xsl] Importing compiled stylesheets
Message-ID: <42C3B5C2.5010508@xxxxxxxxxxxxxx>

Colin Paul Adams wrote:



Mike, what you say is true, but is not relevant to the case.
xsl:use-when IS a compile-time construction - it runs at compile-time, not at run-time.
and the condiotion is not a runt-ime condition - element-available
evaluates, AT COMPILE TIME, whether or not the instruction is
available.





being very lazy at the moment,


is this behavior what the spec explicitly states or is it implementator
intepretation...also is it consistent between XSLT 1.0 and XSLT 2.0 ?

cheers, Jim Fuller

------------------------------

Date: 30 Jun 2005 10:48:17 +0100
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
From: Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx>
Cc: ElektonikaMail@xxxxxxxxxxxxxxxxxxxxxx, exslt@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Re: [exslt] Re: [xsl] Importing compiled stylesheets
Message-ID: <m3ll4s41lq.fsf@xxxxxxxxxxxxxxxxxx>



"James" == James Fuller <jim.fuller@xxxxxxxxxxxxxx> writes:



James> Colin Paul Adams wrote:
>>>>>>> Mike, what you say is true, but is not relevant to the
>>>>>>> case. xsl:use-when IS a compile-time construction - it
>>>>>>> runs at compile-time, not at run-time. and the condiotion
>>>>>>> is not a runt-ime condition - element-available evaluates,
>>>>>>> AT COMPILE TIME, whether or not the instruction is
>>>>>>> available.
>>>>>>> >>>>>>>


James> being very lazy at the moment,

   James> is this behavior what the spec explicitly states or is it
   James> implementator intepretation...also is it consistent between
   James> XSLT 1.0 and XSLT 2.0 ?

It is explicit, and it is not optional.

And it is not consistent, as XSLT 1.0 does not have a conditional
compilation facility.


Current Thread