<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
  <channel>
    <title>
Altova Mailing List: xsl-list
    </title>
    <link>http://www.altova.com/</link>
    <description>Altova accelerates application development and data management projects with software and solutions that enhance productivity and maximize results. As an innovative, customer-focused company and the creator of XMLSpy and other leading XML, data administration, UML, and Web services tools, Altova is the choice of over 3 million clients worldwide, including virtually every Fortune 500 company. With customers ranging from vast development teams in the worldâ€™s largest organizations to progressive one-person shops, Altovaâ€™s line of software applications fulfills a broad spectrum of business needs. Altova is an active member of the World Wide Web Consortium (W3C) and Object Management Group (OMG) and is committed to delivering standards-based platform-independent solutions that are powerful, affordable, and easy to use. Altova was founded in 1992 and has headquarters in Beverly, Massachusetts and Vienna, Austria.</description>
    <language>en-us</language>
    <copyright>Copyright Â© 2005, 2006, 2007 Altova GmbH. All rights reserved. Altova, XMLSpy, MapForce, StyleVision, SemanticWorks, SchemaAgent, UModel, DiffDog, and Authentic are trademarks and/or registered trademarks of Altova GmbH in the United States and/or other countries. The names of and reference to other companies and products mentioned herein may be the trademarks of their respective owners.</copyright>
    <pubDate>Tue, 03 Jun 2008 10:00:00 EDT</pubDate>
    <lastBuildDate>Tue, 03 Jun 2008 10:00:00 EDT</lastBuildDate>
    <generator>Authentic RSS Editor, visit www.altova.com for details</generator>
    <managingEditor>pr@altova.com</managingEditor>
    <webMaster>webmaster@altova.com</webMaster>
    <image>
      <url>http://www.altova.com/images/logos/altova_right_120.gif</url>
      <title>ALTOVA</title>
      <link>http://www.altova.com/</link>
      <width>120</width>
      <height>24</height>
      <description>Altova Logo</description>
    </image>

<item>
<title>[xsl] Grouping by distinct combinations of descendant elements in xsl - 2/12/2012 8:49:00 PM</title>
<description><![CDATA[<pre>Hi.

I am currently trying to transform the xml as shown below.  It requires 
me to essentially find the distinct list of all people who have the same 
set of meeting dates and times, and then group them by those that have 
the same dates and times together.

i.e. a single invitee is never split over multiple appointment groups - 
if they have all days the same and one extra, then they become a new group.



&lt;Appointments&gt;
     &lt;Appointment Date=&quot;2011-01-01&quot; TimeOfDay=&quot;06:00:00&quot; 
AppointmentType=&quot;Meeting&quot;&gt;
         &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
     &lt;/Appointment&gt;
     &lt;Appointment Date=&quot;2011-01-02&quot; TimeOfDay=&quot;06:00:00&quot; 
AppointmentType=&quot;Meeting&quot;&gt;
         &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;Invitee Firstname=&quot;Gordon&quot; Surname=&quot;Jones&quot;/&gt;
     &lt;/Appointment&gt;
     &lt;Appointment Date=&quot;2011-01-03&quot; TimeOfDay=&quot;06:00:00&quot; 
AppointmentType=&quot;Meeting&quot;&gt;
         &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;Invitee Firstname=&quot;Gordon&quot; Surname=&quot;Jones&quot;/&gt;
     &lt;/Appointment&gt;
     &lt;Appointment Date=&quot;2011-01-02&quot; TimeOfDay=&quot;06:00:00&quot; 
AppointmentType=&quot;PhoneHookup&quot;&gt;
         &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
      &lt;/Appointment&gt;
&lt;/Appointments&gt;


Into:


&lt;MeetingPlan&gt;
     &lt;Appointments TimeOfDay=&quot;06:00:00&quot; AppointmentType=&quot;Meeting&quot;&gt;
         &lt;Dates&gt;
             &lt;MeetingDate date=&quot;2011-01-01&quot;/&gt;
             &lt;MeetingDate date=&quot;2011-01-02&quot;/&gt;
             &lt;MeetingDate date=&quot;2011-01-03&quot;/&gt;
         &lt;/Dates&gt;
         &lt;Invitees&gt;
             &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
             &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;/Invitees&gt;
     &lt;/Appointments&gt;
     &lt;Appointments TimeOfDay=&quot;06:00:00&quot; AppointmentType=&quot;Meeting&quot;&gt;
         &lt;Dates&gt;
             &lt;MeetingDate date=&quot;2011-01-02&quot;/&gt;
             &lt;MeetingDate date=&quot;2011-01-03&quot;/&gt;
         &lt;/Dates&gt;
         &lt;Invitees&gt;
             &lt;Invitee Firstname=&quot;Gordon&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;/Invitees&gt;
     &lt;/Appointments&gt;
     &lt;Appointments TimeOfDay=&quot;06:00:00&quot; AppointmentType=&quot;PhoneHookup&quot;&gt;
         &lt;Dates&gt;
             &lt;MeetingDate date=&quot;2011-01-02&quot;/&gt;
         &lt;/Dates&gt;
         &lt;Invitees&gt;
             &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
             &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;/Invitees&gt;
     &lt;/Appointments&gt;
&lt;/MeetingPlan&gt;




I've had some success thus far.  The following transform:


&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;
      xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot; 
xmlns:fn=&quot;http://www.w3.org/2005/xpath-functions&quot;
      xmlns:xd=&quot;http://www.oxygenxml.com/ns/doc/xsl&quot; 
exclude-result-prefixes=&quot;xd xs fn&quot; version=&quot;2.0&quot;&gt;
     &lt;xd:doc scope=&quot;stylesheet&quot;&gt;
         &lt;xd:desc&gt;
             &lt;xd:p&gt;&lt;xd:b&gt;Created on:&lt;/xd:b&gt; Feb 1, 2 amarendy&lt;/xd:p&gt;
             &lt;xd:p&gt;&lt;xd:b&gt;Author:&lt;/xd:b&gt;Anthony Marendy&lt;/xd:p&gt;
         &lt;/xd:desc&gt;
     &lt;/xd:doc&gt;
     &lt;xsl:template match=&quot;//Appointments&quot;&gt;
         &lt;MeetingPlan&gt;
             &lt;xsl:for-each-group select=&quot;//Invitee&quot; 
group-by=&quot;../@AppointmentType&quot;&gt;
                 &lt;xsl:variable name=&quot;currentAppointmentType&quot; 
select=&quot;current-grouping-key()&quot;/&gt;
                 &lt;xsl:for-each-group select=&quot;current-group()&quot; 
group-by=&quot;../@TimeOfDay&quot;&gt;

                     &lt;xsl:variable name=&quot;currentTimeOfDay&quot; 
select=&quot;current-grouping-key()&quot;/&gt;
                     &lt;xsl:variable 
name=&quot;appointmentsWithSameTypeAndTime&quot; select=&quot;current-group()&quot;/&gt;


                     &lt;xsl:for-each-group 
select=&quot;$appointmentsWithSameTypeAndTime&quot; group-by=&quot;@Surname&quot;&gt;
                         &lt;xsl:variable name=&quot;currentSurname&quot; 
select=&quot;current-grouping-key()&quot;/&gt;

                         &lt;xsl:for-each-group select=&quot;current-group()&quot; 
group-by=&quot;@Firstname&quot;&gt;
                             &lt;xsl:variable name=&quot;currentFirstname&quot; 
select=&quot;current-grouping-key()&quot;/&gt;


                             &lt;!-- Get the list of appointments that the 
current invitee has. --&gt;
                             &lt;xsl:variable name=&quot;inviteeAppointments&quot; 
select=&quot;for $d in current-group()/.. return $d&quot;/&gt;
                             &lt;xsl:if test=&quot;(count($inviteeAppointments) 
 &gt; 0)&quot;&gt;
                                 &lt;Appointments 
TimeOfDay=&quot;{$currentTimeOfDay}&quot; AppointmentType=&quot;{$currentAppointmentType}&quot;&gt;
                                     &lt;Dates&gt;
                                         &lt;xsl:for-each 
select=&quot;$inviteeAppointments&quot;&gt;
                                             &lt;MeetingDate date=&quot;{./@Date}&quot;/&gt;
                                         &lt;/xsl:for-each&gt;
                                     &lt;/Dates&gt;
                                     &lt;Invitees&gt;


                                         &lt;!-- Now loop through and find 
all invitees that have the same combination of appointments --&gt;

                                         &lt;xsl:for-each-group 
select=&quot;$appointmentsWithSameTypeAndTime&quot; group-by=&quot;@Surname&quot;&gt;
                                             &lt;xsl:variable 
name=&quot;loopSurname&quot; select=&quot;current-grouping-key()&quot;/&gt;
                                             &lt;xsl:for-each-group 
select=&quot;current-group()&quot; group-by=&quot;@Firstname&quot;&gt;
                                                 &lt;xsl:variable 
name=&quot;loopFirstname&quot; select=&quot;current-grouping-key()&quot;/&gt;
                                                 &lt;xsl:variable 
name=&quot;entriesForCurrentInvitee&quot; select=&quot;current-group()&quot;/&gt;
                                                 &lt;xsl:variable 
name=&quot;loopAppointments&quot; select=&quot;for $d in $entriesForCurrentInvitee/.. 
return $d&quot;/&gt;

                                                 &lt;xsl:if 
test=&quot;fn:deep-equal($loopAppointments, $inviteeAppointments)&quot;&gt;
                                                     &lt;Invitee 
Firstname=&quot;{$loopFirstname}&quot; Surname=&quot;{$loopSurname}&quot;/&gt;
                                                 &lt;/xsl:if&gt;

                                             &lt;/xsl:for-each-group&gt;
                                         &lt;/xsl:for-each-group&gt;
                                     &lt;/Invitees&gt;
                                 &lt;/Appointments&gt;
                             &lt;/xsl:if&gt;
                         &lt;/xsl:for-each-group&gt;
                     &lt;/xsl:for-each-group&gt;
                 &lt;/xsl:for-each-group&gt;
             &lt;/xsl:for-each-group&gt;
         &lt;/MeetingPlan&gt;
     &lt;/xsl:template&gt;
     &lt;xsl:template match=&quot;@*|node()&quot;&gt;
         &lt;xsl:copy&gt;
             &lt;xsl:apply-templates select=&quot;@*|node()&quot;/&gt;
         &lt;/xsl:copy&gt;
     &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;




Produces the following output:


&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;MeetingPlan&gt;
     &lt;Appointments TimeOfDay=&quot;06:00:00&quot; AppointmentType=&quot;Meeting&quot;&gt;
         &lt;Dates&gt;
             &lt;MeetingDate date=&quot;2011-01-01&quot;/&gt;
             &lt;MeetingDate date=&quot;2011-01-02&quot;/&gt;
             &lt;MeetingDate date=&quot;2011-01-03&quot;/&gt;
         &lt;/Dates&gt;
         &lt;Invitees&gt;
             &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
             &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;/Invitees&gt;
     &lt;/Appointments&gt;
     &lt;Appointments TimeOfDay=&quot;06:00:00&quot; AppointmentType=&quot;Meeting&quot;&gt;
         &lt;Dates&gt;
             &lt;MeetingDate date=&quot;2011-01-01&quot;/&gt;
             &lt;MeetingDate date=&quot;2011-01-02&quot;/&gt;
             &lt;MeetingDate date=&quot;2011-01-03&quot;/&gt;
         &lt;/Dates&gt;
         &lt;Invitees&gt;
             &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
             &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;/Invitees&gt;
     &lt;/Appointments&gt;
     &lt;Appointments TimeOfDay=&quot;06:00:00&quot; AppointmentType=&quot;Meeting&quot;&gt;
         &lt;Dates&gt;
             &lt;MeetingDate date=&quot;2011-01-02&quot;/&gt;
             &lt;MeetingDate date=&quot;2011-01-03&quot;/&gt;
         &lt;/Dates&gt;
         &lt;Invitees&gt;
             &lt;Invitee Firstname=&quot;Gordon&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;/Invitees&gt;
     &lt;/Appointments&gt;
     &lt;Appointments TimeOfDay=&quot;06:00:00&quot; AppointmentType=&quot;PhoneHookup&quot;&gt;
         &lt;Dates&gt;
             &lt;MeetingDate date=&quot;2011-01-02&quot;/&gt;
         &lt;/Dates&gt;
         &lt;Invitees&gt;
             &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
             &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;/Invitees&gt;
     &lt;/Appointments&gt;
     &lt;Appointments TimeOfDay=&quot;06:00:00&quot; AppointmentType=&quot;PhoneHookup&quot;&gt;
         &lt;Dates&gt;
             &lt;MeetingDate date=&quot;2011-01-02&quot;/&gt;
         &lt;/Dates&gt;
         &lt;Invitees&gt;
             &lt;Invitee Firstname=&quot;Martha&quot; Surname=&quot;Jones&quot;/&gt;
             &lt;Invitee Firstname=&quot;Louis&quot; Surname=&quot;Jones&quot;/&gt;
         &lt;/Invitees&gt;
     &lt;/Appointments&gt;
&lt;/MeetingPlan&gt;


The way the transform works is that it works its way down find a 
particular appointment type and time, then it determines the list of 
dates for that appointment. It then loops through all of the 
appointments of that type and time to find any that have the same set of 
dates.

You can see that the output the problem is that the output is 
duplicated.  The reason is that that there are multiple appointments in 
the same set, and each of these will match in the second lookup.

Firstly, I just can't help but feeling I'm going about this the wrong 
way, so suggestions to other approaches would be appreciated.
Alternately, can anyone suggest how I could remove these duplicates?
I have thought about passing the result through a second stylesheet - 
which I could live with, but would prefer a different solution.


Thanks,
Anthony.







--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324681.html</link>
</item><item>
<title>Re: [xsl] recreate apply-templates using a function - 2/12/2012 4:44:00 PM</title>
<description><![CDATA[<pre>&gt; What's the issue there?
&gt;
&gt; It should really have have a return type of item()*, and the param
&gt; should really be called 'node-list' rather than 'context':
&gt;
&gt; &lt;xsl:function name=&quot;f:apply-templates&quot; as=&quot;item()*&quot;&gt;
&gt;   &lt;xsl:param name=&quot;node-list&quot; as=&quot;node()*&quot;/&gt;
&gt;   &lt;xsl:apply-templates select=&quot;$node-list/&gt;
&gt; &lt;/xsl:function&gt;
&gt;
&gt; anything else?
&gt;

One possible issue is that people may want the results to correspond
to the sequence order of the argument.

This could be &quot;assured&quot; if you use:

&lt;xsl:for-each select=&quot;$node-list&quot;&gt;
  &lt;xsl:apply-templates select=&quot;.&quot;/&gt;
&lt;/xsl:for-each&gt;

However, if you use this apply() function in:

/a/b/f:apply()

the results will be deduplicated and sorted in document order. If new
nodes are created, their order will be unpredictable
(implementation-dependent).

It is still OK to use such a function within an XPath expression if
order and deduplication don't matter, though.


Cheers,
Dimitre

On Sun, Feb 12, 2012 at 8:30 AM, Andrew Welch &lt;andrew.j.welch@gmail.com&gt; wrote:
&gt; Hi Dimitre,
&gt;
&gt; On 12 February 2012 15:48, Dimitre Novatchev &lt;dnovatchev@gmail.com&gt; wrote:
&gt;&gt; On Sun, Feb 12, 2012 at 5:24 AM, Andrew Welch &lt;andrew.j.welch@gmail.com&gt; wrote:
&gt;&gt;&gt; If you needed to call apply-templates using a function call (say as
&gt;&gt;&gt; part of an xpath) any reason why this wouldn't be fine:
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;xsl:function name=&quot;f:apply-templates&quot; as=&quot;node()*&quot;&gt;
&gt;&gt;&gt; &#194;&#160; &#194;&#160;&lt;xsl:param name=&quot;context&quot; as=&quot;node()*&quot;/&gt;
&gt;&gt;&gt; &#194;&#160; &#194;&#160;&lt;xsl:apply-templates select=&quot;$context&quot;/&gt;
&gt;&gt;&gt; &lt;/xsl:function&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; with:
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;xsl:sequence select=&quot;f:apply-templates(child::node())&quot;/&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; (ignoring modes and params etc)
&gt;&gt;&gt;
&gt;&gt;&gt; Seems ok to me...
&gt;&gt;
&gt;&gt; Except when you use it as the second operand of the / operator.
&gt;
&gt; What's the issue there?
&gt;
&gt; It should really have have a return type of item()*, and the param
&gt; should really be called 'node-list' rather than 'context':
&gt;
&gt; &lt;xsl:function name=&quot;f:apply-templates&quot; as=&quot;item()*&quot;&gt;
&gt; &#194;&#160; &lt;xsl:param name=&quot;node-list&quot; as=&quot;node()*&quot;/&gt;
&gt; &#194;&#160; &lt;xsl:apply-templates select=&quot;$node-list/&gt;
&gt; &lt;/xsl:function&gt;
&gt;
&gt; anything else?
&gt;
&gt; --
&gt; Andrew Welch
&gt; http://andrewjwelch.com
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#194;&#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324680.html</link>
</item><item>
<title>Re: [xsl] recreate apply-templates using a function - 2/12/2012 4:35:00 PM</title>
<description><![CDATA[<pre>&gt; You appear to propose the FXSL's &#160;f:apply() function that was
&gt; published more than seven years ago. :)

Ha ok... I was just watching Evan Lenz's talk at xmlprague where he
mentioned an issue with xslt was the lack of the ability to call
apply-templates as a function.



-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324679.html</link>
</item><item>
<title>Re: [xsl] recreate apply-templates using a function - 2/12/2012 4:30:00 PM</title>
<description><![CDATA[<pre>Andrew,

You appear to propose the FXSL's  f:apply() function that was
published more than seven years ago. :)


Cheers,
Dimitre

On Sun, Feb 12, 2012 at 5:24 AM, Andrew Welch &lt;andrew.j.welch@gmail.com&gt; wrote:
&gt; If you needed to call apply-templates using a function call (say as
&gt; part of an xpath) any reason why this wouldn't be fine:
&gt;
&gt; &lt;xsl:function name=&quot;f:apply-templates&quot; as=&quot;node()*&quot;&gt;
&gt; &#194;&#160; &#194;&#160;&lt;xsl:param name=&quot;context&quot; as=&quot;node()*&quot;/&gt;
&gt; &#194;&#160; &#194;&#160;&lt;xsl:apply-templates select=&quot;$context&quot;/&gt;
&gt; &lt;/xsl:function&gt;
&gt;
&gt; with:
&gt;
&gt; &lt;xsl:sequence select=&quot;f:apply-templates(child::node())&quot;/&gt;
&gt;
&gt; (ignoring modes and params etc)
&gt;
&gt; Seems ok to me...
&gt;
&gt;
&gt; --
&gt; Andrew Welch
&gt; http://andrewjwelch.com
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#194;&#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324677.html</link>
</item><item>
<title>Re: [xsl] recreate apply-templates using a function - 2/12/2012 4:30:00 PM</title>
<description><![CDATA[<pre>Hi Dimitre,

On 12 February 2012 15:48, Dimitre Novatchev &lt;dnovatchev@gmail.com&gt; wrote:
&gt; On Sun, Feb 12, 2012 at 5:24 AM, Andrew Welch &lt;andrew.j.welch@gmail.com&gt; wrote:
&gt;&gt; If you needed to call apply-templates using a function call (say as
&gt;&gt; part of an xpath) any reason why this wouldn't be fine:
&gt;&gt;
&gt;&gt; &lt;xsl:function name=&quot;f:apply-templates&quot; as=&quot;node()*&quot;&gt;
&gt;&gt; &#160; &#160;&lt;xsl:param name=&quot;context&quot; as=&quot;node()*&quot;/&gt;
&gt;&gt; &#160; &#160;&lt;xsl:apply-templates select=&quot;$context&quot;/&gt;
&gt;&gt; &lt;/xsl:function&gt;
&gt;&gt;
&gt;&gt; with:
&gt;&gt;
&gt;&gt; &lt;xsl:sequence select=&quot;f:apply-templates(child::node())&quot;/&gt;
&gt;&gt;
&gt;&gt; (ignoring modes and params etc)
&gt;&gt;
&gt;&gt; Seems ok to me...
&gt;
&gt; Except when you use it as the second operand of the / operator.

What's the issue there?

It should really have have a return type of item()*, and the param
should really be called 'node-list' rather than 'context':

&lt;xsl:function name=&quot;f:apply-templates&quot; as=&quot;item()*&quot;&gt;
   &lt;xsl:param name=&quot;node-list&quot; as=&quot;node()*&quot;/&gt;
   &lt;xsl:apply-templates select=&quot;$node-list/&gt;
&lt;/xsl:function&gt;

anything else?

-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324678.html</link>
</item><item>
<title>Re: [xsl] recreate apply-templates using a function - 2/12/2012 3:49:00 PM</title>
<description><![CDATA[<pre>On Sun, Feb 12, 2012 at 5:24 AM, Andrew Welch &lt;andrew.j.welch@gmail.com&gt; wrote:
&gt; If you needed to call apply-templates using a function call (say as
&gt; part of an xpath) any reason why this wouldn't be fine:
&gt;
&gt; &lt;xsl:function name=&quot;f:apply-templates&quot; as=&quot;node()*&quot;&gt;
&gt; &#194;&#160; &#194;&#160;&lt;xsl:param name=&quot;context&quot; as=&quot;node()*&quot;/&gt;
&gt; &#194;&#160; &#194;&#160;&lt;xsl:apply-templates select=&quot;$context&quot;/&gt;
&gt; &lt;/xsl:function&gt;
&gt;
&gt; with:
&gt;
&gt; &lt;xsl:sequence select=&quot;f:apply-templates(child::node())&quot;/&gt;
&gt;
&gt; (ignoring modes and params etc)
&gt;
&gt; Seems ok to me...

Except when you use it as the second operand of the / operator.



&gt;
&gt;
&gt; --
&gt; Andrew Welch
&gt; http://andrewjwelch.com
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#194;&#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324676.html</link>
</item><item>
<title>[xsl] recreate apply-templates using a function - 2/12/2012 1:25:00 PM</title>
<description><![CDATA[<pre>If you needed to call apply-templates using a function call (say as
part of an xpath) any reason why this wouldn't be fine:

&lt;xsl:function name=&quot;f:apply-templates&quot; as=&quot;node()*&quot;&gt;
    &lt;xsl:param name=&quot;context&quot; as=&quot;node()*&quot;/&gt;
    &lt;xsl:apply-templates select=&quot;$context&quot;/&gt;
&lt;/xsl:function&gt;

with:

&lt;xsl:sequence select=&quot;f:apply-templates(child::node())&quot;/&gt;

(ignoring modes and params etc)

Seems ok to me...


-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324675.html</link>
</item><item>
<title>Re: [xsl] XSLT containing javascript code with '&lt;' - 2/12/2012 12:38:00 PM</title>
<description><![CDATA[<pre>On 11/02/2012 19:58, Wolfgang Laun wrote:
&gt; which Chrome refuses to accept as correct javascript, and I think it is right.

Chrome would have accepted had you served it with the correct mime type 
(application/xhtml+xml) If you serve it as text/html then chrome (and 
other browsers) expects to get html not xml. Saxon would have generated 
an html form of the output had you used xsl:output method=&quot;html&quot;.

David

-- 
google plus: https:/profiles.google.com/d.p.carlisle

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324674.html</link>
</item><item>
<title>Re: [xsl] XSLT containing javascript code with '&lt;' - 2/12/2012 11:34:00 AM</title>
<description><![CDATA[<pre>Wolfgang Laun wrote:

&gt; &lt;xsl:stylesheet version=&quot;2.0&quot;
&gt;      xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;
&gt;      xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;
&gt;      xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&gt;
&gt; &lt;xsl:output method = &quot;html&quot; cdata-section-elements=&quot;script&quot; encoding =
&gt; &quot;UTF-8&quot; indent = &quot;yes&quot;/&gt;
&gt;
&gt; &lt;xsl:template match=&quot;/&quot;&gt;
&gt; &lt;html&gt;
&gt;    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&gt;    &lt;head&gt;
&gt;      &lt;script type=&quot;text/javascript&quot;&gt;&lt;![CDATA[
&gt; function restore(){
&gt;     if( 1&lt;  10 )  alert(&quot;x&quot;);  // something else in reality.
&gt; }
&gt; ]]&gt;&lt;/script&gt;
&gt;      &lt;title&gt;X&lt;/title&gt;
&gt;    &lt;/head&gt;
&gt;    &lt;body&gt;
&gt;    &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; &lt;/xsl:template&gt;
&gt; &lt;/xsl:stylesheet&gt;
&gt;
&gt; However, the output from Saxon 9 (latest) contains
&gt;      if( 1&amp;lt; 10 )  alert(&quot;x&quot;);
&gt; which Chrome refuses to accept as correct javascript, and I think it is right.
&gt;
&gt; Omitting cdata-section-elements=&quot;script&quot; doesn't alter anything, of course.

For text/html, consider to create HTML 4 or HTML5 with no namespaces 
with output method &quot;html&quot;, then the XSLT processor will serialize inline 
script correctly for browsers with their tag soup text/html parsers or 
with their recent move to HTML5 parsers.
You currently have output method &quot;html&quot; which is intended for HTML 4 and 
text/html with HTML elements being in no namespace, yet your result 
elements are in the XHTML namespace, so the serialization rules that the 
output method &quot;html&quot; mandates are not applied to your result elements.

There is also in XSLT 2.0 an output method &quot;xhtml&quot; aimed at outputting 
XHTML 1.0 as text/html but I don't think it is helpful with inline 
script. If you really want to create XHTML but want it to be served as 
text/html then I agree with Andrew that using external script files is 
the right approach to avoid all these problems with incompatibilites 
between SGML or tag soup HTML parsing rules and XML serialization syntax.




-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324673.html</link>
</item><item>
<title>Re: [xsl] XSLT containing javascript code with '&lt;' - 2/11/2012 10:11:00 PM</title>
<description><![CDATA[<pre>&gt; &#160; &#160;&lt;script type=&quot;text/javascript&quot;&gt;&lt;![CDATA[

&gt; Any ideas?

By far the easiest and best long term approach is to use an external js file.



-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324671.html</link>
</item><item>
<title>[xsl] XSLT containing javascript code with '&lt;' - 2/11/2012 7:59:00 PM</title>
<description><![CDATA[<pre>This is the essential part of what I have (after some research):

&lt;xsl:stylesheet version=&quot;2.0&quot;
    xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;
    xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;
    xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;

&lt;xsl:output method = &quot;html&quot; cdata-section-elements=&quot;script&quot; encoding =
&quot;UTF-8&quot; indent = &quot;yes&quot;/&gt;

&lt;xsl:template match=&quot;/&quot;&gt;
&lt;html&gt;
  &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
  &lt;head&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;&lt;![CDATA[
function restore(){
   if( 1 &lt; 10 )  alert(&quot;x&quot;);  // something else in reality.
}
]]&gt;&lt;/script&gt;
    &lt;title&gt;X&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;/body&gt;
&lt;/html&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;

However, the output from Saxon 9 (latest) contains
    if( 1 &amp;lt; 10 )  alert(&quot;x&quot;);
which Chrome refuses to accept as correct javascript, and I think it is right.

Omitting cdata-section-elements=&quot;script&quot; doesn't alter anything, of course.

Any ideas?
Wolfgang

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324670.html</link>
</item><item>
<title>Re: [xsl] Late requirement for uniform wrapping of differently - 2/11/2012 4:23:00 PM</title>
<description><![CDATA[<pre>On Sat, Feb 11, 2012 at 04:22:47PM +0100, Wolfgang Laun scripsit:
&gt; My XSLT generates a HTML document containing (almost) nothing except
&gt; &lt;h*&gt; and &lt;table&gt;. I wrote it as a template reflecting the &lt;html&gt;
&gt; structure, with called templates pulling in the data from the XML
&gt; source. It is within these called templates that the various &lt;table&gt;
&gt; elements (of differing structure) are generated.
&gt; 
&gt; An new requirement demands that all the various &lt;table&gt; elements are
&gt; to be wrapped with another &lt;table&gt; (with a single &lt;tr&gt;) for layout
&gt; purposes, adding one &lt;td&gt; with uniform contents to the &lt;td&gt; containing
&gt; the original table.
&gt; 
&gt; I cannot insert two different template calls producing the outer
&gt; table's introduction and completion, respectively: they each would
&gt; contain unbalanced data.

Supposing you are using XSLT2, this seems like a textbook example of
when to use xsl:next-match; the higher priority &quot;outer&quot; match creates
the wrapper, the normal-priority &quot;inner&quot; match creates the table.

Generally, I suspect this is a case where making the table creators
callable named templates might not be what you want; it compels you to
manage the logic of which table to create when.  If you could do that
via source document template matches, a whole lot of the headache
vanishes into the XSLT processor's domain.

-- Graydon
-- 
Graydon Saunders
graydon@epiphyte.net

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324669.html</link>
</item><item>
<title>Re: [xsl] Late requirement for uniform wrapping of differently - 2/11/2012 4:17:00 PM</title>
<description><![CDATA[<pre>On 11 February 2012 16:59, Andrew Welch &lt;andrew.j.welch@gmail.com&gt; wrote:
&gt;&gt; An new requirement demands that all the various &lt;table&gt; elements are
&gt;&gt; to be wrapped with another &lt;table&gt; (with a single &lt;tr&gt;) for layout
&gt;&gt; purposes, adding one &lt;td&gt; with uniform contents to the &lt;td&gt; containing
&gt;&gt; the original table.
&gt;
&gt; It's hard to give a decent answer with an actual example, but 2 options are:
&gt;
&gt; - modify the transform to just output the wrapper code

This would be the added layout table for enclosing the actual table
and the new additions - but how would the original tables be added?

&lt;table class=&quot;wrapper&quot;&gt;
  &lt;tr&gt;
     &lt;td&gt;&lt;table class=&quot;original table, one of many different
tables&quot;&gt;&lt;tr&gt;...&lt;/table&gt;&lt;/td&gt;
     &lt;td&gt;&lt;div class=&quot;new stuff, same for all&quot;/&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&gt;
&gt; - use 'micro-pipelining' to post-process the result to wrap the &lt;table&gt;s

OK, I understand. But I'd have to identify the &quot;original&quot; tables or
XPath-pick them carefully because a &lt;table&gt; might crop up as an
element within an &quot;original&quot; table.

Thanks
Wolfgang

&gt; --
&gt; Andrew Welch
&gt; http://andrewjwelch.com
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324668.html</link>
</item><item>
<title>Re: [xsl] Late requirement for uniform wrapping of differently - 2/11/2012 4:00:00 PM</title>
<description><![CDATA[<pre>&gt; An new requirement demands that all the various &lt;table&gt; elements are
&gt; to be wrapped with another &lt;table&gt; (with a single &lt;tr&gt;) for layout
&gt; purposes, adding one &lt;td&gt; with uniform contents to the &lt;td&gt; containing
&gt; the original table.

It's hard to give a decent answer with an actual example, but 2 options are:

- modify the transform to just output the wrapper code

- use 'micro-pipelining' to post-process the result to wrap the &lt;table&gt;s



-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324667.html</link>
</item><item>
<title>Re: [xsl] can this idea work ? - 2/11/2012 3:56:00 PM</title>
<description><![CDATA[<pre>Hello Roelof,

Roelof Wobben wrote:
&gt; &lt;xsl:template match=&quot;dagboek/entry&quot; &gt;
&gt;     &lt;h3&gt; 
&gt;     &lt;xsl:value-of select=&quot;titel&quot; /&gt; 
&gt;   &lt;/h3&gt;
&gt;      &lt;xsl:apply-templates select=&quot;dagboek/entry[nieuwe-pagina = 'yes']&quot; mode=&quot;pagegroup&quot; /&gt;
&gt;       &lt;xsl:apply-templates select=&quot;tekst&quot; /&gt;
&gt;    &lt;/div&gt;
&gt; &lt;/xsl:template&gt;

In this template, the context node is a &lt;entry&gt; element, therefore 
'apply-templates select=&quot;dagboek/entry[...' does not select anything: 
there is no /data/dagboek/entry/dagboek/entry in your input XML.

I'm not sure what you want to achieve with this apply-templates, either, 
since it is located between the code for 'titel' and 'tekst'. Just guessing, 
a better place for this apply-templates would be in the 'data' template.

Also, you may want to use either 'yes' or 'Yes' (like in your XML data).

Markus


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324666.html</link>
</item><item>
<title>[xsl] Late requirement for uniform wrapping of differently generated - 2/11/2012 3:23:00 PM</title>
<description><![CDATA[<pre>My XSLT generates a HTML document containing (almost) nothing except
&lt;h*&gt; and &lt;table&gt;. I wrote it as a template reflecting the &lt;html&gt;
structure, with called templates pulling in the data from the XML
source. It is within these called templates that the various &lt;table&gt;
elements (of differing structure) are generated.

An new requirement demands that all the various &lt;table&gt; elements are
to be wrapped with another &lt;table&gt; (with a single &lt;tr&gt;) for layout
purposes, adding one &lt;td&gt; with uniform contents to the &lt;td&gt; containing
the original table.

I cannot insert two different template calls producing the outer
table's introduction and completion, respectively: they each would
contain unbalanced data.

I know it can be done by adding the new HTML stuff to all the called
templates, which isn't nice as it duplicates code, in many different
places.

If I had realized this new requirement earlier - would there be a good
solution while still retaining the &quot;pull&quot; structure? How do I handle
the generation of different tables from within a single &quot;wrapper&quot;
table template? One big &lt;choose&gt; driven by a parameter seems to be the
only option. (Something like a &quot;function reference&quot; for callable
templates would enable me to write what I'd consider a &quot;clean&quot; program
structure.)

I wouldn't be surprised if there is there anything I've overlooked.

Regards
Wolfgang

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324665.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 10:41:00 PM</title>
<description><![CDATA[<pre>&gt;I'm genuinely surprised that Microsoft has dropped the ball on this. 
They put in a massive effort when they introduced .NET which was after 
their browser played a pioneering role in the genenis of XSL. Not 
affording their .NET library XSLT2 is tantermount to sabotaging the 
progress of XML related development. It just doesn't make sense and is 
pretty lame IMO.

I don't know any detail of what went on inside Microsoft other than a 
few rumours that leaked out, but I do know a little bit about the 
process, or lack of it, that results in product development decisions 
inside large companies. There will always be champions (perhaps in this 
case even a Champion...) advocating investing in a particular 
technology; there will be others with competing proposals, and there 
will be managers who aren't intimately acquainted with the technical 
detail who end up having to make the decisions. There will also be 
customers pushing for one course of action or another, and some of those 
customers will have clout and others won't: not necessarily because of 
pure revenue considerations, but perhaps because keeping them &quot;on side&quot; 
is important for unrelated reasons.

In making these decisions, the biggest problem is that so much of this 
kind of software is free, which means that the value the customers get 
from a product doesn't flow back into investment in that product. When 
the champions for developing a particular piece of software can't put 
together a business case based on the direct revenue from that product, 
the arguments for and against become very woolly and subjective.

XSLT has always been a technology that some people love and others hate. 
The language has deep beauty but superficial ugliness, so this range of 
reactions is not surprising. No doubt this polarisation of views exists 
within Microsoft as much as anywhere else; and no doubt the negative 
views will have been amplified by those advocating other investments 
that were competing for the same budget, such as XQuery and Linq. 
Perhaps some of these voices were even arguing that Microsoft could 
safely leave this area to third parties.

So you shouldn't be surprised. These decisions are complex, there is a 
lot of emotion involved, and very little hard data about the impact of 
deciding one way or another.  Probably at least half the product 
development decisions made in a big company turn out to be wrong, so 
expecting a big company to make the decision you consider right is naive.

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324664.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 9:50:00 PM</title>
<description><![CDATA[<pre>On 11 February 2012 02:44, Wendell Piez &lt;wapiez@mulberrytech.com&gt; wrote:

&gt;
&gt; I think much of this is true, yet don't forget that XML and XSLT are still
&gt; healthy (very healthy as far as I can tell) in the space for which they were
&gt; originally designed, namely publishing systems.
&gt;
&gt; Some publishing systems are content to stick with a single channel of
&gt; output, such as print or the web. And if you're publishing only to the web,
&gt; you can maintain your data in HTML and/or an HTML-facing CMS.
&gt;
&gt; But other publishers can't do this, or they need to insulate themselves, to
&gt; whatever extent possible, from technological changes in target media, and
&gt; XML/XSLT allow them to do this. Or they need to find efficiencies and
&gt; scalability in data interchange and data longevity that they can only get
&gt; through a careful separation of concerns across their workflows, which
&gt; XML/XSLT allows them to engineer.
&gt;
&gt; If there's a significant part of the tech marketplace that doesn't even know
&gt; this is going on, what does that say other than that the world is a big
&gt; place?
&gt;

Well this is all very true (when I was working as Australian Army
webmaster, it was within DoD &quot;publishing systems&quot; where they used SGML
and Adobe Frame Maker back in the day). But the introduction of XML
Schema saw the implementation of strong data typing which implies the
use of XML for data packets AS WELL AS document publishing. The
&quot;insulation&quot; used by publishing houses is at least as important to
anyone exchanging data - hence all of us [coders]. Personally, I don't
see an argument for XML not to be everywhere (at least where protocol
overhead isn't super-critical). If it that was half-true [everywhere],
then XSLT 2 processors would be ubiquitous. I'm genuinely surprised
that Microsoft has dropped the ball on this. They put in a massive
effort when they introduced .NET which was after their browser played
a pioneering role in the genenis of XSL. Not affording their .NET
library XSLT2 is tantermount to sabotaging the progress of XML related
development. It just doesn't make sense and is pretty lame IMO.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324663.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 8:13:00 PM</title>
<description><![CDATA[<pre>Mark,

The publishing industry in general and at large is very loosely organized.

Authors interchange data with editors (sadly, not much in XML, yet), 
editorial groups among themselves and with production, production with 
various distribution and syndication channels, all the above with 
contractors and subcontractors for operations including conversion and 
formatting, and finally everyone wants to get in with the aggregators, 
indexing services, archives and libraries.

I'm sure I haven't thought of everything, but you can see that even here 
there's going to be quite a bit of room for technology solutions that 
work across organizational boundaries (like XML), or that help to 
mediate between them (like XSLT).

And this is only the &quot;publishing industry&quot;, considered broadly. As 
Andrew's client list shows, many organizations and companies that aren't 
&quot;publishers&quot; and don't make money publishing also publish more than many 
who make their living that way.

Part of the reason XML and XSLT work well is that they are very capable 
with information sets whose structures are loose and only imperfectly 
specified (or even understood) up front, and very adaptable. This offers 
advantages in very heterogeneous environments that change rapidly, 
because it lets you create islands of stability even while your 
interfaces remain very responsive.

Cheers,
Wendell

On 2/10/2012 1:28 PM, Mark Giffin wrote:
&gt; On 2/10/2012 8:44 AM, Wendell Piez wrote:
&gt;&gt;
&gt;&gt; [...] Or they need to find efficiencies and scalability in data
&gt;&gt; interchange and data longevity that they can only get through a
&gt;&gt; careful separation of concerns across their workflows, which XML/XSLT
&gt;&gt; allows them to engineer.
&gt;&gt;
&gt; Thanks Wendell for being specific about what XML and XSLT are used for
&gt; (publishing makes a lot of sense to me). What kind of data interchange
&gt; do you mean here? Passing documents between parts of the same company?
&gt; Connecting SQL Server data to Oracle data? Other things?
&gt;
&gt; Mark

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324662.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 6:29:00 PM</title>
<description><![CDATA[<pre>On 2/10/2012 8:44 AM, Wendell Piez wrote:
&gt;
&gt; [...] Or they need to find efficiencies and scalability in data 
&gt; interchange and data longevity that they can only get through a 
&gt; careful separation of concerns across their workflows, which XML/XSLT 
&gt; allows them to engineer.
&gt;
Thanks Wendell for being specific about what XML and XSLT are used for 
(publishing makes a lot of sense to me). What kind of data interchange 
do you mean here? Passing documents between parts of the same company? 
Connecting SQL Server data to Oracle data? Other things?

Mark

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324661.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 5:22:00 PM</title>
<description><![CDATA[<pre>On 02/09/2012 10:53 PM, Mark Giffin wrote:
&gt; Sorry, but forget JSON. What is XSLT mainly being used for these days?

XML, JSON... who cares. I like SAX: assuming SAX serializer/deserializer 
exist, anything can be treated as XML.

For example, you can write XSLT stylesheets transforming JSON: all you 
need is JSON2SAXParser and SAX2JSONSerializer.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324660.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 5:20:00 PM</title>
<description><![CDATA[<pre>Hi again,

On 2/9/2012 6:22 PM, Andrew Welch wrote:
&gt;&gt; Where do you use it Mr. Welch?
&gt;
&gt; Various companies and sectors, including aerospace (BAE), health
&gt; (MDConsult), finance (JPMC, Interactive Data), publishing (Elsevier,
&gt; Macmillan), telecoms (Vodafone)... it's all pretty much the same work,
&gt; just the text nodes are different.

FWIW, these all fall into the category of &quot;publishers&quot; in a large sense, 
since they are publishing even if only in support of other activities.

Keep in mind that two of the most important sectors supporting the 
development of SGML in the 1980s and 1990s were military-industrial, and 
academic computing (big research libraries and their ancillary 
activities). What do these have in common? They both need their data to 
outlive their machines, so they have to avoid proprietary lock-in either 
to platforms or even (at the further edges) to sets of functional 
requirements.

This is the conceptual foundation of layered systems based on 
descriptive markup, aka (in its current form) XML/XSLT. For many kinds 
of work the engineering expense is arguably not worth it (partly because 
it requires a rare combination of skills to do well). Other kinds of 
work are more or less impossible or unsustainable without it.

Cheers, Wendell

======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324658.html</link>
</item><item>
<title>Re: [xsl] Using variables to get the complement of a node set - 2/10/2012 5:20:00 PM</title>
<description><![CDATA[<pre>Hi,

Glossing David again,

If you have

&lt;xsl:variable name=&quot;alpha&quot; select=&quot;A | B | C | D&quot;/&gt;

Keep in mind this will bind $alpha only to the A,B,C and D children of 
the context (the root if the variable declaration is global).

You can bind to all the A|B|C|D in the document with

&lt;xsl:variable name=&quot;alpha&quot; select=&quot;//A | //B | //C | //D&quot;/&gt;

On 2/10/2012 6:42 AM, David Carlisle wrote:
&gt;&gt; &lt;xsl:template match=&quot;* except $alpha&quot;/&gt;
&gt; no that would be a legal xpath but not a pattern
&gt;
&gt;&gt; or
&gt;&gt; &lt;xsl:template match=&quot;*[not $alpha]&quot;/&gt;
&gt;
&gt; no, that's a syntax error so wouldn't run at all

&lt;xsl:template match=&quot;*[exists(. except $alpha)]&quot;&gt;

will work with the declaration of $alpha given above.

Of course this will tend to be much less efficient than what David suggests:

&gt; easiest is
&gt;
&gt; &lt;xsl:template match=&quot;*&quot;&gt; the complement
&gt;
&gt; &lt;xsl:template match=&quot;A|B|C|D&quot; priority=&quot;2&quot;&gt; this one

I've had times when I wanted to parameterize match patterns though.

Cheers,
Wendell

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324659.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 5:05:00 PM</title>
<description><![CDATA[<pre>On 02/09/2012 06:14 PM, Wendell Piez wrote:
&gt; Evan Lenz's work on the &quot;Carrot&quot; syntax for XSLT, which you possibly saw
&gt; presented at Balisage, might give an interesting starting point for work

my experiment w/ XSLT syntax:
http://www.gerixsoft.com/sites/gerixsoft.com/files/json2xml.txt

it is implemented using custom SAX parser that generates XSLT &quot;on the 
fly&quot;, so XSLT processor does not need to be modified to accept this new 
syntax

http://www.gerixsoft.com/blog/xslt/sdl-syntax

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324657.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 4:45:00 PM</title>
<description><![CDATA[<pre>Hi,

On 2/9/2012 6:09 PM, Terence Kearns wrote:
&gt; Wow. Okay then. I guess it was fun while it lasted. I guess the
&gt; conditions aren't there anymore (for open source development of large
&gt; projects).
&gt;
&gt; I guess Apache Cocoon's fate has gone the same way.

But Cocoon is still used, and the Cocoon users' list is still active.

I'm not arguing with the basic point, nor even with the questioning of 
Cocoon's development activity (which I don't track)....

&gt; Personally, I think the volume of code cutters has increased, and the
&gt; percentage of &quot;casual&quot; coders has greatly incresed. XSLT 1.0 probably
&gt; couldn't get traction with casual coders who could only think
&gt; procedurally and it scared them off - leaving no perceivable demand
&gt; for the next XSLT interation from the code cutting masses. So the big
&gt; coding houses like IBM, Microsoft and Oracle have lost interest.
&gt; Personally, I think that's a shame. That XML is primarily useful as
&gt; high-level web service data packets (competing with JSON) is a
&gt; misconception. It might be the reality that this is how the market
&gt; sees it, but &quot;the market is wrong&quot;  Living proof that market forces
&gt; don't follow technical superiority.

I think much of this is true, yet don't forget that XML and XSLT are 
still healthy (very healthy as far as I can tell) in the space for which 
they were originally designed, namely publishing systems.

Some publishing systems are content to stick with a single channel of 
output, such as print or the web. And if you're publishing only to the 
web, you can maintain your data in HTML and/or an HTML-facing CMS.

But other publishers can't do this, or they need to insulate themselves, 
to whatever extent possible, from technological changes in target media, 
and XML/XSLT allow them to do this. Or they need to find efficiencies 
and scalability in data interchange and data longevity that they can 
only get through a careful separation of concerns across their 
workflows, which XML/XSLT allows them to engineer.

If there's a significant part of the tech marketplace that doesn't even 
know this is going on, what does that say other than that the world is a 
big place?

Cheers,
Wendell

======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324654.html</link>
</item><item>
<title>Re: [xsl] can this idea work ? - 2/10/2012 4:22:00 PM</title>
<description><![CDATA[<pre>The simplified source file you posted was not well formed, also your 
email contained several xsl:template elements that were not contained in 
side xsl:stylesheet, please put some effort into running what you are 
about to post locally, seeing what (if anything) comes out and saying 
_exactly_ what's wrong with it.

If I take the part of your email between &lt;xsl:stylesheet and 
&lt;/xsl:stylesheet&gt; as a stylesheet, fix your input file so it is well 
formed and run then through as xslt 1 processor I get

                 Yes

                      Article 1

                 Nekplooimeting
                 2005-04-01

                Yes

                    Article 2

                     Vlokkentest ?
                     2005-04-04


which is what I'd expect as you are just applying templates to all 
&quot;dagboek/entry&quot; elements.

David




________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324653.html</link>
</item><item>
<title>RE: [xsl] can this idea work ? - 2/10/2012 4:07:00 PM</title>
<description><![CDATA[<pre>Sorry for the missing data. 

 

Here a simpliefied xslt with everything needed.

 

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xsl:stylesheet version=&quot;1.0&quot;
 xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;

 

&lt;xsl:output method=&quot;xml&quot;
 doctype-public=&quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
 doctype-system=&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;
 omit-xml-declaration=&quot;yes&quot;
 encoding=&quot;UTF-8&quot;
 indent=&quot;yes&quot; /&gt;


 

&lt;xsl:template match=&quot;/&quot;&gt;

           &lt;xsl:apply-templates select=&quot;data&quot; /&gt;

&lt;/xsl:template&gt;

 

&lt;xsl:template match=&quot;data&quot;&gt;
      &lt;xsl:apply-templates select=&quot;dagboek/entry&quot;/&gt;
&lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;

 

&lt;xsl:template match=&quot;dagboek/entry&quot; &gt;
    &lt;h3&gt; 
    &lt;xsl:value-of select=&quot;titel&quot; /&gt; 
  &lt;/h3&gt;
     &lt;xsl:apply-templates select=&quot;dagboek/entry[nieuwe-pagina = 'yes']&quot; mode=&quot;pagegroup&quot; /&gt;
      &lt;xsl:apply-templates select=&quot;tekst&quot; /&gt;
   &lt;/div&gt;
&lt;/xsl:template&gt;

 

&lt;xsl:template match=&quot;entry&quot; mode=&quot;pagegroup&quot;&gt;
       &lt;xsl:apply-templates select=&quot;. | following-sibling::entry[not(nieuwe-pagina = 'yes') and preceding-sibling::entry[nieuwe-pagina = 'yes'][1] = current()]&quot; /&gt; 
&lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;

 

 

&lt;xsl:template match=&quot;tekst//p[starts-with(., 'FLOAT : ')]&quot; priority=&quot;1&quot;&gt;
    &lt;img class=&quot;float-left&quot; src=&quot;{$workspace}/images/{substring-after(., 'FLOAT : ')}&quot; /&gt;
&lt;/xsl:template&gt;

 

&lt;xsl:template match=&quot;tekst//*&quot;&gt;
    &lt;xsl:element name=&quot;{name()}&quot;&gt;
        &lt;xsl:apply-templates select=&quot;* | @* | text()&quot;/&gt;
    &lt;/xsl:element&gt;
&lt;/xsl:template&gt;

 

&lt;xsl:template match=&quot;tekst//@*&quot;&gt;
    &lt;xsl:attribute name=&quot;{name(.)}&quot;&gt;
        &lt;xsl:value-of select=&quot;.&quot;/&gt;
    &lt;/xsl:attribute&gt;
&lt;/xsl:template&gt;

 

 

And here the simpliefied xml : 

 

&lt;data&gt;

     &lt;dagboek&gt;

            &lt;section id=&quot;9&quot; handle=&quot;dagboek&quot;&gt;Dagboek&lt;/section&gt; 41    

             &lt;entry id=&quot;20&quot;&gt;

                &lt;nieuwe-pagina&gt;Yes&lt;/nieuwe-pagina&gt; 

                &lt;tekst mode=&quot;formatte&quot;&quot;&gt;

                     Article 1

                &lt;/tekst&gt; 

                &lt;titel handle=&quot;nekplooimeting&quot;&gt;Nekplooimeting &lt;/titel&gt; 

                &lt;datum time=&quot;00:00&quot; weekday=&quot;5&quot;&gt;2005-04-01&lt;/datum&gt;

             &lt;/entry&gt; 

             &lt;entry id=&quot;21&quot;&gt; 

               &lt;nieuwe-pagina&gt;Yes&lt;/nieuwe-pagina&gt; 

               &lt;tekst mode=&quot;formatted&quot;&gt;

                   Article 2

               &lt;/tekst&gt; 

                    &lt;titel handle=&quot;vlokkentest&quot;&gt;Vlokkentest ?&lt;/titel&gt; 

                    &lt;datum time=&quot;19:16&quot; weekday=&quot;1&quot;&gt;2005-04-04&lt;/datum&gt; 

            &lt;/entry&gt;

        &lt;/dagboek&gt;

&lt;/data&gt;

 

What I was expecting was a page where only the first arcticle and the article between the first article and the next article with &lt;nieuwe-pagina = &quot;yes&quot;&gt; is displayed.

Now it's schowing both articles where I was expecting to see only the first article.

 

 

 

 

 

 

 

 

---------------------------------------- &gt; Date: Fri, 10 Feb 2012 12:40:20 +0000 &gt; From: davidc@nag.co.uk &gt; To: xsl-list@lists.mulberrytech.com &gt; CC: rwobben@hotmail.com &gt; Subject: Re: [xsl] can this idea work ? &gt; &gt; On 10/02/2012 12:29, Roelof Wobben wrote: &gt; &gt; So I thought this xslt 1.0 could do the job : &gt; &gt; &gt; &gt; &gt; &gt; you haven't said what output you expected from the stylesheet or what &gt; output you got, and we can't run the code you posted as it imports files &gt; you have not posted. &gt; &gt; If the imported files are not relevant to your problem make a small &gt; (without all the irrelevant text and elements) input file and a small &gt; complete runnable xsl stylesheet and then say what output you got and &gt; what output you expected/wanted. &gt; &gt; David &gt; &gt; ________________________________________________________________________ &gt; The Numerical Algorithms Group Ltd is a company registered in England &gt; and Wales with company number 1249803. The registered office is: &gt; Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. &gt; &gt; This e-mail has been scanned for all viruses by Star. The service is &gt; powered by MessageLabs. &gt; ________________________________________________________________________ 		 	   		  
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324652.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 2:23:00 PM</title>
<description><![CDATA[<pre>On 10/02/2012 14:17, Michael Kay wrote:
&gt; Perhaps the spelling correcter converts....

I think that's the one I use for xsl-list postings

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324651.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 2:18:00 PM</title>
<description><![CDATA[<pre>&gt;XML is still topping json by 18:1 ... although the trendlines are 
down, that is very common as concepts become mainstream (less people 
search for them because they already know)

More to the point, people choose a more specific search term because the 
general term returns too much noise. I think this effect makes google 
trends very unreliable.

(In any case, despite being in Prague, I refuse to believe that the top 
three languages for searches on XSLT are Czech, English, and Danish in 
that order - especially as most of the searches originate from India. Is 
there a large expatriate Czech community in Chennai? Perhaps the 
spelling correcter converts some Czech word for sex into &quot;XSLT&quot;?)

Michael Kay
Saxonica


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324650.html</link>
</item><item>
<title>Re: [xsl] can this idea work ? - 2/10/2012 12:41:00 PM</title>
<description><![CDATA[<pre>On 10/02/2012 12:29, Roelof Wobben wrote:
&gt; So I thought this xslt 1.0 could do the job :
&gt;
&gt;

you haven't said what output you expected from the stylesheet or what 
output you got, and we can't run the code you posted as it imports files 
you have not posted.

If the imported files are not relevant to your problem make a small 
(without all the irrelevant text and elements) input file and a small 
complete runnable xsl stylesheet and then say what output you got and 
what output you expected/wanted.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324646.html</link>
</item><item>
<title>[xsl] can this idea work ? - 2/10/2012 12:29:00 PM</title>
<description><![CDATA[<pre>Hello, 

 

I have a new idea for my website.
 
On every article which must be placed in a new page I enable a checkbox.
 


So I have this xml : 

 

&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt; 
&lt;data&gt; 
&lt;params&gt; 
&lt;today&gt;2012-02-10&lt;/today&gt; 
&lt;current-time&gt;08:58&lt;/current-time&gt; 
&lt;this-year&gt;2012&lt;/this-year&gt; 
&lt;this-month&gt;02&lt;/this-month&gt; 
&lt;this-day&gt;10&lt;/this-day&gt; 
&lt;timezone&gt;+01:00&lt;/timezone&gt; 
&lt;website-name&gt;Tamara Wobben&lt;/website-name&gt; 
&lt;page-title&gt;dagboek&lt;/page-title&gt; 
&lt;root&gt;http://test.tamarawobben.nl&lt;/root&gt; 
&lt;workspace&gt;http://test.tamarawobben.nl/workspace&lt;/workspace&gt; 
&lt;root-page&gt;dagboek&lt;/root-page&gt; 
&lt;current-page&gt;dagboek&lt;/current-page&gt; 
&lt;current-page-id&gt;7&lt;/current-page-id&gt; 
&lt;current-path&gt;/dagboek/2005/04/1/?debug&lt;/current-path&gt; 
&lt;parent-path&gt;/&lt;/parent-path&gt; 
&lt;current-url&gt;http://test.tamarawobben.nl/dagboek/2005/04/1/?debug&lt;/current-url&gt; 
&lt;upload-limit&gt;2097152&lt;/upload-limit&gt; 
&lt;symphony-version&gt;2.2.5&lt;/symphony-version&gt; 
&lt;year&gt;2005&lt;/year&gt; 
&lt;month&gt;04&lt;/month&gt; 
&lt;page&gt;1&lt;/page&gt; 
&lt;cookie-username&gt;xxxxxx&lt;/cookie-username&gt;
 &lt;cookie-pass&gt;xxxxxxx&lt;/cookie-pass&gt; 
&lt;site-mode&gt;live&lt;/site-mode&gt; 
&lt;/params&gt; 
&lt;events /&gt; 
&lt;dagboek&gt; 
&lt;section id=&quot;9&quot; handle=&quot;dagboek&quot;&gt;Dagboek&lt;/section&gt;
 &lt;entry id=&quot;20&quot;&gt; 
&lt;nieuwe-pagina&gt;Yes&lt;/nieuwe-pagina&gt; 
&lt;tekst mode=&quot;formatted&quot;&gt;&lt;p&gt;Alvast bloed laten prikken voor de tripletest. De uitstag is dan binnen als de nekplooimeting wordt gedaan. Sinds kort kan dat in het S.M.T. in Hengelo, dus dat is mooi meegenomen. Nog niet veel mensen weten dat je in mijn buik aan het groeien bent, maar ik had het al wel tegen een vriendin verteld en het leuke was dat ik de week erna een hele stapel broeken te leen kreeg en een stapel Wij jonge ouders. Dus lees ik volop. Heerlijk om in weg te dromen en ik ben benieuwd hoe jij eruit zult zien.&lt;/p&gt; 44 45&lt;p&gt;FLOAT : echo.jpg &lt;/p&gt; 46 47&lt;p&gt;De hoeveelheid vocht in jouw nek is meer dan gebruikelijk, het is 3,2 mm, met alle gegevens erbij wordt een kansberekening gemaakt voor het Downsyndroom. De uitslag is een kans van 1 op 24. Het lijkt niet veel maar toch. Verslagen verlaten we het ziekenhuis en in de trein wordt het mij teveel. De uitslag en het gezeur over de manier waarop de echo was geregeld werd me teveel en wat me al heel lang niet meer was overkomen gebeurt dan toch, ik zit te huilen in de trein.&lt;/p&gt; 48 49&lt;p&gt;Terug op het werk vertel ik mijn collega’s wat er is gezegd en neem dan pauze, even de honden uitlaten. Thuis schrik ik van het bericht op het antwoordapparaat. Mijn gynaecoloog, Dr. Veenstra heeft gebeld, de uitslag van de tripletest is binnen en ze wil me zo snel mogelijk spreken. Uitslag binnen, dat kon toch niet. Ik snap er niets meer van en ga eerst met de honden lopen en moed verzamelen. Dr. Veenstra is er ’s middags niet en ik word doorverbonden met Dr. Gnodde. Hij verontschuldigd zich voor het feit dat ik deze informatie over de telefoon krijg, maar het is heel belangrijk. De uitslag van de tripletest is dat er een kans is van 1 op 30 op een kindje met het Downsyndroom. Echter, samen met de nekplooimeting wordt het een kans van 1 op 3! Als ik de telefoon neerleg is de grond onder mijn voeten weggeslagen. De honden voelen mijn verdriet en zitten dicht bij me. Ik bel jouw papa en spreek met hem af dat ik hem op kom halen zodra ik rustig ben, ik heb behoorlijk zitten huilen aan de telefoon.&lt;/p&gt; 50 51&lt;p&gt;Terug op het werk zien mijn collega’s al dat niet goed gaat en ik vertel wat er is. Het werk wordt onder mijn handen weggepakt en ik moet je papa bellen. Hij is er heel snel en we gaan samen naar huis, een voordeel als je in het zelfde gebouw 52werkt.&lt;/p&gt; 
&lt;/tekst&gt; 
&lt;titel handle=&quot;nekplooimeting&quot;&gt;Nekplooimeting &lt;/titel&gt; 
&lt;datum time=&quot;00:00&quot; weekday=&quot;5&quot;&gt;2005-04-01&lt;/datum&gt; 
&lt;/entry&gt; 
&lt;entry id=&quot;21&quot;&gt; 
&lt;nieuwe-pagina&gt;Yes&lt;/nieuwe-pagina&gt; 
&lt;tekst mode=&quot;formatted&quot;&gt;&lt;p&gt;Er is veel gesproken over de echo, de vlokkentest en mijn angst hiervoor. Jouw papa en ik hebben besloten om het wel te doen, dan hebben we zekerheid. Ik heb het ziekenhuis gebeld en ik moet morgen naar het MST. Ik zie er als een berg tegenop.&lt;/p&gt; 60
 &lt;/tekst&gt; 
&lt;titel handle=&quot;vlokkentest&quot;&gt;Vlokkentest ?&lt;/titel&gt; 
&lt;datum time=&quot;19:16&quot; weekday=&quot;1&quot;&gt;2005-04-04&lt;/datum&gt; 
&lt;/entry&gt; 
&lt;/dagboek&gt;
 &lt;/data&gt;
 

So I thought this xslt 1.0 could do the job : 

 

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xsl:stylesheet version=&quot;1.0&quot;
 xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;
 
&lt;xsl:import href=&quot;../utilities/frontpage-article.xsl&quot;/&gt;
&lt;xsl:import href=&quot;../utilities/date-time.xsl&quot;/&gt;
 
&lt;xsl:template match=&quot;dagboek/entry&quot; &gt;
 &lt;h3&gt; 
&lt;xsl:value-of select=&quot;titel&quot; /&gt; 
&lt;/h3&gt;
 &lt;div class=&quot;post-inner&quot;&gt;
 &lt;div class=&quot;date-tab&quot;&gt;
 &lt;span class=&quot;month&quot;&gt;
 &lt;xsl:call-template name=&quot;format-date&quot;&gt;
 &lt;xsl:with-param name=&quot;date&quot; select=&quot;datum&quot;/&gt;
 &lt;xsl:with-param name=&quot;format&quot; select=&quot;'M'&quot;/&gt;
 &lt;/xsl:call-template&gt;
 &lt;/span&gt;
 &lt;span class=&quot;day&quot;&gt;
 &lt;xsl:call-template name=&quot;format-date&quot;&gt;
 &lt;xsl:with-param name=&quot;date&quot; select=&quot;datum&quot;/&gt;
 &lt;xsl:with-param name=&quot;format&quot; select=&quot;'d'&quot;/&gt;
 &lt;/xsl:call-template&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;xsl:apply-templates select=&quot;dagboek/entry[nieuwe-pagina = 'yes']&quot; mode=&quot;pagegroup&quot; /&gt;
 &lt;xsl:apply-templates select=&quot;tekst&quot; /&gt;
 &lt;/div&gt;
&lt;/xsl:template&gt;
 
&lt;xsl:template match=&quot;entry&quot; mode=&quot;pagegroup&quot;&gt;
 &lt;xsl:apply-templates select=&quot;. | following-sibling::entry[not(nieuwe-pagina = 'yes') and preceding-sibling::entry[nieuwe-pagina = 'yes'][1] = current()]&quot; /&gt; 
&lt;/xsl:template&gt;
 
&lt;/xsl:stylesheet&gt;
 

But it does not. It still places all the articles on 1 page.
 


Can this idea work or did I made a stupid mistake ?
 


Roelof
  		 	   		  
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324645.html</link>
</item><item>
<title>Re: [xsl] Using variables to get the complement of a node set - 2/10/2012 11:45:00 AM</title>
<description><![CDATA[<pre>ihe onwuka wrote:
&gt; Suppose the children of the context node are elements named A to Z.
&gt;
&gt; Then I declare a variable
&gt;
&gt; &lt;xsl:variable name=&quot;alpha&quot; select=&quot;A|B|C|D&quot;/&gt;
&gt;
&gt; Now i want to match on the complement of alpha.
&gt;
&gt; Can I say
&gt;
&gt; &lt;xsl:template match=&quot;* except $alpha&quot;/&gt;

Yes, with XSLT 2.0, not with 1.0.




-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324644.html</link>
</item><item>
<title>Re: [xsl] Using variables to get the complement of a node set - 2/10/2012 11:43:00 AM</title>
<description><![CDATA[<pre>On 10/02/2012 11:31, ihe onwuka wrote:
&gt; Suppose the children of the context node are elements named A to Z.
&gt;
&gt; Then I declare a variable
&gt;
&gt; &lt;xsl:variable name=&quot;alpha&quot; select=&quot;A|B|C|D&quot;/&gt;
&gt;
&gt; Now i want to match on the complement of alpha.
&gt;
&gt; Can I say

it would have been quicker just to try, but...
&gt;
&gt; &lt;xsl:template match=&quot;* except $alpha&quot;/&gt;
no that would be a legal xpath but not a pattern

&gt; or
&gt; &lt;xsl:template match=&quot;*[not $alpha]&quot;/&gt;

no, that's a syntax error so wouldn't run at all

easiest is

&lt;xsl:template match=&quot;*&quot;&gt; the complement

&lt;xsl:template match=&quot;A|B|C|D&quot; priority=&quot;2&quot;&gt; this one

David


________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324643.html</link>
</item><item>
<title>[xsl] Using variables to get the complement of a node set - 2/10/2012 11:32:00 AM</title>
<description><![CDATA[<pre>Suppose the children of the context node are elements named A to Z.

Then I declare a variable

&lt;xsl:variable name=&quot;alpha&quot; select=&quot;A|B|C|D&quot;/&gt;

Now i want to match on the complement of alpha.

Can I say

&lt;xsl:template match=&quot;* except $alpha&quot;/&gt;
or
&lt;xsl:template match=&quot;*[not $alpha]&quot;/&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324642.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 5:58:00 AM</title>
<description><![CDATA[<pre>On Thu, 2012-02-09 at 11:14 -0500, Wendell Piez wrote:

&gt; Evan Lenz's work on the &quot;Carrot&quot; syntax for XSLT, which you possibly saw 
&gt; presented at Balisage, might give an interesting starting point for work 
&gt; on a compiler to write XQuery from XSLT 2.0. (Evan does go the other 
&gt; way, from XQuery+Carrot into XSLT.)

The hard part, I think (as Dr Kay has mentioned) is that XSLT has &quot;match
patterns&quot; and XQuery does not.  Interpreting XSLT in XQuery directly
might be hard as a result. Or at least not very efficient.

Preprocessing to convert might work.

I remember having a conversation with Jer&#244;me Sim&#233;on abuot the idea of
making XPath expressions and node tests as first-class objects in
XQuery, e.g. so you could pass them to functions as arguments, ask what
they matched, etc.

As it stands, apply-templates might involve something like
    (for $pattern in find-candidates($match-patterns, $mode, $here)
    order by $pattern/@priority
    return if matches($here, $pattern[1]) then $pattern else ()
    )[1]
for each node you try to match. Hmm, well, it's 7am so maybe there's a
better way. If Dmitry thought about it for 30ms he'd probably find
one. :-)

Liam

 
-- 
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324638.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 3:55:00 AM</title>
<description><![CDATA[<pre>Before the off-topic alarms go off:

Quercus is quite mature.and has been demonstrated to run many major
PHP packages out of the box.  The Pear modules, which have native C
components, might have spotty support (at a guess) but with the vast
array of Java libraries readily available for everything under the sun
(no pun intended), any shortfalls in Pear are easily compensated for.

It does hint at a life for XSLT 2.0 and PHP.

 - michael dykman

On Thu, Feb 9, 2012 at 10:36 PM, Terence Kearns &lt;info@terencekearns.com&gt; wrote:
&gt; Quercus looks promising. One of the things with PHP is it's huge
&gt; library of modules - many of which are included in the default distro.
&gt; I'll have to see if there are any important PHP modules which haven't
&gt; been imported to Quercus. Having said that, if there is a real need,
&gt; an alternative library may exist in Java.
&gt;
&gt; I am a big fan of the servlet containter architecture, and I vagely
&gt; recall resin being an awesome implementation - particularly for speed.
&gt;
&gt; Quercus might well be the way to go for a casual PHP coder who is
&gt; looking to make the move to Java.
&gt;
&gt; I'm tempted to port my PHP/XML framework (
&gt; http://xao-php.sourceforge.net ) - binding it to the Quercus
&gt; implementation (and Saxon).
&gt;
&gt; I'd heard of something like this before, but had forgotten. The
&gt; implementation is probably quite mature by now.
&gt;
&gt; Cheers.
&gt;
&gt;
&gt;
&gt; On 10 February 2012 11:13, Michael Dykman &lt;mdykman@gmail.com&gt; wrote:
&gt;&gt; Terence,
&gt;&gt;
&gt;&gt; Have you looked at Quercus?
&gt;&gt;
&gt;&gt; http://www.caucho.com/resin-3.0/quercus/
&gt;&gt;
&gt;&gt; It's a highly performant PHP implementation implemented as a Java
&gt;&gt; servlet. &#160;I have seen benchmarks which suggest that it as fast as
&gt;&gt; Enterprise PHP and extending it with Java methods is trivial. &#160;If you
&gt;&gt; like PHP (which I don't especially), you still have the opportunity of
&gt;&gt; doing XSLT 2.0 in that environment.
&gt;&gt;
&gt;&gt; On Thu, Feb 9, 2012 at 6:09 PM, Terence Kearns &lt;info@terencekearns.com&gt; wrote:
&gt;&gt;&gt;
&gt;&gt;&gt; RIP my XML/PHP framework (for which my enthusiasm kinda died due to no
&gt;&gt;&gt; real XSLT2 support in PHP's roadmap).
&gt;&gt;&gt;
&gt;&gt;&gt; ...grateful for Saxon...
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; On 9 February 2012 22:34, Michael Kay &lt;mike@saxonica.com&gt; wrote:
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt; Does anyone know if PHP has it?
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; Sadly, not yet (except via the Java bridge). No recent news from the LIBX*
&gt;&gt;&gt;&gt;&gt; project: http://www.explain.com.au/libx/. Perhaps Steve Ball found something
&gt;&gt;&gt;&gt;&gt; else to do with his weekends. I think the days of hobbyist implementations
&gt;&gt;&gt;&gt;&gt; of these technologies are past.
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; This posting sort of sums it up:
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; http://mail.explain.com.au/pipermail/libx/2011-September/000004.html
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; I don't think you can write an XSLT 2.0 processor and have an unrelated day
&gt;&gt;&gt;&gt; job. Most of the coding for Saxon's XSLT 2.0 processor was done when I was
&gt;&gt;&gt;&gt; employed by Software AG full time on standards work, and I was spending
&gt;&gt;&gt;&gt; about half my time on the standards and half on Saxon, with the full
&gt;&gt;&gt;&gt; encouragement of my employer. I think we can forget about this project
&gt;&gt;&gt;&gt; unless it finds a sponsor.
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; Michael Kay
&gt;&gt;&gt;&gt; Saxonica
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; --~------------------------------------------------------------------
&gt;&gt;&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt;&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt;&gt;&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt;&gt;&gt; --~--
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; --
&gt;&gt;&gt; http://TerenceKearns.com PHOTO.VIDEO | ABN 58705023254 | ph 0412 235 575
&gt;&gt;&gt;
&gt;&gt;&gt; --~------------------------------------------------------------------
&gt;&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt;&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt;&gt; --~--
&gt;&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; --
&gt;&gt; &#160;- michael dykman
&gt;&gt; &#160;- mdykman@gmail.com
&gt;&gt;
&gt;&gt; &#160;May the Source be with you.
&gt;&gt;
&gt;&gt; --~------------------------------------------------------------------
&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt; --~--
&gt;&gt;
&gt;
&gt;
&gt;
&gt; --
&gt; http://TerenceKearns.com PHOTO.VIDEO | ABN 58705023254 | ph 0412 235 575
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
&#160;- michael dykman
&#160;- mdykman@gmail.com

&#160;May the Source be with you.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324636.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 3:37:00 AM</title>
<description><![CDATA[<pre>Quercus looks promising. One of the things with PHP is it's huge
library of modules - many of which are included in the default distro.
I'll have to see if there are any important PHP modules which haven't
been imported to Quercus. Having said that, if there is a real need,
an alternative library may exist in Java.

I am a big fan of the servlet containter architecture, and I vagely
recall resin being an awesome implementation - particularly for speed.

Quercus might well be the way to go for a casual PHP coder who is
looking to make the move to Java.

I'm tempted to port my PHP/XML framework (
http://xao-php.sourceforge.net ) - binding it to the Quercus
implementation (and Saxon).

I'd heard of something like this before, but had forgotten. The
implementation is probably quite mature by now.

Cheers.



On 10 February 2012 11:13, Michael Dykman &lt;mdykman@gmail.com&gt; wrote:
&gt; Terence,
&gt;
&gt; Have you looked at Quercus?
&gt;
&gt; http://www.caucho.com/resin-3.0/quercus/
&gt;
&gt; It's a highly performant PHP implementation implemented as a Java
&gt; servlet. &#160;I have seen benchmarks which suggest that it as fast as
&gt; Enterprise PHP and extending it with Java methods is trivial. &#160;If you
&gt; like PHP (which I don't especially), you still have the opportunity of
&gt; doing XSLT 2.0 in that environment.
&gt;
&gt; On Thu, Feb 9, 2012 at 6:09 PM, Terence Kearns &lt;info@terencekearns.com&gt; wrote:
&gt;&gt;
&gt;&gt; RIP my XML/PHP framework (for which my enthusiasm kinda died due to no
&gt;&gt; real XSLT2 support in PHP's roadmap).
&gt;&gt;
&gt;&gt; ...grateful for Saxon...
&gt;&gt;
&gt;&gt;
&gt;&gt; On 9 February 2012 22:34, Michael Kay &lt;mike@saxonica.com&gt; wrote:
&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; Does anyone know if PHP has it?
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; Sadly, not yet (except via the Java bridge). No recent news from the LIBX*
&gt;&gt;&gt;&gt; project: http://www.explain.com.au/libx/. Perhaps Steve Ball found something
&gt;&gt;&gt;&gt; else to do with his weekends. I think the days of hobbyist implementations
&gt;&gt;&gt;&gt; of these technologies are past.
&gt;&gt;&gt;
&gt;&gt;&gt; This posting sort of sums it up:
&gt;&gt;&gt;
&gt;&gt;&gt; http://mail.explain.com.au/pipermail/libx/2011-September/000004.html
&gt;&gt;&gt;
&gt;&gt;&gt; I don't think you can write an XSLT 2.0 processor and have an unrelated day
&gt;&gt;&gt; job. Most of the coding for Saxon's XSLT 2.0 processor was done when I was
&gt;&gt;&gt; employed by Software AG full time on standards work, and I was spending
&gt;&gt;&gt; about half my time on the standards and half on Saxon, with the full
&gt;&gt;&gt; encouragement of my employer. I think we can forget about this project
&gt;&gt;&gt; unless it finds a sponsor.
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; Michael Kay
&gt;&gt;&gt; Saxonica
&gt;&gt;&gt;
&gt;&gt;&gt; --~------------------------------------------------------------------
&gt;&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt;&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt;&gt; --~--
&gt;&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; --
&gt;&gt; http://TerenceKearns.com PHOTO.VIDEO | ABN 58705023254 | ph 0412 235 575
&gt;&gt;
&gt;&gt; --~------------------------------------------------------------------
&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt; --~--
&gt;&gt;
&gt;
&gt;
&gt;
&gt; --
&gt; &#160;- michael dykman
&gt; &#160;- mdykman@gmail.com
&gt;
&gt; &#160;May the Source be with you.
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
http://TerenceKearns.com PHOTO.VIDEO | ABN 58705023254 | ph 0412 235 575

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324635.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/10/2012 1:14:00 AM</title>
<description><![CDATA[<pre>Terence,

Have you looked at Quercus?

http://www.caucho.com/resin-3.0/quercus/

It's a highly performant PHP implementation implemented as a Java
servlet.  I have seen benchmarks which suggest that it as fast as
Enterprise PHP and extending it with Java methods is trivial.  If you
like PHP (which I don't especially), you still have the opportunity of
doing XSLT 2.0 in that environment.

On Thu, Feb 9, 2012 at 6:09 PM, Terence Kearns &lt;info@terencekearns.com&gt; wrote:
&gt;
&gt; RIP my XML/PHP framework (for which my enthusiasm kinda died due to no
&gt; real XSLT2 support in PHP's roadmap).
&gt;
&gt; ...grateful for Saxon...
&gt;
&gt;
&gt; On 9 February 2012 22:34, Michael Kay &lt;mike@saxonica.com&gt; wrote:
&gt;&gt;
&gt;&gt;&gt;&gt; Does anyone know if PHP has it?
&gt;&gt;&gt;
&gt;&gt;&gt; Sadly, not yet (except via the Java bridge). No recent news from the LIBX*
&gt;&gt;&gt; project: http://www.explain.com.au/libx/. Perhaps Steve Ball found something
&gt;&gt;&gt; else to do with his weekends. I think the days of hobbyist implementations
&gt;&gt;&gt; of these technologies are past.
&gt;&gt;
&gt;&gt; This posting sort of sums it up:
&gt;&gt;
&gt;&gt; http://mail.explain.com.au/pipermail/libx/2011-September/000004.html
&gt;&gt;
&gt;&gt; I don't think you can write an XSLT 2.0 processor and have an unrelated day
&gt;&gt; job. Most of the coding for Saxon's XSLT 2.0 processor was done when I was
&gt;&gt; employed by Software AG full time on standards work, and I was spending
&gt;&gt; about half my time on the standards and half on Saxon, with the full
&gt;&gt; encouragement of my employer. I think we can forget about this project
&gt;&gt; unless it finds a sponsor.
&gt;&gt;
&gt;&gt;
&gt;&gt; Michael Kay
&gt;&gt; Saxonica
&gt;&gt;
&gt;&gt; --~------------------------------------------------------------------
&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt; --~--
&gt;&gt;
&gt;
&gt;
&gt;
&gt; --
&gt; http://TerenceKearns.com PHOTO.VIDEO | ABN 58705023254 | ph 0412 235 575
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
&#160;- michael dykman
&#160;- mdykman@gmail.com

&#160;May the Source be with you.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324634.html</link>
</item><item>
<title>RE: [xsl] XSLT 2 processors - 2/9/2012 11:48:00 PM</title>
<description><![CDATA[<pre>Just for fun I tried google trends

http://www.google.com/trends/?q=xslt,xquery,xml,json&amp;ctab=0&amp;geo=all&amp;date=all&amp;sort=3


XML is  still topping json by 18:1  ... although the trendlines are down, that is very common as concepts become mainstream (less people search for them because they already know)



-----Original Message-----
From: Michael Kay [mailto:mike@saxonica.com] 
Sent: Thursday, February 09, 2012 6:37 PM
To: xsl-list@lists.mulberrytech.com
Subject: Re: [xsl] XSLT 2 processors

 &gt;What is XSLT mainly being used for these days? Is it shrinking in use 
or growing?

Nobody knows for sure.

But I think usage has shifted from the trendy/cool/vocal end of the 
developer community to the serious corporate backroom space, which 
probably means it is making less noise but that usage is actually 
growing substantially. And it's not just for documents, where XML and 
XSLT are the only game in town; XML is still the workhorse for any data 
flow that crosses enterprise boundaries, and will remain so for many 
years if only because once entrenched, things like that don't change easily.

Michael Kay
Saxonica


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324633.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 11:38:00 PM</title>
<description><![CDATA[<pre>&gt;What is XSLT mainly being used for these days? Is it shrinking in use 
or growing?

Nobody knows for sure.

But I think usage has shifted from the trendy/cool/vocal end of the 
developer community to the serious corporate backroom space, which 
probably means it is making less noise but that usage is actually 
growing substantially. And it's not just for documents, where XML and 
XSLT are the only game in town; XML is still the workhorse for any data 
flow that crosses enterprise boundaries, and will remain so for many 
years if only because once entrenched, things like that don't change easily.

Michael Kay
Saxonica


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324632.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 11:23:00 PM</title>
<description><![CDATA[<pre>&gt; Where do you use it Mr. Welch?

Various companies and sectors, including aerospace (BAE), health
(MDConsult), finance (JPMC, Interactive Data), publishing (Elsevier,
Macmillan), telecoms (Vodafone)... it's all pretty much the same work,
just the text nodes are different.



-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324631.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 11:09:00 PM</title>
<description><![CDATA[<pre>Wow. Okay then. I guess it was fun while it lasted. I guess the
conditions aren't there anymore (for open source development of large
projects).

I guess Apache Cocoon's fate has gone the same way.

Personally, I think the volume of code cutters has increased, and the
percentage of &quot;casual&quot; coders has greatly incresed. XSLT 1.0 probably
couldn't get traction with casual coders who could only think
procedurally and it scared them off - leaving no perceivable demand
for the next XSLT interation from the code cutting masses. So the big
coding houses like IBM, Microsoft and Oracle have lost interest.
Personally, I think that's a shame. That XML is primarily useful as
high-level web service data packets (competing with JSON) is a
misconception. It might be the reality that this is how the market
sees it, but &quot;the market is wrong&quot; :-) Living proof that market forces
don't follow technical superiority.

Being a casual coder myself, I reckon if I was to return to
development, it would have to be Java all the way - just so I could
leverage Saxon - and keep my XML pipeline.

RIP my XML/PHP framework (for which my enthusiasm kinda died due to no
real XSLT2 support in PHP's roadmap).

...grateful for Saxon...


On 9 February 2012 22:34, Michael Kay &lt;mike@saxonica.com&gt; wrote:
&gt;
&gt;&gt;&gt; Does anyone know if PHP has it?
&gt;&gt;
&gt;&gt; Sadly, not yet (except via the Java bridge). No recent news from the LIBX*
&gt;&gt; project: http://www.explain.com.au/libx/. Perhaps Steve Ball found something
&gt;&gt; else to do with his weekends. I think the days of hobbyist implementations
&gt;&gt; of these technologies are past.
&gt;
&gt; This posting sort of sums it up:
&gt;
&gt; http://mail.explain.com.au/pipermail/libx/2011-September/000004.html
&gt;
&gt; I don't think you can write an XSLT 2.0 processor and have an unrelated day
&gt; job. Most of the coding for Saxon's XSLT 2.0 processor was done when I was
&gt; employed by Software AG full time on standards work, and I was spending
&gt; about half my time on the standards and half on Saxon, with the full
&gt; encouragement of my employer. I think we can forget about this project
&gt; unless it finds a sponsor.
&gt;
&gt;
&gt; Michael Kay
&gt; Saxonica
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
http://TerenceKearns.com PHOTO.VIDEO | ABN 58705023254 | ph 0412 235 575

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324630.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 10:56:00 PM</title>
<description><![CDATA[<pre>Sadly, the posting still applies.

Implementing an XPath 2.0 + XSLT 2.0 processor is a relatively large engineering project. I always knew that when I started. People who work on HTML 5+CSS3, etc, are doing much smaller projects and hence make (apparent) progress a lot more quickly.

Cheers,
Steve Ball

On 09/02/2012, at 11:34 PM, Michael Kay wrote:

&gt; 
&gt;&gt;&gt; Does anyone know if PHP has it?
&gt;&gt; Sadly, not yet (except via the Java bridge). No recent news from the LIBX* project: http://www.explain.com.au/libx/. Perhaps Steve Ball found something else to do with his weekends. I think the days of hobbyist implementations of these technologies are past.
&gt; This posting sort of sums it up:
&gt; 
&gt; http://mail.explain.com.au/pipermail/libx/2011-September/000004.html
&gt; 
&gt; I don't think you can write an XSLT 2.0 processor and have an unrelated day job. Most of the coding for Saxon's XSLT 2.0 processor was done when I was employed by Software AG full time on standards work, and I was spending about half my time on the standards and half on Saxon, with the full encouragement of my employer. I think we can forget about this project unless it finds a sponsor.
&gt; 
&gt; Michael Kay
&gt; Saxonica
&gt; 
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt; 
&gt; 


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324629.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 8:53:00 PM</title>
<description><![CDATA[<pre>On 2/9/2012 11:59 AM, Andrew Welch wrote:
&gt; Nooooo not xml vs json....  :)   There are plenty of opinions in the
&gt; various archives if you wanted to go over that old ground.
&gt;
&gt; &gt; From an XSLT perspective, html5 should be just another output format
&gt; (assuming the xml syntax version of html5 is covered by the existing
&gt; xml output method)
Sorry, but forget JSON. What is XSLT mainly being used for these days? 
Is it shrinking in use or growing? I notice Michale Kay's list of XSLT2 
processors does not include anything from Microsoft, so I assume they 
are still not going for it:

Saxon, Altova, IBM, Intel, MarkLogic, XQSharp.
Saxon-CE (client edition) for the browser now in beta.
Gestalt still exists but development has ceased.

I use XSLT for tech pubs-type documentation systems and find it very 
useful. Where do you use it Mr. Welch?

Mark

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324628.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 8:00:00 PM</title>
<description><![CDATA[<pre>&gt; What are the strong areas for XML that look like they will remain? Even
&gt; Douglas Crockford (main promoter of JSON) says that XML is better for
&gt; documents than JSON. What else? XML databases?

Nooooo not xml vs json....  :)   There are plenty of opinions in the
various archives if you wanted to go over that old ground.

From an XSLT perspective, html5 should be just another output format
(assuming the xml syntax version of html5 is covered by the existing
xml output method)



-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324627.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 7:48:00 PM</title>
<description><![CDATA[<pre>On 2/9/2012 10:14 AM, Andrew Welch wrote:
&gt;&gt; Maybe all the hobbyists have gotten excited by HTML5/CSS3/JavaScript. &quot;Cool&quot;
&gt;&gt; and &quot;new&quot; are the Queen Bee of the hive.
&gt; html5 and css3 really are amazing... very, very impressive.
Agreed, I generally like what's going on with these. It will be very 
interesting to see what effect this has on our XML communities. HTML5 
makes it easier to use XML like SVG and MathML. But JSON seems to be 
wiping out XML use in things like Ajax and other web development areas. 
XHTML has no more official future.

What are the strong areas for XML that look like they will remain? Even 
Douglas Crockford (main promoter of JSON) says that XML is better for 
documents than JSON. What else? XML databases?

Mark

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324626.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 6:15:00 PM</title>
<description><![CDATA[<pre>&gt; Maybe all the hobbyists have gotten excited by HTML5/CSS3/JavaScript. &quot;Cool&quot;
&gt; and &quot;new&quot; are the Queen Bee of the hive.

html5 and css3 really are amazing... very, very impressive.




-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324625.html</link>
</item><item>
<title>[xsl] [Ann] floodit.xsl (XSLT 2.0 in the browser) - 2/9/2012 5:29:00 PM</title>
<description><![CDATA[<pre>A browser game, implemented in XSLT 2.0 (using Saxon CE):
http://publishinggeekly.com/wp-content/uploads/2012/02/floodit-xsl/floodit.html

;)


-- 
Gerrit Imsieke
Gesch&#228;ftsf&#252;hrer / Managing Director
le-tex publishing services GmbH
Weissenfelser Str. 84, 04229 Leipzig, Germany
Phone +49 341 355356 110, Fax +49 341 355356 510
gerrit.imsieke@le-tex.de, http://www.le-tex.de

Registergericht / Commercial Register: Amtsgericht Leipzig
Registernummer / Registration Number: HRB 24930

Gesch&#228;ftsf&#252;hrer: Gerrit Imsieke, Svea Jelonek,
Thomas Schmidt, Dr. Reinhard V&#246;ckler

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324624.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 5:20:00 PM</title>
<description><![CDATA[<pre>On 2/9/2012 4:16 AM, Michael Kay wrote:
&gt;&gt; Does anyone know if PHP has it?
&gt; Sadly, not yet (except via the Java bridge). No recent news from the 
&gt; LIBX* project: http://www.explain.com.au/libx/. Perhaps Steve Ball 
&gt; found something else to do with his weekends. I think the days of 
&gt; hobbyist implementations of these technologies are past.
&gt;&gt;
&gt; Michael Kay
&gt; Saxonica
Maybe all the hobbyists have gotten excited by HTML5/CSS3/JavaScript. 
&quot;Cool&quot; and &quot;new&quot; are the Queen Bee of the hive.

Mark

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324623.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 5:09:00 PM</title>
<description><![CDATA[<pre>On 09/02/2012 16:14, Wendell Piez wrote:
&gt; Liam,
&gt;
&gt; Evan Lenz's work on the &quot;Carrot&quot; syntax for XSLT, which you possibly 
&gt; saw presented at Balisage, might give an interesting starting point 
&gt; for work on a compiler to write XQuery from XSLT 2.0. (Evan does go 
&gt; the other way, from XQuery+Carrot into XSLT.)
&gt;
Given an open-source XQuery engine, I suspect an easier approach is to 
write a front-end that compiles XSLT into the abstract tree 
representation used by the XQuery processor, augmented with some custom 
functions to do pattern matching and template despatch, and a few 
internal code tweaks to handle the cases where XSLT and XQuery behave 
almost the same but not quite, e.g. handling of duplicate attributes 
(dynamic error in XQuery, use the last in XSLT). Generating XQuery code 
that handles that kind of difference is likely to impose a nasty 
performance penalty.

Michael Kay
Saxonica



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324622.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 4:14:00 PM</title>
<description><![CDATA[<pre>Liam,

Evan Lenz's work on the &quot;Carrot&quot; syntax for XSLT, which you possibly saw 
presented at Balisage, might give an interesting starting point for work 
on a compiler to write XQuery from XSLT 2.0. (Evan does go the other 
way, from XQuery+Carrot into XSLT.)

Would this be, like, totally perverse? On the one hand, bizarre and (in 
a just world) unnecessary. But on the other, it would as you suggest 
open up XSLT as an option on a wide range of platforms.

An excellent Balisage paper would be on your XSLT -&gt; XQuery compiler 
implemented in XSLT, which you compiled into XQuery for distribution on 
XQuery platforms so they could support XSLT. (Subsequent papers would be 
on optimizing this handstand so it actually worked tolerably well?)

Okay I'll stop now.

http://balisage.net/Proceedings/vol7/html/Lenz01/BalisageVol7-Lenz01.html

Cheers,
Wendell

On 2/9/2012 8:54 AM, Liam R E Quin wrote:
&gt; On Thu, 2012-02-09 at 12:34 +0000, Michael Kay wrote:
&gt;&gt; [...]
&gt;
&gt;&gt;   Perhaps Steve Ball
&gt;&gt;&gt; found something else to do with his weekends. I think the days of
&gt;&gt;&gt; hobbyist implementations of these technologies are past.
&gt;&gt; This posting sort of sums it up:
&gt;&gt;
&gt;&gt; http://mail.explain.com.au/pipermail/libx/2011-September/000004.html
&gt;
&gt; Large open source projects generally need a community, or someone with a
&gt; lot of wisdom and generosity and dedication and focus, or (best) both.
&gt; I agree 100%.
&gt;
&gt; On the other hand, a C (not C++) implementation would bring XSLT 2 a lot
&gt; closer to PHP, Python, Perl, JavaScript, etc.  Or maybe even a
&gt; translation into XQuery, hmmm...

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324621.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 2:39:00 PM</title>
<description><![CDATA[<pre>On Thu, 2012-02-09 at 12:34 +0000, Michael Kay wrote:
&gt; [...]

&gt;  Perhaps Steve Ball 
&gt; &gt; found something else to do with his weekends. I think the days of 
&gt; &gt; hobbyist implementations of these technologies are past.
&gt; This posting sort of sums it up:
&gt; 
&gt; http://mail.explain.com.au/pipermail/libx/2011-September/000004.html

Large open source projects generally need a community, or someone with a
lot of wisdom and generosity and dedication and focus, or (best) both.
I agree 100%.

On the other hand, a C (not C++) implementation would bring XSLT 2 a lot
closer to PHP, Python, Perl, JavaScript, etc.  Or maybe even a
translation into XQuery, hmmm...

Liam

-- 
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324620.html</link>
</item><item>
<title>Re: [xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster? - 2/9/2012 2:03:00 PM</title>
<description><![CDATA[<pre>&gt; Interesting.  How exactly does that work?

The best answer is: Try it.

The &quot;current statement&quot; marker moves from one subexpression to another
when stepping through.

Cheers,
Dimitre


On Thu, Feb 9, 2012 at 5:53 AM, TW &lt;zupftom@googlemail.com&gt; wrote:
&gt; 2012/2/9 Dimitre Novatchev &lt;dnovatchev@gmail.com&gt;:
&gt;&gt;&gt; I like pure XPath solutions because they are less verbose, but I find
&gt;&gt;&gt; &quot;full&quot; XSLT less restricting and easier to debug (especially when I
&gt;&gt;&gt; want to check what variable holds what value).
&gt;&gt;
&gt;&gt; Since about 6 months oXygen has implemented stepping through an XPath
&gt;&gt; expression (not sure about setting breakpoints). Thus there should be
&gt;&gt; no difference in debugging XPath code and XSLT code with oXygen.
&gt;&gt;
&gt;
&gt; Interesting. &#194;&#160;How exactly does that work?
&gt;
&gt; Thomas W.
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#194;&#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324619.html</link>
</item><item>
<title>Re: [xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster? - 2/9/2012 1:53:00 PM</title>
<description><![CDATA[<pre>2012/2/9 Dimitre Novatchev &lt;dnovatchev@gmail.com&gt;:
&gt;&gt; I like pure XPath solutions because they are less verbose, but I find
&gt;&gt; &quot;full&quot; XSLT less restricting and easier to debug (especially when I
&gt;&gt; want to check what variable holds what value).
&gt;
&gt; Since about 6 months oXygen has implemented stepping through an XPath
&gt; expression (not sure about setting breakpoints). Thus there should be
&gt; no difference in debugging XPath code and XSLT code with oXygen.
&gt;

Interesting.  How exactly does that work?

Thomas W.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324618.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 1:29:00 PM</title>
<description><![CDATA[<pre>Michael Kay wrote:
&gt; On 09/02/2012 11:50, Terence Kearns wrote:
&gt;&gt; It seems I like to check in every few years on this list. I haven't
&gt;&gt; cut code for years.
&gt;&gt;
&gt;&gt; So how's support for XSLT2 these days?
&gt; Saxon, Altova, IBM, Intel, MarkLogic, XQSharp.

It seems XQSharp is now called XmlPrime.

Does anyone here know whether Intel's XSLT 2.0 processor got beyond its 
beta status 
(http://software.intel.com/en-us/articles/intel-soa-expressway-xslt-20-processor/)?


-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324617.html</link>
</item><item>
<title>Re: [xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster? - 2/9/2012 12:52:00 PM</title>
<description><![CDATA[<pre>&gt; I like pure XPath solutions because they are less verbose, but I find
&gt; &quot;full&quot; XSLT less restricting and easier to debug (especially when I
&gt; want to check what variable holds what value).

Since about 6 months oXygen has implemented stepping through an XPath
expression (not sure about setting breakpoints). Thus there should be
no difference in debugging XPath code and XSLT code with oXygen.

Cheers,
Dimitre Novatchev.

On Wed, Feb 8, 2012 at 11:59 PM, TW &lt;zupftom@googlemail.com&gt; wrote:
&gt; Hi all,
&gt;
&gt; in XSLT 2.0, I quite often find that I can do things using either
&gt; XPath or XSLT constructs. &#194;&#160;For example, in a step-by-step calculation
&gt; I define a number of variables, either with &lt;xsl:variable&gt; or XPath
&gt; &quot;for $x in y&quot; expressions. &#194;&#160;I can use &lt;xsl:choose&gt; or XPath's
&gt; if/then/else (single or chained). &#194;&#160;Sometimes a goal can be achieved
&gt; with either &lt;xsl:for-each&gt;/&lt;xsl:sort&gt; and more complex sort criteria
&gt; and return values, or max()/min() and some conditional treatment.
&gt;
&gt; I like pure XPath solutions because they are less verbose, but I find
&gt; &quot;full&quot; XSLT less restricting and easier to debug (especially when I
&gt; want to check what variable holds what value). &#194;&#160;But how does it look
&gt; performance-wise? &#194;&#160;Is there a valid rule of thumb what constructs are
&gt; cheaper in general? &#194;&#160;Do XSLT constructs maybe have an overhead that
&gt; XPath ones don't?
&gt;
&gt; Thomas W.
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#194;&#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324616.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 12:35:00 PM</title>
<description><![CDATA[<pre>&gt;&gt; Does anyone know if PHP has it?
&gt; Sadly, not yet (except via the Java bridge). No recent news from the 
&gt; LIBX* project: http://www.explain.com.au/libx/. Perhaps Steve Ball 
&gt; found something else to do with his weekends. I think the days of 
&gt; hobbyist implementations of these technologies are past.
This posting sort of sums it up:

http://mail.explain.com.au/pipermail/libx/2011-September/000004.html

I don't think you can write an XSLT 2.0 processor and have an unrelated 
day job. Most of the coding for Saxon's XSLT 2.0 processor was done when 
I was employed by Software AG full time on standards work, and I was 
spending about half my time on the standards and half on Saxon, with the 
full encouragement of my employer. I think we can forget about this 
project unless it finds a sponsor.

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324615.html</link>
</item><item>
<title>Re: [xsl] XSLT 2 processors - 2/9/2012 12:17:00 PM</title>
<description><![CDATA[<pre>On 09/02/2012 11:50, Terence Kearns wrote:
&gt; It seems I like to check in every few years on this list. I haven't
&gt; cut code for years.
&gt;
&gt; So how's support for XSLT2 these days?
Saxon, Altova, IBM, Intel, MarkLogic, XQSharp.

Saxon-CE (client edition) for the browser now in beta.

Gestalt still exists but development has ceased.

&gt; Does anyone know if PHP has it?
Sadly, not yet (except via the Java bridge). No recent news from the 
LIBX* project: http://www.explain.com.au/libx/. Perhaps Steve Ball found 
something else to do with his weekends. I think the days of hobbyist 
implementations of these technologies are past.
&gt;
Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324614.html</link>
</item><item>
<title>[xsl] XSLT 2 processors - 2/9/2012 11:51:00 AM</title>
<description><![CDATA[<pre>It seems I like to check in every few years on this list. I haven't
cut code for years.

So how's support for XSLT2 these days? Does anyone know if PHP has it?
Is there a definitive list of XSLT2 processors somewhere?

Also, does anyone know what happened to Apache Cocoon? They have been
at v3 for years now and only seem to have an alpha release. Looks like
it's all just died off...

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324613.html</link>
</item><item>
<title>Re: [xsl] Comparing numbers with different precisions - 2/9/2012 10:51:00 AM</title>
<description><![CDATA[<pre>On 09/02/2012 10:22, David Carlisle wrote:
&gt; On 09/02/2012 09:54, Clint Redwood wrote:
&gt; &gt; I also note that the xpath function &quot;round&quot; doesn't have any
&gt; &gt; precision associated with it, so I can't just count the decimal
&gt; &gt; places of the shorter value and round the longer to that precision.
&gt;
&gt;
&gt; yes not sure why they didn't add a precision argument. 
&gt; round-to-half-even does have a precision argument so you could use 
&gt; that if that rounding is acceptable, or if you want to use round you 
&gt; can of course scale by a suitable power of 10 to bring the precisions 
&gt; into play.
&gt;
A second argument to round() has been added in XPath 3.0.

Mind you, since it's in terms of decimal places, it can cause confusion 
when used with double or float data types - I would recommend only using 
it with xs:decimal.

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324612.html</link>
</item><item>
<title>Re: [xsl] Comparing numbers with different precisions - 2/9/2012 10:23:00 AM</title>
<description><![CDATA[<pre>On 09/02/2012 09:54, Clint Redwood wrote:
 &gt; I also note that the xpath function &quot;round&quot; doesn't have any
 &gt; precision associated with it, so I can't just count the decimal
 &gt; places of the shorter value and round the longer to that precision.


yes not sure why they didn't add a precision argument. 
round-to-half-even does have a precision argument so you could use that 
if that rounding is acceptable, or if you want to use round you can of 
course scale by a suitable power of 10 to bring the precisions into play.

David

-- 
google plus: https:/profiles.google.com/d.p.carlisle

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324611.html</link>
</item><item>
<title>Re: [xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster? - 2/9/2012 10:22:00 AM</title>
<description><![CDATA[<pre>Thanks to all for your advice.  That helps deciding what to use in
what situation.

Thomas W.


2012/2/9 Andrew Welch &lt;andrew.j.welch@gmail.com&gt;:
&gt;&gt; I like pure XPath solutions because they are less verbose, but I find
&gt;&gt; &quot;full&quot; XSLT less restricting and easier to debug (especially when I
&gt;&gt; want to check what variable holds what value).
&gt;
&gt; ...and insert additional instructions like xsl:message or comments, or
&gt; allow refactorings at certain points like an apply-templates instead
&gt; of just getting the value.
&gt;
&gt; My general guide is use XPath for simple tasks, say an if-then-else,
&gt; but when its get past trivial, eg if-then-else-if-then-else, switch to
&gt; the longer winded choose/when, as your future self with thank you for
&gt; it.
&gt;
&gt;
&gt; --
&gt; Andrew Welch
&gt; http://andrewjwelch.com
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324610.html</link>
</item><item>
<title>Re: [xsl] Comparing numbers with different precisions - 2/9/2012 10:20:00 AM</title>
<description><![CDATA[<pre>On 09/02/2012 09:21, Clint Redwood wrote:
&gt; Hi!
&gt;
&gt; I've a slightly awkward comparison, where I have two numbers of differing precisions, and I want to regard them as the same if the less preicse is the more precise rounded down to the same precision.
&gt;
&gt; Examples are:
&gt; 17.166666666666668 ~= 17.1666666666667
&gt; and
&gt; 8.333333333333334 ~= 8.33333333333333
&gt;
&gt; Unfortunately, the precision is not always the same for all the numbers I'm trying to compare.
&gt;
&gt; I just wondered if anyone on this list had done anything similar, and had a good way of doing it, while I try and figure out a suitable way to do it.
&gt;
&gt; Yours,
&gt;
&gt; Clint Redwood.
&gt;
&gt;
Presumably by &quot;precision&quot; you mean the number of decimal digits in the 
lexical form of the number. That means that trailing zero digits change 
the result, and since trailing zeroes are ignored for all the 
system-supplied numeric data types, it means you are outside the range 
of what the system data types can do.

Drafts of XSD 1.1 included a &quot;precision decimal&quot; data type that was 
intended to meet this need - but it only defined the lexical and value 
space of the type, not the arithmetic rules for comparing and 
calculating with these values (which is why it was dropped from the 
final spec).

I think in your position I would represent the values as elements of the 
form &lt;value precision=&quot;12&quot;&gt;17.16666667&lt;/value&gt;, and then write your own 
function library with operations for comparing and calculating on these 
values.

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324609.html</link>
</item><item>
<title>Re: [xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster? - 2/9/2012 10:14:00 AM</title>
<description><![CDATA[<pre>&gt; I like pure XPath solutions because they are less verbose, but I find
&gt; &quot;full&quot; XSLT less restricting and easier to debug (especially when I
&gt; want to check what variable holds what value).

...and insert additional instructions like xsl:message or comments, or
allow refactorings at certain points like an apply-templates instead
of just getting the value.

My general guide is use XPath for simple tasks, say an if-then-else,
but when its get past trivial, eg if-then-else-if-then-else, switch to
the longer winded choose/when, as your future self with thank you for
it.


-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324608.html</link>
</item><item>
<title>Re: [xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster? - 2/9/2012 10:13:00 AM</title>
<description><![CDATA[<pre>With performance questions, it always depends on the processor.

In Saxon 6, like most other XSLT 1.0 processors I have seen, the XSLT 
and XPath engines were very separate; the boundary between the two 
languages was very evident in the internal engine, both compile time and 
run-time. With this architecture, there might well be performance 
differences between equivalent XSLT and XPath constructs.

In Saxon 9, XSLT and XPath code compile to a single integrated 
expression tree, which is optimized and executed as a whole without 
concern for which parts originated as XSLT and which as XPath. So, for 
example, an XPath &quot;if-then-else&quot; will typically generate exactly the 
same code as an XSLT xsl:choose. The code generated by the xsl:for-each 
instruction is exactly the same as the code for the &quot;/&quot; operator in the 
case where the rhs has an atomic type. So you can safely make your 
coding decisions on what reads well, rather than what performs well. Of 
course, other XSLT 2.0 processors may differ.

If you want to improve both the readability and the performance of your 
code, as well as improving ease of debugging, the single best thing you 
can do is to declare the types of your variables and parameters as 
precisely as possible.

Michael Kay
Saxonica


On 09/02/2012 07:59, TW wrote:
&gt; Hi all,
&gt;
&gt; in XSLT 2.0, I quite often find that I can do things using either
&gt; XPath or XSLT constructs.  For example, in a step-by-step calculation
&gt; I define a number of variables, either with&lt;xsl:variable&gt;  or XPath
&gt; &quot;for $x in y&quot; expressions.  I can use&lt;xsl:choose&gt;  or XPath's
&gt; if/then/else (single or chained).  Sometimes a goal can be achieved
&gt; with either&lt;xsl:for-each&gt;/&lt;xsl:sort&gt;  and more complex sort criteria
&gt; and return values, or max()/min() and some conditional treatment.
&gt;
&gt; I like pure XPath solutions because they are less verbose, but I find
&gt; &quot;full&quot; XSLT less restricting and easier to debug (especially when I
&gt; want to check what variable holds what value).  But how does it look
&gt; performance-wise?  Is there a valid rule of thumb what constructs are
&gt; cheaper in general?  Do XSLT constructs maybe have an overhead that
&gt; XPath ones don't?
&gt;
&gt; Thomas W.
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324607.html</link>
</item><item>
<title>RE: [xsl] Comparing numbers with different precisions - 2/9/2012 9:55:00 AM</title>
<description><![CDATA[<pre>Hi David,

I'm comparing data loaded into a system with the values extracted from that system. Not all the numbers are the same precision, but it would seem that the system is rounding slightly less than XSL treats as double precision. 

I'm already casting the two values to xs:double to carry out the comparison, but that is still regarding the values as different. The comparision I'd like to make ideally is &quot;Is the value A the same as B if A is rounded to the same precision that B is stated.&quot;. I've considered comparing as float, but I think that may not really have sufficient precision.

I also note that the xpath function &quot;round&quot; doesn't have any precision associated with it, so I can't just count the decimal places of the shorter value and round the longer to that precision.

Yours,

Clint.

-----Original message-----
To:	xsl-list@lists.mulberrytech.com; 
CC:	Clint Redwood &lt;clint@screwtape.co.uk&gt;; 
From:	David Carlisle &lt;davidc@nag.co.uk&gt;
Sent:	Thu 09-02-2012 09:40
Subject:	Re: [xsl] Comparing numbers with different precisions
&gt; On 09/02/2012 09:24, Clint Redwood wrote:
&gt; &gt; Hi!
&gt; &gt;
&gt; &gt; I've a slightly awkward comparison, where I have two numbers of
&gt; &gt; differing precisions, and I want to regard them as the same if the
&gt; &gt; less preicse is the more precise rounded down to the same precision.
&gt; &gt;
&gt; &gt; Examples are: 17.166666666666668 ~= 17.1666666666667 and
&gt; &gt; 8.333333333333334 ~= 8.33333333333333
&gt; &gt;
&gt; &gt; Unfortunately, the precision is not always the same for all the
&gt; &gt; numbers I'm trying to compare.
&gt; &gt;
&gt; &gt; I just wondered if anyone on this list had done anything similar, and
&gt; &gt; had a good way of doing it, while I try and figure out a suitable way
&gt; &gt; to do it.
&gt; &gt;
&gt; &gt; Yours,
&gt; &gt;
&gt; &gt; Clint Redwood.
&gt; 
&gt; How big are your precisions? in particular do you want xpath to treat 
&gt; then as doubles (which will mean that anything after 16 or so places 
&gt; will be lost anyway) and you can just use double precision numeric 
&gt; functions such as round to deal with the rounding, or do you need 
&gt; arbitrary precision decimals or (equivalently srings0 and expect to do 
&gt; teh rounding &quot;by hand&quot;.
&gt; 
&gt; David
&gt; 
&gt; 
&gt; 
&gt; ________________________________________________________________________
&gt; The Numerical Algorithms Group Ltd is a company registered in England
&gt; and Wales with company number 1249803. The registered office is:
&gt; Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
&gt; 
&gt; This e-mail has been scanned for all viruses by Star. The service is
&gt; powered by MessageLabs. 
&gt; ________________________________________________________________________
&gt; 
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt; 
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324606.html</link>
</item><item>
<title>Re: [xsl] Comparing numbers with different precisions - 2/9/2012 9:41:00 AM</title>
<description><![CDATA[<pre>On 09/02/2012 09:24, Clint Redwood wrote:
&gt; Hi!
&gt;
&gt; I've a slightly awkward comparison, where I have two numbers of
&gt; differing precisions, and I want to regard them as the same if the
&gt; less preicse is the more precise rounded down to the same precision.
&gt;
&gt; Examples are: 17.166666666666668 ~= 17.1666666666667 and
&gt; 8.333333333333334 ~= 8.33333333333333
&gt;
&gt; Unfortunately, the precision is not always the same for all the
&gt; numbers I'm trying to compare.
&gt;
&gt; I just wondered if anyone on this list had done anything similar, and
&gt; had a good way of doing it, while I try and figure out a suitable way
&gt; to do it.
&gt;
&gt; Yours,
&gt;
&gt; Clint Redwood.

How big are your precisions? in particular do you want xpath to treat 
then as doubles (which will mean that anything after 16 or so places 
will be lost anyway) and you can just use double precision numeric 
functions such as round to deal with the rounding, or do you need 
arbitrary precision decimals or (equivalently srings0 and expect to do 
teh rounding &quot;by hand&quot;.

David



________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324605.html</link>
</item><item>
<title>Re: [xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster? - 2/9/2012 9:38:00 AM</title>
<description><![CDATA[<pre>On 09/02/2012 07:59, TW wrote:
&gt; Do XSLT constructs maybe have an overhead that XPath ones don't?

Michael KnowsTheseThings, but I'll hazard an answer anyway. if you look
at Xquery syntax which is basically just an xpath-like syntax for parts
of XSLT, and the fact that saxon (at least) compiles xquery and xslt
(and xpath) down to the same internal representation, I would expect
that there is negligible difference in compilation time and literally no
difference in run time behaviour when the xpath and xslt are really
doing the same thing.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324604.html</link>
</item><item>
<title>[xsl] Comparing numbers with different precisions - 2/9/2012 9:25:00 AM</title>
<description><![CDATA[<pre>Hi!

I've a slightly awkward comparison, where I have two numbers of differing precisions, and I want to regard them as the same if the less preicse is the more precise rounded down to the same precision.

Examples are:
17.166666666666668 ~= 17.1666666666667
and
8.333333333333334 ~= 8.33333333333333

Unfortunately, the precision is not always the same for all the numbers I'm trying to compare.

I just wondered if anyone on this list had done anything similar, and had a good way of doing it, while I try and figure out a suitable way to do it.

Yours,

Clint Redwood.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324603.html</link>
</item><item>
<title>[xsl] Comparing numbers with different precisions - 2/9/2012 9:23:00 AM</title>
<description><![CDATA[<pre>Hi!

I've a slightly awkward comparison, where I have two numbers of differing precisions, and I want to regard them as the same if the less preicse is the more precise rounded down to the same precision.

Examples are:
17.166666666666668 ~= 17.1666666666667
and
8.333333333333334 ~= 8.33333333333333

Unfortunately, the precision is not always the same for all the numbers I'm trying to compare.

I just wondered if anyone on this list had done anything similar, and had a good way of doing it, while I try and figure out a suitable way to do it.

Yours,

Clint Redwood.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324602.html</link>
</item><item>
<title>[xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster? - 2/9/2012 8:00:00 AM</title>
<description><![CDATA[<pre>Hi all,

in XSLT 2.0, I quite often find that I can do things using either
XPath or XSLT constructs.  For example, in a step-by-step calculation
I define a number of variables, either with &lt;xsl:variable&gt; or XPath
&quot;for $x in y&quot; expressions.  I can use &lt;xsl:choose&gt; or XPath's
if/then/else (single or chained).  Sometimes a goal can be achieved
with either &lt;xsl:for-each&gt;/&lt;xsl:sort&gt; and more complex sort criteria
and return values, or max()/min() and some conditional treatment.

I like pure XPath solutions because they are less verbose, but I find
&quot;full&quot; XSLT less restricting and easier to debug (especially when I
want to check what variable holds what value).  But how does it look
performance-wise?  Is there a valid rule of thumb what constructs are
cheaper in general?  Do XSLT constructs maybe have an overhead that
XPath ones don't?

Thomas W.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324601.html</link>
</item><item>
<title>Re: [xsl] Parent Node recursion template fails - 2/9/2012 2:39:00 AM</title>
<description><![CDATA[<pre>As usual, there is always clear and meaningful explanation.  Thanks!

On Wed, Feb 8, 2012 at 4:58 PM, Michael Kay &lt;mike@saxonica.com&gt; wrote:
&gt; You don't have a template rule that matches the document node (/) in mode
&gt; navigation-special_paint-selected, so when the recursion reaches the root,
&gt; the built-in template for document nodes is invoked. The built-in template
&gt; rule applies-templates to its children, so you oscillate infinitely between
&gt; the root document node and its element child. The solution is to add a rule
&gt; for match=&quot;/&quot; that does nothing.
&gt;
&gt; Michael Kay
&gt; Saxonica
&gt;
&gt;
&gt; On 08/02/2012 22:50, Karl Stubsjoen wrote:
&gt;&gt;
&gt;&gt; This recursion template is failing. &#160;I'm getting the error, too many
&gt;&gt; recursions... &#160;I would expect that when I get to the root element it
&gt;&gt; would stop recursing. &#160;I guess I need a test for root element.
&gt;&gt; Karl..
&gt;&gt;
&gt;&gt; &#160; &#160; &lt;xsl:template match=&quot;*&quot; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &lt;xsl:param name=&quot;node-id&quot;/&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &lt;xsl:choose&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:when test=&quot;generate-id() = $node-id&quot;&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:attribute name=&quot;background&quot;&gt;#eee&lt;/xsl:attribute&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &lt;/xsl:when&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:otherwise&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:apply-templates select=&quot;parent::node()&quot;
&gt;&gt; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:with-param name=&quot;node-id&quot; select=&quot;$node-id&quot;/&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;/xsl:apply-templates&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &lt;/xsl:otherwise&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &lt;/xsl:choose&gt;
&gt;&gt; &#160; &#160; &lt;/xsl:template&gt;
&gt;&gt;
&gt;&gt; --~------------------------------------------------------------------
&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt; --~--
&gt;&gt;
&gt;&gt;
&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Karl Stubsjoen
MeetScoresOnline.com
(602) 845-0006

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324600.html</link>
</item><item>
<title>Re: [xsl] What name would you give this function? - 2/9/2012 12:21:00 AM</title>
<description><![CDATA[<pre>On 09/02/2012 00:04, Costello, Roger L. wrote:
&gt; So, the definition of f is this sequence: items[1],   f(items[position() gt 1]  union  g(items[1])
&gt;
&gt; What name would you call this function? I want something more descriptive than &quot; f &quot;
&gt;
If I created an object by nailing four pieces of wood together, I would 
name it according to the purpose of the artefact: why do I think four 
pieces of wood nailed together in this particular way would be useful to 
anyone? For example, I might call it a wine rack if it were well suited 
to that purpose.

You've described a function in terms of how you implemented it, but you 
haven't given us any clues as to what it might be good for, and that's 
what makes it hard to name.

Michael Kay
Saxonica


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324599.html</link>
</item><item>
<title>[xsl] What name would you give this function? - 2/9/2012 12:05:00 AM</title>
<description><![CDATA[<pre>Hi Folks,

I created a higher-order function. 

I will refer to the function as: f

The argument to f  is a sequence of items:

     f (items)

Processing items[1] may produce/generate more items. 

After outputting the first item, f is applied to the remaining items plus g(item[1]), where g is a function applied to the first item.

So, the definition of f is this sequence: items[1],   f(items[position() gt 1]  union  g(items[1]) 

What name would you call this function? I want something more descriptive than &quot; f &quot;

/Roger





   

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324598.html</link>
</item><item>
<title>Re: [xsl] Parent Node recursion template fails - 2/8/2012 11:59:00 PM</title>
<description><![CDATA[<pre>You don't have a template rule that matches the document node (/) in 
mode navigation-special_paint-selected, so when the recursion reaches 
the root, the built-in template for document nodes is invoked. The 
built-in template rule applies-templates to its children, so you 
oscillate infinitely between the root document node and its element 
child. The solution is to add a rule for match=&quot;/&quot; that does nothing.

Michael Kay
Saxonica

On 08/02/2012 22:50, Karl Stubsjoen wrote:
&gt; This recursion template is failing.  I'm getting the error, too many
&gt; recursions...  I would expect that when I get to the root element it
&gt; would stop recursing.  I guess I need a test for root element.
&gt; Karl..
&gt;
&gt;      &lt;xsl:template match=&quot;*&quot; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;          &lt;xsl:param name=&quot;node-id&quot;/&gt;
&gt;          &lt;xsl:choose&gt;
&gt;              &lt;xsl:when test=&quot;generate-id() = $node-id&quot;&gt;
&gt;                  &lt;xsl:attribute name=&quot;background&quot;&gt;#eee&lt;/xsl:attribute&gt;
&gt;              &lt;/xsl:when&gt;
&gt;              &lt;xsl:otherwise&gt;
&gt;                  &lt;xsl:apply-templates select=&quot;parent::node()&quot;
&gt; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;                      &lt;xsl:with-param name=&quot;node-id&quot; select=&quot;$node-id&quot;/&gt;
&gt;                  &lt;/xsl:apply-templates&gt;
&gt;              &lt;/xsl:otherwise&gt;
&gt;          &lt;/xsl:choose&gt;
&gt;      &lt;/xsl:template&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324597.html</link>
</item><item>
<title>Re: [xsl] Parent Node recursion template fails - 2/8/2012 11:07:00 PM</title>
<description><![CDATA[<pre>Hi again,

On 2/8/2012 6:05 PM, David Carlisle wrote:
&gt;&gt; &lt;xsl:template match=&quot;*&quot; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;&gt; &lt;xsl:param name=&quot;node-id&quot;/&gt;
&gt;&gt; &lt;xsl:choose&gt;
&gt;&gt; &lt;xsl:when test=&quot;generate-id() = $node-id&quot;&gt;
&gt;&gt; &lt;xsl:attribute name=&quot;background&quot;&gt;#eee&lt;/xsl:attribute&gt;
&gt;&gt; &lt;/xsl:when&gt;
&gt;&gt; &lt;xsl:otherwise&gt;
&gt;&gt; &lt;xsl:apply-templates select=&quot;parent::node()&quot;
&gt;&gt; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;&gt; &lt;xsl:with-param name=&quot;node-id&quot; select=&quot;$node-id&quot;/&gt;
&gt;&gt; &lt;/xsl:apply-templates&gt;
&gt;&gt; &lt;/xsl:otherwise&gt;
&gt;&gt; &lt;/xsl:choose&gt;
&gt;&gt; &lt;/xsl:template&gt;
&gt;&gt;
&gt; because you have used parent::node() (which could more simply be written
&gt; as ..) rather than parent::* then if it doesn't find the $node-id it
&gt; will reach / and then (because your template only matches * not /) it
&gt; will apply the default template to / which will apply templates to its
&gt; element child, hitting this template again and looping forever.
&gt; cahanging the match to &quot;*|/&quot; should fix it.

As I thought immediately after hitting &quot;send&quot; ... a slightly neater 
solution.

Or apply-templates select=&quot;parent::*&quot;, as David also almost says.

Cheers,
Wendell

======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324596.html</link>
</item><item>
<title>Re: [xsl] Parent Node recursion template fails - 2/8/2012 11:05:00 PM</title>
<description><![CDATA[<pre>Karl,

Unless you have a template to match the root in this mode, it will apply 
templates to its children in this mode ... and you will recurse back to 
the root etc.

Try adding

&lt;xsl:template match=&quot;/&quot; mode=&quot;navigation-special_paint-selected&quot;/&gt;

Cheers,
Wendell

On 2/8/2012 5:50 PM, Karl Stubsjoen wrote:
&gt; This recursion template is failing.  I'm getting the error, too many
&gt; recursions...  I would expect that when I get to the root element it
&gt; would stop recursing.  I guess I need a test for root element.
&gt; Karl..
&gt;
&gt;      &lt;xsl:template match=&quot;*&quot; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;          &lt;xsl:param name=&quot;node-id&quot;/&gt;
&gt;          &lt;xsl:choose&gt;
&gt;              &lt;xsl:when test=&quot;generate-id() = $node-id&quot;&gt;
&gt;                  &lt;xsl:attribute name=&quot;background&quot;&gt;#eee&lt;/xsl:attribute&gt;
&gt;              &lt;/xsl:when&gt;
&gt;              &lt;xsl:otherwise&gt;
&gt;                  &lt;xsl:apply-templates select=&quot;parent::node()&quot;
&gt; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;                      &lt;xsl:with-param name=&quot;node-id&quot; select=&quot;$node-id&quot;/&gt;
&gt;                  &lt;/xsl:apply-templates&gt;
&gt;              &lt;/xsl:otherwise&gt;
&gt;          &lt;/xsl:choose&gt;
&gt;      &lt;/xsl:template&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324594.html</link>
</item><item>
<title>Re: [xsl] Parent Node recursion template fails - 2/8/2012 11:05:00 PM</title>
<description><![CDATA[<pre>On 08/02/2012 22:50, Karl Stubsjoen wrote:
&gt; This recursion template is failing.  I'm getting the error, too many
&gt; recursions...  I would expect that when I get to the root element it
&gt; would stop recursing.  I guess I need a test for root element.
&gt; Karl..
&gt;
&gt;      &lt;xsl:template match=&quot;*&quot; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;          &lt;xsl:param name=&quot;node-id&quot;/&gt;
&gt;          &lt;xsl:choose&gt;
&gt;              &lt;xsl:when test=&quot;generate-id() = $node-id&quot;&gt;
&gt;                  &lt;xsl:attribute name=&quot;background&quot;&gt;#eee&lt;/xsl:attribute&gt;
&gt;              &lt;/xsl:when&gt;
&gt;              &lt;xsl:otherwise&gt;
&gt;                  &lt;xsl:apply-templates select=&quot;parent::node()&quot;
&gt; mode=&quot;navigation-special_paint-selected&quot;&gt;
&gt;                      &lt;xsl:with-param name=&quot;node-id&quot; select=&quot;$node-id&quot;/&gt;
&gt;                  &lt;/xsl:apply-templates&gt;
&gt;              &lt;/xsl:otherwise&gt;
&gt;          &lt;/xsl:choose&gt;
&gt;      &lt;/xsl:template&gt;
&gt;
because you have used parent::node() (which could more simply be written 
as ..) rather than parent::* then if it doesn't find the $node-id it 
will reach / and then (because your template only matches * not /) it 
will apply the default template to / which will apply templates to its 
element child, hitting this template again and looping forever. 
cahanging the match to &quot;*|/&quot; should fix it.

David



-- 
google plus: https:/profiles.google.com/d.p.carlisle

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324595.html</link>
</item><item>
<title>[xsl] Parent Node recursion template fails - 2/8/2012 10:51:00 PM</title>
<description><![CDATA[<pre>This recursion template is failing.  I'm getting the error, too many
recursions...  I would expect that when I get to the root element it
would stop recursing.  I guess I need a test for root element.
Karl..

    &lt;xsl:template match=&quot;*&quot; mode=&quot;navigation-special_paint-selected&quot;&gt;
        &lt;xsl:param name=&quot;node-id&quot;/&gt;
        &lt;xsl:choose&gt;
            &lt;xsl:when test=&quot;generate-id() = $node-id&quot;&gt;
                &lt;xsl:attribute name=&quot;background&quot;&gt;#eee&lt;/xsl:attribute&gt;
            &lt;/xsl:when&gt;
            &lt;xsl:otherwise&gt;
                &lt;xsl:apply-templates select=&quot;parent::node()&quot;
mode=&quot;navigation-special_paint-selected&quot;&gt;
                    &lt;xsl:with-param name=&quot;node-id&quot; select=&quot;$node-id&quot;/&gt;
                &lt;/xsl:apply-templates&gt;
            &lt;/xsl:otherwise&gt;
        &lt;/xsl:choose&gt;
    &lt;/xsl:template&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324593.html</link>
</item><item>
<title>Re: [xsl] adding element in with general namespace prefix - 2/8/2012 10:43:00 PM</title>
<description><![CDATA[<pre>At 2012-02-09 03:46 +0530, ram wrote:
&gt;it doesn't worked for me. Can you send across your code for the 
&gt;expected result.

I need to leave my keyboard for the day, so I won't have the chance 
to respond to your response to my earlier request for guidance as to 
the problems you are experiencing.  I hope the code below helps ... I 
don't know if it will.

. . . . . . . Ken

t:\ftemp&gt;type ram.xsl
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;
    xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;
    exclude-result-prefixes=&quot;soapenv&quot;
   version=&quot;1.0&quot;&gt;

&lt;xsl:template match=&quot;node()|@*&quot;&gt;
   &lt;xsl:copy&gt;
     &lt;xsl:apply-templates select=&quot;@*|node()&quot;/&gt;
   &lt;/xsl:copy&gt;
&lt;/xsl:template&gt;

&lt;xsl:template match=&quot;soapenv:Header&quot;&gt;
   &lt;xsl:copy&gt;
     &lt;xsl:copy-of select=&quot;@*&quot;/&gt;
       &lt;wsse:Security
xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
         &lt;wsse:UsernameToken&gt;
           &lt;wsse:Username&gt;abcd&lt;/wsse:Username&gt;
           &lt;wsse:Password&gt;ramkurra&lt;/wsse:Password&gt;
         &lt;/wsse:UsernameToken&gt;
       &lt;/wsse:Security&gt;
   &lt;/xsl:copy&gt;
&lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;
t:\ftemp&gt;type ram1.xml
&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;
xmlns:con1=&quot;http://abc.com/DefService/&quot; &gt;
         &lt;soapenv:Header&gt;

          &lt;/soapenv:Header&gt;
         &lt;soapenv:Body&gt;
                 &lt;con1:GetDefinition&gt;
                         &lt;!--Optional:--&gt;
                         &lt;con1:Request&gt;&lt;con1:Id/&gt;
                         &lt;/con1:Request&gt;
                 &lt;/con1:GetDefinition&gt;
         &lt;/soapenv:Body&gt;
&lt;/soapenv:Envelope&gt;

t:\ftemp&gt;call xslt ram1.xml ram.xsl ram1.out

t:\ftemp&gt;type ram1.out
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;&lt;soapenv:Envelope 
xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; 
xmlns:con1=&quot;http://abc.com/DefService/&quot;&gt;
         &lt;soapenv:Header&gt;&lt;wsse:Security 
xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;&lt;wsse:UsernameToken&gt;&lt;wsse:Username&gt;abcd&lt;/wsse:Username&gt;&lt;wsse:Password&gt;ramkurra&lt;/wsse:Password&gt;&lt;/wsse:UsernameToken&gt;&lt;/wsse:Security&gt;&lt;/soapenv:Header&gt;
         &lt;soapenv:Body&gt;
                 &lt;con1:GetDefinition&gt;
                         &lt;!--Optional:--&gt;
                         &lt;con1:Request&gt;&lt;con1:Id/&gt;
                         &lt;/con1:Request&gt;
                 &lt;/con1:GetDefinition&gt;
         &lt;/soapenv:Body&gt;
&lt;/soapenv:Envelope&gt;
t:\ftemp&gt;type ram2.xml
&lt;s:Envelope xmlns:s=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;
xmlns:con1=&quot;http://abc.com/DefService/&quot; &gt;
         &lt;s:Header&gt;

          &lt;/s:Header&gt;
         &lt;s:Body&gt;
                 &lt;con1:GetDefinition&gt;
                         &lt;!--Optional:--&gt;
                         &lt;con1:Request&gt;&lt;con1:Id/&gt;
                         &lt;/con1:Request&gt;
                 &lt;/con1:GetDefinition&gt;
         &lt;/s:Body&gt;
&lt;/s:Envelope&gt;

t:\ftemp&gt;call xslt ram2.xml ram.xsl ram2.out

t:\ftemp&gt;type ram2.out
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;&lt;s:Envelope 
xmlns:s=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; 
xmlns:con1=&quot;http://abc.com/DefService/&quot;&gt;
         &lt;s:Header&gt;&lt;wsse:Security 
xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;&lt;wsse:UsernameToken&gt;&lt;wsse:Username&gt;abcd&lt;/wsse:Username&gt;&lt;wsse:Password&gt;ramkurra&lt;/wsse:Password&gt;&lt;/wsse:UsernameToken&gt;&lt;/wsse:Security&gt;&lt;/s:Header&gt;
         &lt;s:Body&gt;
                 &lt;con1:GetDefinition&gt;
                         &lt;!--Optional:--&gt;
                         &lt;con1:Request&gt;&lt;con1:Id/&gt;
                         &lt;/con1:Request&gt;
                 &lt;/con1:GetDefinition&gt;
         &lt;/s:Body&gt;
&lt;/s:Envelope&gt;
t:\ftemp&gt;rem Done!



--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
G. Ken Holman                   mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324592.html</link>
</item><item>
<title>Re: [xsl] adding element in with general namespace prefix - 2/8/2012 10:23:00 PM</title>
<description><![CDATA[<pre>At 2012-02-09 03:46 +0530, you wrote:
&gt;it doesn't worked for me.

Where doesn't it work for you?  Wendell made the same recommendation 
as I did regarding the use of &lt;xsl:copy&gt;.  Please give me some 
guidance as to where you need help with the approach we've recommended.

. . . . . . . . . Ken

--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
G. Ken Holman                   mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324591.html</link>
</item><item>
<title>Re: [xsl] adding element in with general namespace prefix - 2/8/2012 10:16:00 PM</title>
<description><![CDATA[<pre>If I could clarify Wendell's response a little: XSLT 1.0 in general 
allows the XSLT processor (or more specifically, the serializer) to use 
whatever prefixes it wants - though in practice, processors only take 
advantage of this in edge cases. XSLT 2.0 makes the choice of prefix 
predictable in the vast majority of cases: for example if you have a 
literal result element &lt;p:xyz&gt; in the stylesheet, then the prefix p will 
be used in the output. The reason for this change is two-fold: firstly, 
XML is designed to be human-readable, and prefixes matter to human 
readers. Secondly, prefixes can be used in content, for example the 
infamous xsi:type=&quot;my:ownType&quot;. This only works if there is a 
declaration for the prefix &quot;my&quot; in the document, so the XSLT author 
needs to be able to guarantee that &quot;my&quot; will not be replaced by &quot;your&quot;.

Michael Kay
Saxonica


On 08/02/2012 22:01, Wendell Piez wrote:
&gt; Ram,
&gt;
&gt; Maybe you want to use xsl:copy, which may do better for you. Most 
&gt; processors, when copying an element, will use the same prefix as the 
&gt; input document uses.
&gt;
&gt; Or it may not: as Ken says, processors are not obliged to respect 
&gt; prefixes since a prefix is not properly part of the name, as formally 
&gt; defined; it is only a (local) binding mechanism.
&gt;
&gt; If you are answering a requirement from a partner who does not 
&gt; understand this, you can, in XSLT 2.0, go to considerably more work to 
&gt; construct elements with namespaces, names and their prefixes generated 
&gt; dynamically, using XPath functions such as name(), 
&gt; prefix-from-QName(), and namespace-uri-for-prefix(). An XSLT 
&gt; stylesheet could generate a new header using whatever prefix the input 
&gt; uses, whatever it is -- although such a stylesheet will look pretty 
&gt; mysterious to the uninitiated.
&gt;
&gt; But this is not trivial to do, and a lot of trouble to go to for 
&gt; something that matters only because someone thinks it matters. Even 
&gt; worse, if you are addressing a set of requirements that have never 
&gt; been articulated, which you have only because someone at some point 
&gt; might be unhappy about something ... well. That's a difficult problem 
&gt; to solve.
&gt;
&gt; Cheers,
&gt; Wendell
&gt;


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324589.html</link>
</item><item>
<title>Re: [xsl] adding element in with general namespace prefix - 2/8/2012 10:16:00 PM</title>
<description><![CDATA[<pre>it doesn't worked for me. Can you send across your code for the expected result.

--- On Thu, 9/2/12, G. Ken Holman &lt;gkholman@CraneSoftwrights.com&gt; wrote:

&gt; From: G. Ken Holman &lt;gkholman@CraneSoftwrights.com&gt;
&gt; Subject: Re: [xsl] adding element in with general namespace prefix
&gt; To: xsl-list@lists.mulberrytech.com, xsl-list@lists.mulberrytech.com
&gt; Date: Thursday, 9 February, 2012, 3:19 AM
&gt; At 2012-02-09 03:16 +0530, ram
&gt; wrote:
&gt; &gt; i completly agree with you, but some time service
&gt; provider may not like it when he sees the request, he may
&gt; question, why are you keeping different namespace prefix for
&gt; same namespace.
&gt; &gt;&#160; &#160; i wanted to be consistent in the entire
&gt; soap request that i am sending
&gt; 
&gt; Then use:
&gt; 
&gt; &#160; &lt;xsl:template match=&quot;soapenv:Header&quot;&gt;
&gt; &#160; &#160; &lt;xsl:copy&gt;
&gt; &#160; &#160; &#160; &lt;xsl:copy-of select=&quot;@*&quot;/&gt;
&gt; &#160; &#160; &#160; .....
&gt; 
&gt; If the input has &lt;s:Header&gt; then your output will be
&gt; &lt;s:Header&gt;.
&gt; 
&gt; . . . . . . . . . Ken
&gt; 
&gt; --
&gt; Contact us for world-wide XML consulting and instructor-led
&gt; training
&gt; Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
&gt; Crane Softwrights Ltd.&#160; &#160; &#160; &#160; &#160;
&gt; &#160; http://www.CraneSoftwrights.com/s/
&gt; G. Ken Holman&#160; &#160; &#160; &#160; &#160; &#160;
&gt; &#160; &#160; &#160;&#160;&#160;mailto:gkholman@CraneSoftwrights.com
&gt; Google+ profile: https://plus.google.com/116832879756988317389/about
&gt; Legal business disclaimers:&#160; &#160; http://www.CraneSoftwrights.com/legal
&gt; 
&gt; 
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:&#160; http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt; 
&gt; 

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324590.html</link>
</item><item>
<title>Re: [xsl] adding element in with general namespace prefix - 2/8/2012 10:02:00 PM</title>
<description><![CDATA[<pre>Ram,

Maybe you want to use xsl:copy, which may do better for you. Most 
processors, when copying an element, will use the same prefix as the 
input document uses.

Or it may not: as Ken says, processors are not obliged to respect 
prefixes since a prefix is not properly part of the name, as formally 
defined; it is only a (local) binding mechanism.

If you are answering a requirement from a partner who does not 
understand this, you can, in XSLT 2.0, go to considerably more work to 
construct elements with namespaces, names and their prefixes generated 
dynamically, using XPath functions such as name(), prefix-from-QName(), 
and namespace-uri-for-prefix(). An XSLT stylesheet could generate a new 
header using whatever prefix the input uses, whatever it is -- although 
such a stylesheet will look pretty mysterious to the uninitiated.

But this is not trivial to do, and a lot of trouble to go to for 
something that matters only because someone thinks it matters. Even 
worse, if you are addressing a set of requirements that have never been 
articulated, which you have only because someone at some point might be 
unhappy about something ... well. That's a difficult problem to solve.

Cheers,
Wendell

On 2/8/2012 4:46 PM, ram wrote:
&gt; i completly agree with you, but some time service provider may not like it when he sees the request, he may question, why are you keeping different namespace prefix for same namespace.
&gt;     i wanted to be consistent in the entire soap request that i am sending
&gt;
&gt; --- On Thu, 9/2/12, G. Ken Holman&lt;gkholman@CraneSoftwrights.com&gt;  wrote:
&gt;
&gt;&gt; From: G. Ken Holman&lt;gkholman@CraneSoftwrights.com&gt;
&gt;&gt; Subject: Re: [xsl] adding element in with general namespace prefix
&gt;&gt; To: xsl-list@lists.mulberrytech.com, xsl-list@lists.mulberrytech.com
&gt;&gt; Date: Thursday, 9 February, 2012, 3:11 AM
&gt;&gt; A true XML application ignores the
&gt;&gt; namespace prefix and relies only
&gt;&gt; on the namespace URI associated with the namespace prefix.
&gt;&gt;
&gt;&gt; Can you explain why it is important to you that the prefix
&gt;&gt; be the
&gt;&gt; same?  It is irrelevant.  This request is
&gt;&gt; equivalent to an XML-based
&gt;&gt; namespace-aware application:
&gt;&gt;
&gt;&gt;     &lt;giraffe:Envelope xmlns:giraffe=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&gt;&gt;
&gt;&gt; An XML application will still see the above as a SOAP
&gt;&gt; envelope.
&gt;&gt;
&gt;&gt; At 2012-02-09 03:06 +0530, ram wrote:
&gt;&gt;&gt;         So any idea how to fix
&gt;&gt; it.
&gt;&gt;
&gt;&gt; It isn't broken.
&gt;&gt;
&gt;&gt; I hope this helps.
&gt;&gt;
&gt;&gt; . . . . . . . . . . Ken
&gt;&gt;
&gt;&gt; At 2012-02-09 03:06 +0530, ram wrote:
&gt;&gt;&gt; Hi,
&gt;&gt;&gt;      I have a soap request like the following
&gt;&gt;&gt; &lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;
&gt;&gt;&gt; xmlns:con1=&quot;http://abc.com/DefService/&quot;&gt;
&gt;&gt;&gt;
&gt;&gt;     &lt;soapenv:Header&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt; &lt;/soapenv:Header&gt;
&gt;&gt;&gt;
&gt;&gt;     &lt;soapenv:Body&gt;
&gt;&gt;&gt;
&gt;&gt;     &lt;con1:GetDefinition&gt;
&gt;&gt;&gt;
&gt;&gt;
&gt;&gt;     &lt;!--Optional:--&gt;
&gt;&gt;&gt;
&gt;&gt;
&gt;&gt;     &lt;con1:Request&gt;&lt;con1:Id/&gt;
&gt;&gt;&gt;
&gt;&gt;
&gt;&gt;     &lt;/con1:Request&gt;
&gt;&gt;&gt;
&gt;&gt;     &lt;/con1:GetDefinition&gt;
&gt;&gt;&gt;
&gt;&gt;     &lt;/soapenv:Body&gt;
&gt;&gt;&gt; &lt;/soapenv:Envelope&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; I wanted to add ws:security with username credentials to
&gt;&gt; the request
&gt;&gt;&gt; like the following.
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&gt;&gt;&gt; &lt;soapenv:Envelope xmlns:con=&quot;http://wellpoint.com/esb/context&quot;
&gt;&gt;&gt; xmlns:con1=&quot;http://abc.com/DefService/&gt;
&gt;&gt;&gt; &lt;soapenv:Header&gt;
&gt;&gt;&gt; &lt;wsse:Security
&gt;&gt;&gt; xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
&gt;&gt;&gt;    &lt;wsse:UsernameToken&gt;
&gt;&gt;&gt;
&gt;&gt; &lt;wsse:Username&gt;abcd&lt;/wsse:Username&gt;
&gt;&gt;&gt;
&gt;&gt; &lt;wsse:Password&gt;ramkurra&lt;/wsse:Password&gt;
&gt;&gt;&gt;    &lt;/wsse:UsernameToken&gt;
&gt;&gt;&gt; &lt;/wsse:Security&gt;
&gt;&gt;&gt; &lt;/soapenv:Header&gt;
&gt;&gt;&gt; &lt;soapenv:Body&gt;
&gt;&gt;&gt;      &lt;con1:GetDefinition&gt;
&gt;&gt;&gt;           &lt;con1:Id/&gt;
&gt;&gt;&gt;
&gt;&gt;     &lt;/con1:Response&gt;
&gt;&gt;&gt;      &lt;/con1:GetDefinition&gt;
&gt;&gt;&gt; &lt;/soapenv:Body&gt;
&gt;&gt;&gt; &lt;/soapenv:Envelope&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; i tried with the following piece of code
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;xsl:stylesheet version=&quot;1.0&quot;
&gt;&gt;&gt; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;
&gt;&gt;&gt; &lt;xsl:template match=&quot;@*|node()&quot;&gt;
&gt;&gt;&gt;       &lt;xsl:copy&gt;
&gt;&gt;&gt;
&gt;&gt;     &lt;xsl:apply-templates
&gt;&gt; select=&quot;@*|node()&quot;/&gt;
&gt;&gt;&gt;      &lt;/xsl:copy&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;/xsl:template&gt;
&gt;&gt;&gt; &lt;xsl:template
&gt;&gt; match=&quot;/*[local-name()='Envelope']/*[local-name()='Header']&quot;&gt;
&gt;&gt;&gt; &lt;soapenv:Header xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&gt;&gt;&gt; &lt;wsse:Security
&gt;&gt;&gt; xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
&gt;&gt;&gt; &lt;wsse:UsernameToken&gt;
&gt;&gt;&gt;      &lt;wsse:Username&gt;
&gt;&gt; abc&lt;/wsse:Username&gt;
&gt;&gt;&gt;      &lt;wsse:Password&gt;
&gt;&gt; xya&lt;/wsse:Password&gt;
&gt;&gt;&gt; &lt;/wsse:UsernameToken&gt;
&gt;&gt;&gt; &lt;/wsse:Security&gt;
&gt;&gt;&gt; &lt;/soapenv:Header&gt;
&gt;&gt;&gt; &lt;/xsl:template&gt;
&gt;&gt;&gt; &lt;/xsl:stylesheet&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;       i get the result as expected,
&gt;&gt; but my problem is when client
&gt;&gt;&gt; sends the request with different namespace name rather
&gt;&gt; than
&gt;&gt;&gt; soapenv:Header, like s:Header, the following line of
&gt;&gt; code will
&gt;&gt;&gt; still put soapenv:Header in the result
&gt;&gt;&gt; &lt;soapenv:Header xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;      I wanted to make this namespace prefix is
&gt;&gt; more of generalized
&gt;&gt;&gt; manner, which picks from request.
&gt;&gt;&gt;         So any idea how to fix
&gt;&gt; it.
&gt;&gt;
&gt;&gt;
&gt;&gt; --
&gt;&gt; Contact us for world-wide XML consulting and instructor-led
&gt;&gt; training
&gt;&gt; Free 5-hour video lecture: XSLT/XPath 1.0&amp;  2.0 http://ude.my/uoui9h
&gt;&gt; Crane Softwrights Ltd.
&gt;&gt;    http://www.CraneSoftwrights.com/s/
&gt;&gt; G. Ken Holman
&gt;&gt;         mailto:gkholman@CraneSoftwrights.com
&gt;&gt; Google+ profile: https://plus.google.com/116832879756988317389/about
&gt;&gt; Legal business disclaimers:    http://www.CraneSoftwrights.com/legal
&gt;&gt;
&gt;&gt;
&gt;&gt; --~------------------------------------------------------------------
&gt;&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt; --~--
&gt;&gt;
&gt;&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324588.html</link>
</item><item>
<title>Re: [xsl] adding element in with general namespace prefix - 2/8/2012 9:50:00 PM</title>
<description><![CDATA[<pre>At 2012-02-09 03:16 +0530, ram wrote:
&gt;i completly agree with you, but some time service provider may not 
&gt;like it when he sees the request, he may question, why are you 
&gt;keeping different namespace prefix for same namespace.
&gt;    i wanted to be consistent in the entire soap request that i am sending

Then use:

   &lt;xsl:template match=&quot;soapenv:Header&quot;&gt;
     &lt;xsl:copy&gt;
       &lt;xsl:copy-of select=&quot;@*&quot;/&gt;
       .....

If the input has &lt;s:Header&gt; then your output will be &lt;s:Header&gt;.

. . . . . . . . . Ken

--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
G. Ken Holman                   mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324587.html</link>
</item><item>
<title>Re: [xsl] adding element in with general namespace prefix - 2/8/2012 9:46:00 PM</title>
<description><![CDATA[<pre>i completly agree with you, but some time service provider may not like it when he sees the request, he may question, why are you keeping different namespace prefix for same namespace.
   i wanted to be consistent in the entire soap request that i am sending

--- On Thu, 9/2/12, G. Ken Holman &lt;gkholman@CraneSoftwrights.com&gt; wrote:

&gt; From: G. Ken Holman &lt;gkholman@CraneSoftwrights.com&gt;
&gt; Subject: Re: [xsl] adding element in with general namespace prefix
&gt; To: xsl-list@lists.mulberrytech.com, xsl-list@lists.mulberrytech.com
&gt; Date: Thursday, 9 February, 2012, 3:11 AM
&gt; A true XML application ignores the
&gt; namespace prefix and relies only 
&gt; on the namespace URI associated with the namespace prefix.
&gt; 
&gt; Can you explain why it is important to you that the prefix
&gt; be the 
&gt; same?&#160; It is irrelevant.&#160; This request is
&gt; equivalent to an XML-based 
&gt; namespace-aware application:
&gt; 
&gt; &#160;&#160;&#160;&lt;giraffe:Envelope xmlns:giraffe=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&gt; 
&gt; An XML application will still see the above as a SOAP
&gt; envelope.
&gt; 
&gt; At 2012-02-09 03:06 +0530, ram wrote:
&gt; &gt;&#160; &#160; &#160;&#160;&#160;So any idea how to fix
&gt; it.
&gt; 
&gt; It isn't broken.
&gt; 
&gt; I hope this helps.
&gt; 
&gt; . . . . . . . . . . Ken
&gt; 
&gt; At 2012-02-09 03:06 +0530, ram wrote:
&gt; &gt;Hi,
&gt; &gt;&#160; &#160; I have a soap request like the following
&gt; &gt;&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;
&gt; &gt;xmlns:con1=&quot;http://abc.com/DefService/&quot; &gt;
&gt; &gt;&#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;soapenv:Header&gt;
&gt; &gt;
&gt; &gt;&#160; &#160; &#160; &#160; &#160;
&gt; &lt;/soapenv:Header&gt;
&gt; &gt;&#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;soapenv:Body&gt;
&gt; &gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;con1:GetDefinition&gt;
&gt; &gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;
&gt; &#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;!--Optional:--&gt;
&gt; &gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;
&gt; &#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;con1:Request&gt;&lt;con1:Id/&gt;
&gt; &gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;
&gt; &#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;/con1:Request&gt;
&gt; &gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;/con1:GetDefinition&gt;
&gt; &gt;&#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;/soapenv:Body&gt;
&gt; &gt;&lt;/soapenv:Envelope&gt;
&gt; &gt;
&gt; &gt;I wanted to add ws:security with username credentials to
&gt; the request 
&gt; &gt;like the following.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&gt; &gt;&lt;soapenv:Envelope xmlns:con=&quot;http://wellpoint.com/esb/context&quot; 
&gt; &gt;xmlns:con1=&quot;http://abc.com/DefService/&gt;
&gt; &gt;&lt;soapenv:Header&gt;
&gt; &gt;&lt;wsse:Security 
&gt; &gt;xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
&gt; &gt;&#160; &lt;wsse:UsernameToken&gt;
&gt; &gt;&#160; &#160;
&gt; &lt;wsse:Username&gt;abcd&lt;/wsse:Username&gt;
&gt; &gt;&#160; &#160;
&gt; &lt;wsse:Password&gt;ramkurra&lt;/wsse:Password&gt;
&gt; &gt;&#160; &lt;/wsse:UsernameToken&gt;
&gt; &gt;&lt;/wsse:Security&gt;
&gt; &gt;&lt;/soapenv:Header&gt;
&gt; &gt;&lt;soapenv:Body&gt;
&gt; &gt;&#160; &#160; &lt;con1:GetDefinition&gt;
&gt; &gt;&#160; &#160; &#160; &#160;&#160;&#160;&lt;con1:Id/&gt;
&gt; &gt;&#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;/con1:Response&gt;
&gt; &gt;&#160; &#160; &lt;/con1:GetDefinition&gt;
&gt; &gt;&lt;/soapenv:Body&gt;
&gt; &gt;&lt;/soapenv:Envelope&gt;
&gt; &gt;
&gt; &gt;
&gt; &gt;i tried with the following piece of code
&gt; &gt;
&gt; &gt;&lt;xsl:stylesheet version=&quot;1.0&quot; 
&gt; &gt;xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;
&gt; &gt;&lt;xsl:template match=&quot;@*|node()&quot;&gt;
&gt; &gt;&#160; &#160;&#160;&#160;&lt;xsl:copy&gt;
&gt; &gt;&#160; &#160; &#160;
&gt; &#160;&#160;&#160;&lt;xsl:apply-templates
&gt; select=&quot;@*|node()&quot;/&gt;
&gt; &gt;&#160; &#160; &lt;/xsl:copy&gt;
&gt; &gt;
&gt; &gt;&lt;/xsl:template&gt;
&gt; &gt;&lt;xsl:template
&gt; match=&quot;/*[local-name()='Envelope']/*[local-name()='Header']&quot;&gt;
&gt; &gt;&lt;soapenv:Header xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&gt; &gt;&lt;wsse:Security 
&gt; &gt;xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
&gt; &gt;&lt;wsse:UsernameToken&gt;
&gt; &gt;&#160; &#160; &lt;wsse:Username&gt;&#160; &#160; &#160;
&gt; abc&lt;/wsse:Username&gt;
&gt; &gt;&#160; &#160; &lt;wsse:Password&gt;&#160; &#160; &#160;
&gt; xya&lt;/wsse:Password&gt;
&gt; &gt;&lt;/wsse:UsernameToken&gt;
&gt; &gt;&lt;/wsse:Security&gt;
&gt; &gt;&lt;/soapenv:Header&gt;
&gt; &gt;&lt;/xsl:template&gt;
&gt; &gt;&lt;/xsl:stylesheet&gt;
&gt; &gt;
&gt; &gt;&#160; &#160;&#160;&#160;i get the result as expected,
&gt; but my problem is when client 
&gt; &gt; sends the request with different namespace name rather
&gt; than 
&gt; &gt; soapenv:Header, like s:Header, the following line of
&gt; code will 
&gt; &gt; still put soapenv:Header in the result
&gt; &gt;&lt;soapenv:Header xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&gt; &gt;
&gt; &gt;&#160; &#160; I wanted to make this namespace prefix is
&gt; more of generalized 
&gt; &gt; manner, which picks from request.
&gt; &gt;&#160; &#160; &#160;&#160;&#160;So any idea how to fix
&gt; it.
&gt; 
&gt; 
&gt; --
&gt; Contact us for world-wide XML consulting and instructor-led
&gt; training
&gt; Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
&gt; Crane Softwrights Ltd.&#160; &#160; &#160; &#160; &#160;
&gt; &#160; http://www.CraneSoftwrights.com/s/
&gt; G. Ken Holman&#160; &#160; &#160; &#160; &#160; &#160;
&gt; &#160; &#160; &#160;&#160;&#160;mailto:gkholman@CraneSoftwrights.com
&gt; Google+ profile: https://plus.google.com/116832879756988317389/about
&gt; Legal business disclaimers:&#160; &#160; http://www.CraneSoftwrights.com/legal
&gt; 
&gt; 
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:&#160; http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt; 
&gt; 

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324586.html</link>
</item><item>
<title>Re: [xsl] adding element in with general namespace prefix - 2/8/2012 9:42:00 PM</title>
<description><![CDATA[<pre>A true XML application ignores the namespace prefix and relies only 
on the namespace URI associated with the namespace prefix.

Can you explain why it is important to you that the prefix be the 
same?  It is irrelevant.  This request is equivalent to an XML-based 
namespace-aware application:

   &lt;giraffe:Envelope xmlns:giraffe=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;

An XML application will still see the above as a SOAP envelope.

At 2012-02-09 03:06 +0530, ram wrote:
&gt;       So any idea how to fix it.

It isn't broken.

I hope this helps.

. . . . . . . . . . Ken

At 2012-02-09 03:06 +0530, ram wrote:
&gt;Hi,
&gt;    I have a soap request like the following
&gt;&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;
&gt;xmlns:con1=&quot;http://abc.com/DefService/&quot; &gt;
&gt;         &lt;soapenv:Header&gt;
&gt;
&gt;          &lt;/soapenv:Header&gt;
&gt;         &lt;soapenv:Body&gt;
&gt;                 &lt;con1:GetDefinition&gt;
&gt;                         &lt;!--Optional:--&gt;
&gt;                         &lt;con1:Request&gt;&lt;con1:Id/&gt;
&gt;                         &lt;/con1:Request&gt;
&gt;                 &lt;/con1:GetDefinition&gt;
&gt;         &lt;/soapenv:Body&gt;
&gt;&lt;/soapenv:Envelope&gt;
&gt;
&gt;I wanted to add ws:security with username credentials to the request 
&gt;like the following.
&gt;
&gt;
&gt;
&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&gt;&lt;soapenv:Envelope xmlns:con=&quot;http://wellpoint.com/esb/context&quot; 
&gt;xmlns:con1=&quot;http://abc.com/DefService/&gt;
&gt;&lt;soapenv:Header&gt;
&gt;&lt;wsse:Security 
&gt;xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
&gt;  &lt;wsse:UsernameToken&gt;
&gt;    &lt;wsse:Username&gt;abcd&lt;/wsse:Username&gt;
&gt;    &lt;wsse:Password&gt;ramkurra&lt;/wsse:Password&gt;
&gt;  &lt;/wsse:UsernameToken&gt;
&gt;&lt;/wsse:Security&gt;
&gt;&lt;/soapenv:Header&gt;
&gt;&lt;soapenv:Body&gt;
&gt;    &lt;con1:GetDefinition&gt;
&gt;         &lt;con1:Id/&gt;
&gt;         &lt;/con1:Response&gt;
&gt;    &lt;/con1:GetDefinition&gt;
&gt;&lt;/soapenv:Body&gt;
&gt;&lt;/soapenv:Envelope&gt;
&gt;
&gt;
&gt;i tried with the following piece of code
&gt;
&gt;&lt;xsl:stylesheet version=&quot;1.0&quot; 
&gt;xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;
&gt;&lt;xsl:template match=&quot;@*|node()&quot;&gt;
&gt;     &lt;xsl:copy&gt;
&gt;         &lt;xsl:apply-templates select=&quot;@*|node()&quot;/&gt;
&gt;    &lt;/xsl:copy&gt;
&gt;
&gt;&lt;/xsl:template&gt;
&gt;&lt;xsl:template match=&quot;/*[local-name()='Envelope']/*[local-name()='Header']&quot;&gt;
&gt;&lt;soapenv:Header xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&gt;&lt;wsse:Security 
&gt;xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
&gt;&lt;wsse:UsernameToken&gt;
&gt;    &lt;wsse:Username&gt;      abc&lt;/wsse:Username&gt;
&gt;    &lt;wsse:Password&gt;      xya&lt;/wsse:Password&gt;
&gt;&lt;/wsse:UsernameToken&gt;
&gt;&lt;/wsse:Security&gt;
&gt;&lt;/soapenv:Header&gt;
&gt;&lt;/xsl:template&gt;
&gt;&lt;/xsl:stylesheet&gt;
&gt;
&gt;     i get the result as expected, but my problem is when client 
&gt; sends the request with different namespace name rather than 
&gt; soapenv:Header, like s:Header, the following line of code will 
&gt; still put soapenv:Header in the result
&gt;&lt;soapenv:Header xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&gt;
&gt;    I wanted to make this namespace prefix is more of generalized 
&gt; manner, which picks from request.
&gt;       So any idea how to fix it.


--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
G. Ken Holman                   mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324585.html</link>
</item><item>
<title>[xsl] adding element in with general namespace prefix - 2/8/2012 9:36:00 PM</title>
<description><![CDATA[<pre>Hi,
   I have a soap request like the following
&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;
xmlns:con1=&quot;http://abc.com/DefService/&quot; &gt;
	&lt;soapenv:Header&gt;

         &lt;/soapenv:Header&gt;
	&lt;soapenv:Body&gt;
		&lt;con1:GetDefinition&gt;
			&lt;!--Optional:--&gt;
			&lt;con1:Request&gt;&lt;con1:Id/&gt;
			&lt;/con1:Request&gt;
		&lt;/con1:GetDefinition&gt;
	&lt;/soapenv:Body&gt;
&lt;/soapenv:Envelope&gt;

I wanted to add ws:security with username credentials to the request like the following.



&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;soapenv:Envelope xmlns:con=&quot;http://wellpoint.com/esb/context&quot; xmlns:con1=&quot;http://abc.com/DefService/&gt;
&lt;soapenv:Header&gt;
&lt;wsse:Security xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
 &lt;wsse:UsernameToken&gt;
   &lt;wsse:Username&gt;abcd&lt;/wsse:Username&gt;
   &lt;wsse:Password&gt;ramkurra&lt;/wsse:Password&gt;
 &lt;/wsse:UsernameToken&gt;
&lt;/wsse:Security&gt;
&lt;/soapenv:Header&gt;
&lt;soapenv:Body&gt;
   &lt;con1:GetDefinition&gt;
	&lt;con1:Id/&gt;
	&lt;/con1:Response&gt;
   &lt;/con1:GetDefinition&gt;
&lt;/soapenv:Body&gt;
&lt;/soapenv:Envelope&gt;


i tried with the following piece of code 

&lt;xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;
&lt;xsl:template match=&quot;@*|node()&quot;&gt;	   
    &lt;xsl:copy&gt;
	&lt;xsl:apply-templates select=&quot;@*|node()&quot;/&gt;
   &lt;/xsl:copy&gt;
		
&lt;/xsl:template&gt;
&lt;xsl:template match=&quot;/*[local-name()='Envelope']/*[local-name()='Header']&quot;&gt;
&lt;soapenv:Header xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
&lt;wsse:Security xmlns:wsse=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&quot;&gt;
&lt;wsse:UsernameToken&gt;
   &lt;wsse:Username&gt;	abc&lt;/wsse:Username&gt;
   &lt;wsse:Password&gt;	xya&lt;/wsse:Password&gt;
&lt;/wsse:UsernameToken&gt;
&lt;/wsse:Security&gt;
&lt;/soapenv:Header&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;

    i get the result as expected, but my problem is when client sends the request with different namespace name rather than soapenv:Header, like s:Header, the following line of code will still put soapenv:Header in the result
&lt;soapenv:Header xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;

   I wanted to make this namespace prefix is more of generalized manner, which picks from request.
      So any idea how to fix it.


   
   




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324584.html</link>
</item><item>
<title>[xsl] XSLfast 5.0 Out Now! - 2/8/2012 2:39:00 PM</title>
<description><![CDATA[<pre>8&lt;--------------------------------------------------------------------
XSLfast 5.0: Data to Document... Done

We are proud to announce the release of XSLfast 5.0 which is now
available on our website
http://www.xslfast.com/. You can see the brand-new features and enjoy
the simplified and
improved layout creation process.

XSLfast is the leading tool to create layout templates and generate
PDF documents.
It turns your XML data into forms, invoices, price lists, catalogs, data sheets
and much more in an easy way!

XSLfast uses open technologies (like XSL-FO, PDF, FOP) that do not lock you
into any proprietary tools.

We welcome your feedback: in our public forum
http://forums.jcatalog.com/forums/forums/show/2.page you can give us
your comments, exchange ideas, discuss features or just get in touch
with other XSLfast users. The ticket system is publicly available,
too: http://jira.jcatalog.com/browse/XSL/.

Limited Time Offer: Purchase XSLfast 5.0 till the 29th of February
2012 and save up to 150,00 EUR!

New features of XSLfast 5.0:
- Improved user interface: New skin and more classic look with
improved functions
- Improved grouping functions: hinting depending on attached XML file,
most reasonable groupings are available from context menu and much
more
- Completions in Windows editor
- Support for FOP 1.0, XEP, XSLformatter, JAVA 1.6, XSLT 2.0, PDF 1.4 and CSV
- Massive enhancements for pivot tables
- Completely new table wizard: The refined table wizard simplifies and
accelerates the layout creation
- On-the-fly preview: The preview window shows how your layout really looks
- External tools are gone: XSLfast is able to automatically detect everything
- Support of multiple monitors: Simplifies and accelerates layout creation
- Additional functions: Side floats, more IF-clauses for table columns, support
of fo:marker, managed backgrounds, support of DTD external entities, layout
comparisons and much more...

More features of XSLfast:
- Cross media publishing for every XML data
- Create forms, invoices, product sheets, catalogs, price lists, ...
- Design templates for database publishing, print-on-demand and batch publishing
- No XSL-FO or XSLT-programming skills necessary
- Use of templates as functions in your XSL code
- Different output formats and files (PDF, HTML, XSL-FO)
- Compatible with Windows XP, Vista, 7, Mac OS, Linux

We invite you to try XSLfast 5.0 by visiting our website
http://www.xslfast.com/ and downloading the free trial version.

Yours
XSLfast Team

Europe:
&#160; jCatalog Software AG
&#160; Lindemannstr. 79
&#160; 44137 Dortmund
&#160; Germany
&#160; Tel: +49 231-3967-0
&#160; Fax: +49 231-3967-100
&#160; Mail: info@xslfast.com

USA:
&#160; jCatalog Software AG
&#160; 6818 Balsam Way
&#160; Oakland, CA 94611
&#160; USA
&#160; Tel: + 1 510 595 6800
&#160; Fax: + 1 413 487 1814
&#160; Mail: info@xslfast.com
8&lt;--------------------------------------------------------------------

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324583.html</link>
</item><item>
<title>Re: [xsl] [XSL-FO] Way to include an outside stylesheet? - 2/8/2012 12:50:00 PM</title>
<description><![CDATA[<pre>At 2012-02-08 09:46 +0000, Florent Georges wrote:
&gt;Wendell Piez wrote:
&gt; &gt; &quot;XSL&quot;, in fact, properly means the combination of XSLT and
&gt; &gt; XSL-FO, even if it's also commonly used to mean XSLT without
&gt; &gt; XSL-FO.
&gt;   Even worse...  Some people use it to refer to XSLT (like an
&gt;&quot;abbreviation&quot; of XSLT, mainly because of the usual extension
&gt;.xsl I guess).

My students tell me the confusion is because of the choice of the 
namespace prefix in code they've seen ... I am often asked &quot;Then why 
isn't it &lt;xslt:value-of&gt;?&quot;.

Of course the very first examples of XSLT were created when XSLT was 
chapter 2 of XSL.  Well, it still is as a reference, but in the first 
drafts, before it was split off, all of XSLT was described in the 
body of chapter 2 of XSL.

&gt;Some people use it to refer to XSL-FO, as the XSL
&gt;spec actually refers to the XSLT spec, but includes (and is) the
&gt;spec body for XSL-FO.  And I guess some people use it to refer to
&gt;XSL, but I rarely have the opportunity to speak about XSL as a
&gt;whole ;-)
&gt;
&gt;   My rule of thumb: always use either XSLT or XSL-FO, and if you
&gt;hear XSL, ask for precision.

+1

. . . . . . . . . Ken


--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
G. Ken Holman                   mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324582.html</link>
</item><item>
<title>Re: [xsl] [XSL-FO] Way to include an outside stylesheet? - 2/8/2012 9:47:00 AM</title>
<description><![CDATA[<pre>Wendell Piez wrote:

&#160; Hi,

&gt; &quot;XSL&quot;, in fact, properly means the combination of XSLT and
&gt; XSL-FO, even if it's also commonly used to mean XSLT without
&gt; XSL-FO.

&#160; Even worse... &#160;Some people use it to refer to XSLT (like an
&quot;abbreviation&quot; of XSLT, mainly because of the usual extension
.xsl I guess). &#160;Some people use it to refer to XSL-FO, as the XSL
spec actually refers to the XSLT spec, but includes (and is) the
spec body for XSL-FO. &#160;And I guess some people use it to refer to
XSL, but I rarely have the opportunity to speak about XSL as a
whole ;-)

&#160; My rule of thumb: always use either XSLT or XSL-FO, and if you
hear XSL, ask for precision.

&#160; Regards,


--&#160;
Florent Georges
http://fgeorges.org/
http://h2oconsulting.be/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324581.html</link>
</item><item>
<title>RE: [xsl] [XSL-FO] Way to include an outside stylesheet? - 2/7/2012 7:30:00 PM</title>
<description><![CDATA[<pre>As a contra-point, I exclusively use XQuery not XSLT to generate XSL-FO for publication of PDF.
I am probably the 1 in a million who finds it vastly easier to comprehend then XSLT ... but so be it :)

-----Original Message-----
From: Wendell Piez [mailto:wapiez@mulberrytech.com] 
Sent: Tuesday, February 07, 2012 2:06 PM
To: xsl-list@lists.mulberrytech.com
Subject: Re: [xsl] [XSL-FO] Way to include an outside stylesheet?

Colin,

If your stylesheet has something like this at the top:

&lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; ...

then it is XSLT. (Yes, XSLT is used routinely to generate XSL-FO. &quot;XSL&quot;, 
in fact, properly means the combination of XSLT and XSL-FO, even if it's 
also commonly used to mean XSLT without XSL-FO.)

So you have xsl:include, xsl:import, templates and the entire range of 
XSLT functionalities available.

In fact, if you find you are writing lots of xsl:if or xsl:choose 
instructions, chances are good that you could improve your XSLT quite a 
bit. In XSLT, conditional processing is often done in other ways, and 
usually more gracefully.

Most of what you learn when you use XSLT to generate other formats (such 
as HTML) will also apply when using it to make XSL-FO.

So, absolutely, yes, go for it.

(If you aren't using XSLT, then can you explain how you are generating 
your XSL-FO?)

Cheers,
Wendell

On 2/7/2012 12:02 PM, Colin DeClue wrote:
&gt; Hey Guys,
&gt;
&gt; So, I'm using xsl-fo (with the Antenna House Formatter) to develop
&gt; several reports. Many of them have share a large section of the body.
&gt; I was building them up by having lots of if statements for the other
&gt; parts of the reports, but that's getting cumbersome. I'd like to have
&gt; the body portion in a separate style sheet, and keep the separate
&gt; reports in separate style sheets that reference the body portion. I
&gt; saw that xslt an&lt;xsl:include&gt;  element, but I couldn't find something
&gt; for xsl-fo. Does anyone have any suggestions?
&gt;
&gt; Thanks,
&gt; Colin DeClue


-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324579.html</link>
</item><item>
<title>Re: [xsl] [XSL-FO] Way to include an outside stylesheet? - 2/7/2012 7:18:00 PM</title>
<description><![CDATA[<pre>I do have that at the top of my stylesheet, but when I tried
&lt;xsl:include&gt;, it complained. It looks like I was using the include
element incorrectly, however. I'd just assumed when it didn't
recognize the include that it just wasn't XSLT.

Thanks. The knowledge that I CAN use it should hopefully be enough to
get me to use it correctly, this time.

On Tue, Feb 7, 2012 at 1:06 PM, Wendell Piez &lt;wapiez@mulberrytech.com&gt; wrote:
&gt; Colin,
&gt;
&gt; If your stylesheet has something like this at the top:
&gt;
&gt; &lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; ...
&gt;
&gt; then it is XSLT. (Yes, XSLT is used routinely to generate XSL-FO. &quot;XSL&quot;, in
&gt; fact, properly means the combination of XSLT and XSL-FO, even if it's also
&gt; commonly used to mean XSLT without XSL-FO.)
&gt;
&gt; So you have xsl:include, xsl:import, templates and the entire range of XSLT
&gt; functionalities available.
&gt;
&gt; In fact, if you find you are writing lots of xsl:if or xsl:choose
&gt; instructions, chances are good that you could improve your XSLT quite a bit.
&gt; In XSLT, conditional processing is often done in other ways, and usually
&gt; more gracefully.
&gt;
&gt; Most of what you learn when you use XSLT to generate other formats (such as
&gt; HTML) will also apply when using it to make XSL-FO.
&gt;
&gt; So, absolutely, yes, go for it.
&gt;
&gt; (If you aren't using XSLT, then can you explain how you are generating your
&gt; XSL-FO?)
&gt;
&gt; Cheers,
&gt; Wendell
&gt;
&gt;
&gt; On 2/7/2012 12:02 PM, Colin DeClue wrote:
&gt;&gt;
&gt;&gt; Hey Guys,
&gt;&gt;
&gt;&gt; So, I'm using xsl-fo (with the Antenna House Formatter) to develop
&gt;&gt; several reports. Many of them have share a large section of the body.
&gt;&gt; I was building them up by having lots of if statements for the other
&gt;&gt; parts of the reports, but that's getting cumbersome. I'd like to have
&gt;&gt; the body portion in a separate style sheet, and keep the separate
&gt;&gt; reports in separate style sheets that reference the body portion. I
&gt;&gt; saw that xslt an&lt;xsl:include&gt; &#160;element, but I couldn't find something
&gt;&gt; for xsl-fo. Does anyone have any suggestions?
&gt;&gt;
&gt;&gt; Thanks,
&gt;&gt; Colin DeClue
&gt;
&gt;
&gt;
&gt; --
&gt; ======================================================================
&gt; Wendell Piez &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;mailto:wapiez@mulberrytech.com
&gt; Mulberry Technologies, Inc. &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;http://www.mulberrytech.com
&gt; 17 West Jefferson Street &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Direct Phone: 301/315-9635
&gt; Suite 207 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Phone: 301/315-9631
&gt; Rockville, MD &#160;20850 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; Fax: 301/315-8285
&gt; ----------------------------------------------------------------------
&gt; &#160;Mulberry Technologies: A Consultancy Specializing in SGML and XML
&gt; ======================================================================
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324578.html</link>
</item><item>
<title>Re: [xsl] [XSL-FO] Way to include an outside stylesheet? - 2/7/2012 7:07:00 PM</title>
<description><![CDATA[<pre>Colin,

If your stylesheet has something like this at the top:

&lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; ...

then it is XSLT. (Yes, XSLT is used routinely to generate XSL-FO. &quot;XSL&quot;, 
in fact, properly means the combination of XSLT and XSL-FO, even if it's 
also commonly used to mean XSLT without XSL-FO.)

So you have xsl:include, xsl:import, templates and the entire range of 
XSLT functionalities available.

In fact, if you find you are writing lots of xsl:if or xsl:choose 
instructions, chances are good that you could improve your XSLT quite a 
bit. In XSLT, conditional processing is often done in other ways, and 
usually more gracefully.

Most of what you learn when you use XSLT to generate other formats (such 
as HTML) will also apply when using it to make XSL-FO.

So, absolutely, yes, go for it.

(If you aren't using XSLT, then can you explain how you are generating 
your XSL-FO?)

Cheers,
Wendell

On 2/7/2012 12:02 PM, Colin DeClue wrote:
&gt; Hey Guys,
&gt;
&gt; So, I'm using xsl-fo (with the Antenna House Formatter) to develop
&gt; several reports. Many of them have share a large section of the body.
&gt; I was building them up by having lots of if statements for the other
&gt; parts of the reports, but that's getting cumbersome. I'd like to have
&gt; the body portion in a separate style sheet, and keep the separate
&gt; reports in separate style sheets that reference the body portion. I
&gt; saw that xslt an&lt;xsl:include&gt;  element, but I couldn't find something
&gt; for xsl-fo. Does anyone have any suggestions?
&gt;
&gt; Thanks,
&gt; Colin DeClue


-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324577.html</link>
</item><item>
<title>[xsl] [XSL-FO] Way to include an outside stylesheet? - 2/7/2012 5:03:00 PM</title>
<description><![CDATA[<pre>Hey Guys,

So, I'm using xsl-fo (with the Antenna House Formatter) to develop
several reports. Many of them have share a large section of the body.
I was building them up by having lots of if statements for the other
parts of the reports, but that's getting cumbersome. I'd like to have
the body portion in a separate style sheet, and keep the separate
reports in separate style sheets that reference the body portion. I
saw that xslt an &lt;xsl:include&gt; element, but I couldn't find something
for xsl-fo. Does anyone have any suggestions?

Thanks,
Colin DeClue

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324576.html</link>
</item><item>
<title>Re: [xsl] xpath  problem - 2/7/2012 2:13:00 PM</title>
<description><![CDATA[<pre>On 07/02/2012 14:00, ram wrote:
&gt; Hi,
&gt;       I was trying to do xpath like following.
&gt;
&gt;
&gt; &lt;xsl:variable name='abc' select=&quot;normalize-space($var1/*[local-name()='source']/text())&quot;/&gt;
&gt;
&gt; the $var1 contains a node set something like this.
&gt;
&gt;
&gt; &lt;plan&gt;
&gt;     &lt;sourc&gt;asfasfs&lt;/source&gt;
&gt;     &lt;value&gt;adadf&lt;/value&gt;
&gt; &lt;/plan&gt;
&gt;
&gt;      when i run the above line i am not getting any result. is there anything wrong with the statement.
&gt;
&gt;
It's hard to debug problems when all you know is that the input is 
&quot;something like this&quot; - solving programming problems requires accurate 
detail.

My guess would be that $var is actually the document node that contains 
&lt;plan&gt; as a child element, in which case you need to select down an 
extra level.

Michael Kay
Saxonica


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324574.html</link>
</item><item>
<title>Re: [xsl] xpath problem - 2/7/2012 2:13:00 PM</title>
<description><![CDATA[<pre>On 7 February 2012 14:00, ram &lt;ram_kurra@yahoo.co.in&gt; wrote:
&gt; Hi,
&gt; &#160; &#160; I was trying to do xpath like following.
&gt;
&gt;
&gt; &lt;xsl:variable name='abc' select=&quot;normalize-space($var1/*[local-name()='source']/text())&quot;/&gt;
&gt;
&gt; the $var1 contains a node set something like this.
&gt;
&gt;
&gt; &lt;plan&gt;
&gt; &#160; &lt;sourc&gt;asfasfs&lt;/source&gt;
&gt; &#160; &lt;value&gt;adadf&lt;/value&gt;
&gt; &lt;/plan&gt;
&gt;
&gt; &#160; &#160;when i run the above line i am not getting any result. is there anything wrong with the statement.

Don't forget if you have a variable like this:

&lt;xsl:variable name=&quot;var1&quot;&gt;
  &lt;plan&gt;
    &lt;source&gt;

then $var1 returns the document-node containing &lt;plan&gt; element, so to
access the &lt;source&gt; element you need either $var1/plan/source, or set
the sequence type of the variable to be element(plan), then use
$var1/source.


-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324575.html</link>
</item><item>
<title>Re: [xsl] xpath  problem - 2/7/2012 2:12:00 PM</title>
<description><![CDATA[<pre>I am sorry its typo error. 
 &lt;plan&gt;
    &lt;source&gt;asfasfs&lt;/source&gt;
 &lt;/plan&gt;



--- On Tue, 7/2/12, Martin Honnen &lt;Martin.Honnen@gmx.de&gt; wrote:

&gt; From: Martin Honnen &lt;Martin.Honnen@gmx.de&gt;
&gt; Subject: Re: [xsl] xpath  problem
&gt; To: xsl-list@lists.mulberrytech.com
&gt; Date: Tuesday, 7 February, 2012, 7:33 PM
&gt; ram wrote:
&gt; 
&gt; &gt;&#160; &#160; &#160;&#160;&#160;I was trying to do xpath
&gt; like following.
&gt; &gt;
&gt; &gt;
&gt; &gt; &lt;xsl:variable name='abc'
&gt; select=&quot;normalize-space($var1/*[local-name()='source']/text())&quot;/&gt;
&gt; &gt;
&gt; &gt; the $var1 contains a node set something like this.
&gt; &gt;
&gt; &gt;
&gt; &gt; &lt;plan&gt;
&gt; &gt;&#160;
&gt; &#160;&#160;&#160;&lt;sourc&gt;asfasfs&lt;/source&gt;
&gt; &#160; &#160; &#160;&#160;&#160;^^^^^^^&#160; &#160;
&gt; &#160;&#160;&#160;^^^^^^^^^
&gt; That is not even well-formed so please post samples that
&gt; allow us to 
&gt; reproduce the issue.
&gt; &gt;&#160;
&gt; &#160;&#160;&#160;&lt;value&gt;adadf&lt;/value&gt;
&gt; &gt; &lt;/plan&gt;
&gt; &gt;
&gt; &gt;&#160; &#160; &#160; when i run the above line i am not
&gt; getting any result. is there anything wrong with the
&gt; statement.
&gt; 
&gt; 
&gt; 
&gt; 
&gt; -- 
&gt; 
&gt; &#160;&#160;&#160; Martin Honnen --- MVP Data Platform
&gt; Development
&gt; &#160;&#160;&#160; http://msmvps.com/blogs/martin_honnen/
&gt; 
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:&#160; http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt; 
&gt; 

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324573.html</link>
</item><item>
<title>Re: [xsl] xpath  problem - 2/7/2012 2:04:00 PM</title>
<description><![CDATA[<pre>ram wrote:

&gt;       I was trying to do xpath like following.
&gt;
&gt;
&gt; &lt;xsl:variable name='abc' select=&quot;normalize-space($var1/*[local-name()='source']/text())&quot;/&gt;
&gt;
&gt; the $var1 contains a node set something like this.
&gt;
&gt;
&gt; &lt;plan&gt;
&gt;     &lt;sourc&gt;asfasfs&lt;/source&gt;
       ^^^^^^^       ^^^^^^^^^
That is not even well-formed so please post samples that allow us to 
reproduce the issue.
&gt;     &lt;value&gt;adadf&lt;/value&gt;
&gt; &lt;/plan&gt;
&gt;
&gt;      when i run the above line i am not getting any result. is there anything wrong with the statement.




-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324572.html</link>
</item><item>
<title>[xsl] xpath  problem - 2/7/2012 2:01:00 PM</title>
<description><![CDATA[<pre>Hi,
     I was trying to do xpath like following.


&lt;xsl:variable name='abc' select=&quot;normalize-space($var1/*[local-name()='source']/text())&quot;/&gt;

the $var1 contains a node set something like this.


&lt;plan&gt;
   &lt;sourc&gt;asfasfs&lt;/source&gt;
   &lt;value&gt;adadf&lt;/value&gt;
&lt;/plan&gt;

    when i run the above line i am not getting any result. is there anything wrong with the statement.


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324571.html</link>
</item><item>
<title>Re: [xsl] collecting a fileset with XSLT 2.0 - 2/6/2012 9:48:00 PM</title>
<description><![CDATA[<pre>Nice! Thanks again. Here's to getting rid of old hoariness.

Mark

On 2/6/2012 12:46 PM, Wendell Piez wrote:
&gt; Mark,
&gt;
&gt; This is cool.
&gt;
&gt; On 2/6/2012 12:50 PM, Mark Giffin wrote:
&gt;&gt; Thanks Wendell, also good to know. In this project I ran out of time and
&gt;&gt; couldn't take the time to work out how to use collection(), so I handled
&gt;&gt; it elsewise. collection() would have required a ton of refactoring on
&gt;&gt; this project. I realized I mainly needed to exclude a couple files, so I
&gt;&gt; embedded a little lookup table in the stylesheet that holds a couple
&gt;&gt; strings:
&gt;&gt;
&gt;&gt; &lt;st:exclude&gt;
&gt;&gt; &lt;st:file name=&quot;filename1.xml&quot;/&gt;
&gt;&gt; &lt;st:file name=&quot;filename2.xml&quot;/&gt;
&gt;&gt; &lt;/st:exclude&gt;
&gt;&gt;
&gt;&gt; Then I made a key to parse it:
&gt;&gt;
&gt;&gt; &lt;xsl:variable name=&quot;excluded-files&quot;
&gt;&gt; select=&quot;document('')/xsl:stylesheet/st:exclude&quot;/&gt;
&gt;
&gt; Or you could simply do
&gt;
&gt; &lt;xsl:variable name=&quot;excluded-files&quot; as=&quot;element(st:file)+&quot;&gt;
&gt; &lt;st:file name=&quot;filename1.xml&quot;/&gt;
&gt; &lt;st:file name=&quot;filename2.xml&quot;/&gt;
&gt;   ...
&gt; &lt;/xsl:variable&gt;
&gt;
&gt; and take it from there.
&gt;
&gt; (The hoary old XSLT 1.0 trick you used is no longer necessary. :-)
&gt;
&gt; Then you may not need the key any more either, as
&gt;
&gt; exists($excluded-files[@name=$this-file])
&gt;
&gt; will then tell you what you need to know, probably as fast.
&gt;
&gt; (Many things can become much simpler under 2.0.)
&gt;
&gt; Cheers,
&gt; Wendell
&gt;
&gt;&gt;
&gt;&gt; &lt;!-- Key to parse $excluded-files. --&gt;
&gt;&gt; &lt;xsl:key name=&quot;excluded&quot; match=&quot;st:file&quot; use=&quot;@name&quot;/&gt;
&gt;&gt;
&gt;&gt; And excluded those files by testing it with key():
&gt;&gt;
&gt;&gt; &lt;xsl:when test=&quot;exists(key('excluded', $thisfile, $excluded-files))&quot;&gt;
&gt;&gt; &lt;!-- do nothing --&gt;
&gt;&gt; &lt;/xsl:when&gt;
&gt;&gt;
&gt;&gt; Maybe later I can get cooler with collection().
&gt;


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324557.html</link>
</item><item>
<title>Re: [xsl] collecting a fileset with XSLT 2.0 - 2/6/2012 8:47:00 PM</title>
<description><![CDATA[<pre>Mark,

This is cool.

On 2/6/2012 12:50 PM, Mark Giffin wrote:
&gt; Thanks Wendell, also good to know. In this project I ran out of time and
&gt; couldn't take the time to work out how to use collection(), so I handled
&gt; it elsewise. collection() would have required a ton of refactoring on
&gt; this project. I realized I mainly needed to exclude a couple files, so I
&gt; embedded a little lookup table in the stylesheet that holds a couple
&gt; strings:
&gt;
&gt; &lt;st:exclude&gt;
&gt; &lt;st:file name=&quot;filename1.xml&quot;/&gt;
&gt; &lt;st:file name=&quot;filename2.xml&quot;/&gt;
&gt; &lt;/st:exclude&gt;
&gt;
&gt; Then I made a key to parse it:
&gt;
&gt; &lt;xsl:variable name=&quot;excluded-files&quot;
&gt; select=&quot;document('')/xsl:stylesheet/st:exclude&quot;/&gt;

Or you could simply do

&lt;xsl:variable name=&quot;excluded-files&quot; as=&quot;element(st:file)+&quot;&gt;
   &lt;st:file name=&quot;filename1.xml&quot;/&gt;
   &lt;st:file name=&quot;filename2.xml&quot;/&gt;
   ...
&lt;/xsl:variable&gt;

and take it from there.

(The hoary old XSLT 1.0 trick you used is no longer necessary. :-)

Then you may not need the key any more either, as

exists($excluded-files[@name=$this-file])

will then tell you what you need to know, probably as fast.

(Many things can become much simpler under 2.0.)

Cheers,
Wendell

&gt;
&gt; &lt;!-- Key to parse $excluded-files. --&gt;
&gt; &lt;xsl:key name=&quot;excluded&quot; match=&quot;st:file&quot; use=&quot;@name&quot;/&gt;
&gt;
&gt; And excluded those files by testing it with key():
&gt;
&gt; &lt;xsl:when test=&quot;exists(key('excluded', $thisfile, $excluded-files))&quot;&gt;
&gt; &lt;!-- do nothing --&gt;
&gt; &lt;/xsl:when&gt;
&gt;
&gt; Maybe later I can get cooler with collection().

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324552.html</link>
</item><item>
<title>Re: [xsl] collecting a fileset with XSLT 2.0 - 2/6/2012 5:51:00 PM</title>
<description><![CDATA[<pre>Thanks Wendell, also good to know. In this project I ran out of time and 
couldn't take the time to work out how to use collection(), so I handled 
it elsewise. collection() would have required a ton of refactoring on 
this project. I realized I mainly needed to exclude a couple files, so I 
embedded a little lookup table in the stylesheet that holds a couple 
strings:

&lt;st:exclude&gt;
&lt;st:file name=&quot;filename1.xml&quot;/&gt;
&lt;st:file name=&quot;filename2.xml&quot;/&gt;
&lt;/st:exclude&gt;

Then I made a key to parse it:

&lt;xsl:variable name=&quot;excluded-files&quot; 
select=&quot;document('')/xsl:stylesheet/st:exclude&quot;/&gt;

&lt;!-- Key to parse $excluded-files. --&gt;
&lt;xsl:key name=&quot;excluded&quot; match=&quot;st:file&quot; use=&quot;@name&quot;/&gt;

And excluded those files by testing it with key():

&lt;xsl:when test=&quot;exists(key('excluded', $thisfile, $excluded-files))&quot;&gt;
&lt;!-- do nothing --&gt;
&lt;/xsl:when&gt;

Maybe later I can get cooler with collection().

Mark

On 2/6/2012 9:17 AM, Wendell Piez wrote:
&gt; Hi Mark,
&gt;
&gt; In addition to what Ken says, two other things:
&gt;
&gt; Some processors, Saxon included, will accept a list of documents for 
&gt; the collection() function from a file. So you only have to contrive a 
&gt; way of getting the files you are interested in listed in the syntax it 
&gt; expects.
&gt;
&gt; (See http://www.saxonica.com/documentation/sourcedocs/collections.xml.)
&gt;
&gt; Plus, there's also a (rather crude) escape hatch. In addition to 
&gt; whatever is supported by the local implementation of collection(), 
&gt; keep in mind that you can get any document's URI using the 
&gt; document-uri() function, and it's a string, so you can use it to 
&gt; filter documents.
&gt;
&gt; So something like
&gt;
&gt; select=&quot;collection('path;on-error=ignore')
&gt;           [matches(document-uri(.),'content/extra/[^/]+/[^/]+$']&quot;
&gt;
&gt; Obviously this is likely to quite expensive since every document (or 
&gt; every XML document) is subject to being retrieved before the ones you 
&gt; don't want are discarded. But by the same token it is very flexible.
&gt;
&gt; Cheers,
&gt; Wendell
&gt;
&gt; On 2/5/2012 4:25 PM, Mark Giffin wrote:
&gt;&gt; Thanks Ken! This does help, I'll check it out. That info is not in
&gt;&gt; Michael Kay's XSLT 2.0 book. I'll blame him. Just kiddin.
&gt;&gt;
&gt;&gt; Mark
&gt;&gt;
&gt;&gt; On 2/5/2012 12:56 PM, G. Ken Holman wrote:
&gt;&gt;&gt; At 2012-02-05 12:51 -0800, Mark Giffin wrote:
&gt;&gt;&gt;&gt; Is there a way to collect a set of files off the file system in XSLT
&gt;&gt;&gt;&gt; 2.0, in the same way that Ant lets you define a set of files with
&gt;&gt;&gt;&gt; &lt;fileset&gt; like this:
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; &lt;fileset dir=&quot;${src.dir}&quot; id=&quot;all.docs&quot;&gt;
&gt;&gt;&gt;&gt; &lt;include name=&quot;**/*.xml&quot;/&gt;
&gt;&gt;&gt;&gt; &lt;exclude name=&quot;**/gui/*.*&quot;/&gt;
&gt;&gt;&gt;&gt; &lt;exclude name=&quot;tools/**/*.*&quot;/&gt;
&gt;&gt;&gt;&gt; &lt;exclude name=&quot;content/extra/**/*.*&quot;/&gt;
&gt;&gt;&gt;&gt; &lt;/fileset&gt;
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; Maybe an extension function or something? I've been using a
&gt;&gt;&gt;&gt; manually-maintained list of files like this, but it's a a pain:
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; &lt;docroot&gt;
&gt;&gt;&gt;&gt; &lt;root href=&quot;../../../doc_source/system100.xml&quot; /&gt;
&gt;&gt;&gt;&gt; &lt;root href=&quot;../../../doc_source/content/access/accesscore.xml&quot; /&gt;
&gt;&gt;&gt;&gt; &lt;root href=&quot;../../../doc_source/content/access/accesstest.xml&quot; /&gt;
&gt;&gt;&gt;&gt; &lt;root
&gt;&gt;&gt;&gt; href=&quot;../../../doc_source/content/access/accesstest_commands.xml&quot; /&gt;
&gt;&gt;&gt;&gt; etc.
&gt;&gt;&gt;&gt; &lt;/docroot&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; The concept in XSLT2 is the function collection(uri) which returns a
&gt;&gt;&gt; set of root nodes of all the XML files addressed by the URI.
&gt;&gt;&gt;
&gt;&gt;&gt; There is no standard for the URI string, so you have to read your
&gt;&gt;&gt; vendor's documentation regarding how to compose the URI for what you
&gt;&gt;&gt; want. For example, for Saxon, you would address all the XML files in
&gt;&gt;&gt; the current and descendent subdirectories with something along the
&gt;&gt;&gt; lines of:
&gt;&gt;&gt;
&gt;&gt;&gt; collection(&quot;./?select=&quot;*.xml;recurse=yes;on-error=ignore&quot;)
&gt;&gt;&gt;
&gt;&gt;&gt; I hope this helps.
&gt;&gt;&gt;
&gt;&gt;&gt; . . . . . . . . . . . Ken
&gt;


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324546.html</link>
</item><item>
<title>Re: [xsl] Entities - 2/6/2012 5:35:00 PM</title>
<description><![CDATA[<pre>Hi,

On 2/6/2012 6:07 AM, David Carlisle wrote:
&gt; If you chose an output encoding that does not include the characters
&gt; (say US-ASCII) then the system will encode the non ascii characters
&gt; using numeric references on output.

This does exactly what's needed about 98% of the time.

Saxon even includes an option 
(xsl:output/@saxon:character-representation) for controlling whether 
numeric character references come out in hex or in decimal.

Cheers,
Wendell

======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324545.html</link>
</item><item>
<title>Re: [xsl] better way to say &quot;all attrs except&quot;? - 2/6/2012 5:30:00 PM</title>
<description><![CDATA[<pre>Hi,

On 2/5/2012 10:37 PM, Graydon wrote:
&gt; On Sun, Feb 05, 2012 at 10:30:15PM -0500, Syd Bauman scripsit:
&gt;&gt; For years I've used expressoins like
&gt;&gt;     @*[not(name(.)='xml:id' or name(.)='rend')]
&gt;&gt; to ask for all of the attributes *except* xml:id= or rend=. And some
&gt;&gt; time ago Jeni recommended essentially the same approach.[1] But I'm
&gt;&gt; wondering if that isn't an XPath 1-ish way to do things, and if there
&gt;&gt; isn't a nicer way to get the same set when using XSLT 2 (and thus can
&gt;&gt; make use of XPath 2).
&gt;
&gt; @* except (@xml:id,@rend)
&gt;
&gt; is how that goes in XSLT 2.

Yes, and much nicer. Boo to explicit name testing.

&gt; (or @*[name(.) != ('xml:id','rend')] if you're preferential toward the
&gt; predicate, but the except is the way to go, since that's an actual node
&gt; test and keeps you out of the stringy land of names.)

Gotcha alert: that should be not(name(.) = ('xml:id','rend')). The != 
will always be true because every possible value of name(.) (any string 
at all) is != to either or both 'xml:id' and 'rend'.

But the main reason to dislike explicit name testing for this kind of 
thing is that it isn't namespace-safe, and is thus liable to break at 
inconvenient times, unlike the implicit name testing provided by path 
expressions. (If you really must, the XPath 2.0 node-name() function can 
help.)

&gt; The only tricky thing I've so far noticed about 'except' is that it
&gt; doesn't always affect the implicit context of position() just how you
&gt; would expect without the write-stuff-down-and-stare-at-it step.

Yes, you have to keep in mind that it's a set operation, so in both

attribute::* except (attribute::xml:id|attribute::rend)

attribute::type union attribute::rend
@type|@rend

the context for evaluating the second operand is the same as the context 
for the first, that is, we are excluding (or including) particular 
attribute of the context node, not of its attributes.

Cheers,
Wendell

======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324544.html</link>
</item><item>
<title>Re: [xsl] collecting a fileset with XSLT 2.0 - 2/6/2012 5:17:00 PM</title>
<description><![CDATA[<pre>Hi Mark,

In addition to what Ken says, two other things:

Some processors, Saxon included, will accept a list of documents for the 
collection() function from a file. So you only have to contrive a way of 
getting the files you are interested in listed in the syntax it expects.

(See http://www.saxonica.com/documentation/sourcedocs/collections.xml.)

Plus, there's also a (rather crude) escape hatch. In addition to 
whatever is supported by the local implementation of collection(), keep 
in mind that you can get any document's URI using the document-uri() 
function, and it's a string, so you can use it to filter documents.

So something like

select=&quot;collection('path;on-error=ignore')
           [matches(document-uri(.),'content/extra/[^/]+/[^/]+$']&quot;

Obviously this is likely to quite expensive since every document (or 
every XML document) is subject to being retrieved before the ones you 
don't want are discarded. But by the same token it is very flexible.

Cheers,
Wendell

On 2/5/2012 4:25 PM, Mark Giffin wrote:
&gt; Thanks Ken! This does help, I'll check it out. That info is not in
&gt; Michael Kay's XSLT 2.0 book. I'll blame him. Just kiddin.
&gt;
&gt; Mark
&gt;
&gt; On 2/5/2012 12:56 PM, G. Ken Holman wrote:
&gt;&gt; At 2012-02-05 12:51 -0800, Mark Giffin wrote:
&gt;&gt;&gt; Is there a way to collect a set of files off the file system in XSLT
&gt;&gt;&gt; 2.0, in the same way that Ant lets you define a set of files with
&gt;&gt;&gt; &lt;fileset&gt; like this:
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;fileset dir=&quot;${src.dir}&quot; id=&quot;all.docs&quot;&gt;
&gt;&gt;&gt; &lt;include name=&quot;**/*.xml&quot;/&gt;
&gt;&gt;&gt; &lt;exclude name=&quot;**/gui/*.*&quot;/&gt;
&gt;&gt;&gt; &lt;exclude name=&quot;tools/**/*.*&quot;/&gt;
&gt;&gt;&gt; &lt;exclude name=&quot;content/extra/**/*.*&quot;/&gt;
&gt;&gt;&gt; &lt;/fileset&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; Maybe an extension function or something? I've been using a
&gt;&gt;&gt; manually-maintained list of files like this, but it's a a pain:
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;docroot&gt;
&gt;&gt;&gt; &lt;root href=&quot;../../../doc_source/system100.xml&quot; /&gt;
&gt;&gt;&gt; &lt;root href=&quot;../../../doc_source/content/access/accesscore.xml&quot; /&gt;
&gt;&gt;&gt; &lt;root href=&quot;../../../doc_source/content/access/accesstest.xml&quot; /&gt;
&gt;&gt;&gt; &lt;root
&gt;&gt;&gt; href=&quot;../../../doc_source/content/access/accesstest_commands.xml&quot; /&gt;
&gt;&gt;&gt; etc.
&gt;&gt;&gt; &lt;/docroot&gt;
&gt;&gt;
&gt;&gt; The concept in XSLT2 is the function collection(uri) which returns a
&gt;&gt; set of root nodes of all the XML files addressed by the URI.
&gt;&gt;
&gt;&gt; There is no standard for the URI string, so you have to read your
&gt;&gt; vendor's documentation regarding how to compose the URI for what you
&gt;&gt; want. For example, for Saxon, you would address all the XML files in
&gt;&gt; the current and descendent subdirectories with something along the
&gt;&gt; lines of:
&gt;&gt;
&gt;&gt; collection(&quot;./?select=&quot;*.xml;recurse=yes;on-error=ignore&quot;)
&gt;&gt;
&gt;&gt; I hope this helps.
&gt;&gt;
&gt;&gt; . . . . . . . . . . . Ken

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324543.html</link>
</item><item>
<title>AW: [xsl] Entities - 2/6/2012 11:09:00 AM</title>
<description><![CDATA[<pre>Thanks a lot !


. . . . . . . . . . . . . . . . . . . . . . . . . .
Ing. Patrick Szabo
 XSLT Developer 
LexisNexis
A-1030 Wien, Marxergasse 25

mailto:patrick.szabo@lexisnexis.at
Tel.: +43 1 53452 1573 
Fax: +43 1 534 52 146 


-----Urspr&#195;&#188;ngliche Nachricht-----

Von: David Carlisle [mailto:davidc@nag.co.uk] 
Gesendet: Montag, 06. Februar 2012 12:08
An: xsl-list@lists.mulberrytech.com
Cc: Szabo, Patrick (LNG-VIE)
Betreff: Re: [xsl] Entities

On 06/02/2012 10:56, Szabo, Patrick (LNG-VIE) wrote:
 &gt; Hi,
 &gt;
 &gt; How can I declare that I do not wan't entities to be resolved ?
 &gt; I've tried different output methods but that didn't work.
 &gt; The entities are in hex-format.
 &gt;

In XML terminology numeric character references are not entity 
references, and  XML tools typically provide no way not to resolve them 
to their characters. The whole point is that the author should be free 
to use either form and get the same outcome.

If you chose an output encoding that does not include the characters 
(say US-ASCII) then the system will encode the non ascii characters 
using numeric references on output.

David



-- 
google plus: https:/profiles.google.com/d.p.carlisle

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324528.html</link>
</item><item>
<title>Re: [xsl] Entities - 2/6/2012 11:08:00 AM</title>
<description><![CDATA[<pre>On 06/02/2012 10:56, Szabo, Patrick (LNG-VIE) wrote:
 &gt; Hi,
 &gt;
 &gt; How can I declare that I do not wan't entities to be resolved ?
 &gt; I've tried different output methods but that didn't work.
 &gt; The entities are in hex-format.
 &gt;

In XML terminology numeric character references are not entity 
references, and  XML tools typically provide no way not to resolve them 
to their characters. The whole point is that the author should be free 
to use either form and get the same outcome.

If you chose an output encoding that does not include the characters 
(say US-ASCII) then the system will encode the non ascii characters 
using numeric references on output.

David



-- 
google plus: https:/profiles.google.com/d.p.carlisle

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324527.html</link>
</item><item>
<title>Re: [xsl] Entities - 2/6/2012 11:03:00 AM</title>
<description><![CDATA[<pre>Szabo, Patrick (LNG-VIE) wrote:

&gt; How can I declare that I do not wan't entities to be resolved ?
&gt; I've tried different output methods but that didn't work.
&gt; The entities are in hex-format.

That sounds as if you are talking about hexadecimal character 
references, not entities or entity references.
In the XSLT data model the XSLT processor operates on there are neither 
entity references nor character references, the processor simply 
operates on a tree with text nodes containing Unicode characters.

The only way to be able to preserve character references is to mark them 
up as needed before the XSLT processor works, I think Andrew's LexEx 
http://andrewjwelch.com/lexev/ does that for you on the Java platform. 
That way you get nodes you can operate on in XSLT

-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324526.html</link>
</item><item>
<title>[xsl] Entities - 2/6/2012 10:57:00 AM</title>
<description><![CDATA[<pre>Hi, 

How can I declare that I do not wan't entities to be resolved ?
I've tried different output methods but that didn't work. 
The entities are in hex-format. 

Best regards

. . . . . . . . . . . . . . . . . . . . . . . . . .
Ing. Patrick Szabo
 XSLT Developer 
LexisNexis
A-1030 Wien, Marxergasse 25

mailto:patrick.szabo@lexisnexis.at
Tel.: +43 1 53452 1573 
Fax: +43 1 534 52 146 






--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324524.html</link>
</item><item>
<title>Re: [xsl] Possible to create XSLT with XSLT and apply it to data with - 2/6/2012 9:32:00 AM</title>
<description><![CDATA[<pre>Great, thanks!


2012/2/6 Philip Fearon &lt;phil@saxonica.com&gt;:
&gt; No, it's not yet possible to process dynamically generated XSLT from
&gt; Saxon-CE, but we're hoping to include this for the next release.
&gt;
&gt; Phil
&gt;
&gt; On Mon, Feb 6, 2012 at 7:08 AM, TW &lt;zupftom@googlemail.com&gt; wrote:
&gt;&gt; Subject line says it: &#160;Can I use Saxon-CE to dynamically generate an
&gt;&gt; XSL stylesheet that I then apply to some data? &#160;With in-browser XSLT
&gt;&gt; 1.0 I'd load the dynamically generated stylesheet with
&gt;&gt; xsltProcessor.importStylesheet(). &#160;Is there a comparable mechanism for
&gt;&gt; Saxon-CE?
&gt;&gt;
&gt;&gt; Thomas W.
&gt;&gt;
&gt;&gt; --~------------------------------------------------------------------
&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt; --~--
&gt;&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324523.html</link>
</item><item>
<title>Re: [xsl] Possible to create XSLT with XSLT and apply it to data with - 2/6/2012 9:19:00 AM</title>
<description><![CDATA[<pre>No, it's not yet possible to process dynamically generated XSLT from
Saxon-CE, but we're hoping to include this for the next release.

Phil

On Mon, Feb 6, 2012 at 7:08 AM, TW &lt;zupftom@googlemail.com&gt; wrote:
&gt; Subject line says it: &#160;Can I use Saxon-CE to dynamically generate an
&gt; XSL stylesheet that I then apply to some data? &#160;With in-browser XSLT
&gt; 1.0 I'd load the dynamically generated stylesheet with
&gt; xsltProcessor.importStylesheet(). &#160;Is there a comparable mechanism for
&gt; Saxon-CE?
&gt;
&gt; Thomas W.
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324522.html</link>
</item><item>
<title>[xsl] Possible to create XSLT with XSLT and apply it to data with - 2/6/2012 7:09:00 AM</title>
<description><![CDATA[<pre>Subject line says it:  Can I use Saxon-CE to dynamically generate an
XSL stylesheet that I then apply to some data?  With in-browser XSLT
1.0 I'd load the dynamically generated stylesheet with
xsltProcessor.importStylesheet().  Is there a comparable mechanism for
Saxon-CE?

Thomas W.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324521.html</link>
</item><item>
<title>Re: [xsl] better way to say &quot;all attrs except&quot;? - 2/6/2012 3:38:00 AM</title>
<description><![CDATA[<pre>On Sun, Feb 05, 2012 at 10:30:15PM -0500, Syd Bauman scripsit:
&gt; For years I've used expressoins like
&gt;    @*[not(name(.)='xml:id' or name(.)='rend')]
&gt; to ask for all of the attributes *except* xml:id= or rend=. And some
&gt; time ago Jeni recommended essentially the same approach.[1] But I'm
&gt; wondering if that isn't an XPath 1-ish way to do things, and if there
&gt; isn't a nicer way to get the same set when using XSLT 2 (and thus can
&gt; make use of XPath 2).

@* except (@xml:id,@rend)

is how that goes in XSLT 2.

(or @*[name(.) != ('xml:id','rend')] if you're preferential toward the
predicate, but the except is the way to go, since that's an actual node
test and keeps you out of the stringy land of names.)

The only tricky thing I've so far noticed about 'except' is that it
doesn't always affect the implicit context of position() just how you
would expect without the write-stuff-down-and-stare-at-it step.

-- Graydon

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324520.html</link>
</item><item>
<title>[xsl] better way to say &quot;all attrs except&quot;? - 2/6/2012 3:30:00 AM</title>
<description><![CDATA[<pre>For years I've used expressoins like
   @*[not(name(.)='xml:id' or name(.)='rend')]
to ask for all of the attributes *except* xml:id= or rend=. And some
time ago Jeni recommended essentially the same approach.[1] But I'm
wondering if that isn't an XPath 1-ish way to do things, and if there
isn't a nicer way to get the same set when using XSLT 2 (and thus can
make use of XPath 2).

Note
----
[1] http://www.dpawson.co.uk/xsl/sect2/N1553.html#d2256e890

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324519.html</link>
</item><item>
<title>Re: [xsl] collecting a fileset with XSLT 2.0 - 2/5/2012 9:26:00 PM</title>
<description><![CDATA[<pre>Thanks Ken! This does help, I'll check it out. That info is not in 
Michael Kay's XSLT 2.0 book. I'll blame him. Just kiddin.

Mark

On 2/5/2012 12:56 PM, G. Ken Holman wrote:
&gt; At 2012-02-05 12:51 -0800, Mark Giffin wrote:
&gt;&gt; Is there a way to collect a set of files off the file system in XSLT 
&gt;&gt; 2.0, in the same way that Ant lets you define a set of files with 
&gt;&gt; &lt;fileset&gt; like this:
&gt;&gt;
&gt;&gt; &lt;fileset dir=&quot;${src.dir}&quot; id=&quot;all.docs&quot;&gt;
&gt;&gt; &lt;include name=&quot;**/*.xml&quot;/&gt;
&gt;&gt; &lt;exclude name=&quot;**/gui/*.*&quot;/&gt;
&gt;&gt; &lt;exclude name=&quot;tools/**/*.*&quot;/&gt;
&gt;&gt; &lt;exclude name=&quot;content/extra/**/*.*&quot;/&gt;
&gt;&gt; &lt;/fileset&gt;
&gt;&gt;
&gt;&gt; Maybe an extension function or something? I've been using a 
&gt;&gt; manually-maintained list of files like this, but it's a a pain:
&gt;&gt;
&gt;&gt; &lt;docroot&gt;
&gt;&gt; &lt;root href=&quot;../../../doc_source/system100.xml&quot; /&gt;
&gt;&gt; &lt;root href=&quot;../../../doc_source/content/access/accesscore.xml&quot; /&gt;
&gt;&gt; &lt;root href=&quot;../../../doc_source/content/access/accesstest.xml&quot; /&gt;
&gt;&gt; &lt;root 
&gt;&gt; href=&quot;../../../doc_source/content/access/accesstest_commands.xml&quot; /&gt;
&gt;&gt;   etc.
&gt;&gt; &lt;/docroot&gt;
&gt;
&gt; The concept in XSLT2 is the function collection(uri) which returns a 
&gt; set of root nodes of all the XML files addressed by the URI.
&gt;
&gt; There is no standard for the URI string, so you have to read your 
&gt; vendor's documentation regarding how to compose the URI for what you 
&gt; want.  For example, for Saxon, you would address all the XML files in 
&gt; the current and descendent subdirectories with something along the 
&gt; lines of:
&gt;
&gt;     collection(&quot;./?select=&quot;*.xml;recurse=yes;on-error=ignore&quot;)
&gt;
&gt; I hope this helps.
&gt;
&gt; . . . . . . . . . . . Ken


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324517.html</link>
</item><item>
<title>Re: [xsl] collecting a fileset with XSLT 2.0 - 2/5/2012 8:58:00 PM</title>
<description><![CDATA[<pre>At 2012-02-05 12:51 -0800, Mark Giffin wrote:
&gt;Is there a way to collect a set of files off the file system in XSLT 
&gt;2.0, in the same way that Ant lets you define a set of files with 
&gt;&lt;fileset&gt; like this:
&gt;
&gt;&lt;fileset dir=&quot;${src.dir}&quot; id=&quot;all.docs&quot;&gt;
&gt;&lt;include name=&quot;**/*.xml&quot;/&gt;
&gt;&lt;exclude name=&quot;**/gui/*.*&quot;/&gt;
&gt;&lt;exclude name=&quot;tools/**/*.*&quot;/&gt;
&gt;&lt;exclude name=&quot;content/extra/**/*.*&quot;/&gt;
&gt;&lt;/fileset&gt;
&gt;
&gt;Maybe an extension function or something? I've been using a 
&gt;manually-maintained list of files like this, but it's a a pain:
&gt;
&gt;&lt;docroot&gt;
&gt;&lt;root href=&quot;../../../doc_source/system100.xml&quot; /&gt;
&gt;&lt;root href=&quot;../../../doc_source/content/access/accesscore.xml&quot; /&gt;
&gt;&lt;root href=&quot;../../../doc_source/content/access/accesstest.xml&quot; /&gt;
&gt;&lt;root href=&quot;../../../doc_source/content/access/accesstest_commands.xml&quot; /&gt;
&gt;   etc.
&gt;&lt;/docroot&gt;

The concept in XSLT2 is the function collection(uri) which returns a 
set of root nodes of all the XML files addressed by the URI.

There is no standard for the URI string, so you have to read your 
vendor's documentation regarding how to compose the URI for what you 
want.  For example, for Saxon, you would address all the XML files in 
the current and descendent subdirectories with something along the lines of:

     collection(&quot;./?select=&quot;*.xml;recurse=yes;on-error=ignore&quot;)

I hope this helps.

. . . . . . . . . . . Ken


--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
G. Ken Holman                   mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324515.html</link>
</item><item>
<title>[xsl] collecting a fileset with XSLT 2.0 - 2/5/2012 8:52:00 PM</title>
<description><![CDATA[<pre>Is there a way to collect a set of files off the file system in XSLT 
2.0, in the same way that Ant lets you define a set of files with 
&lt;fileset&gt; like this:

&lt;fileset dir=&quot;${src.dir}&quot; id=&quot;all.docs&quot;&gt;
&lt;include name=&quot;**/*.xml&quot;/&gt;
&lt;exclude name=&quot;**/gui/*.*&quot;/&gt;
&lt;exclude name=&quot;tools/**/*.*&quot;/&gt;
&lt;exclude name=&quot;content/extra/**/*.*&quot;/&gt;
&lt;/fileset&gt;

Maybe an extension function or something? I've been using a 
manually-maintained list of files like this, but it's a a pain:

&lt;docroot&gt;
&lt;root href=&quot;../../../doc_source/system100.xml&quot; /&gt;
&lt;root href=&quot;../../../doc_source/content/access/accesscore.xml&quot; /&gt;
&lt;root href=&quot;../../../doc_source/content/access/accesstest.xml&quot; /&gt;
&lt;root href=&quot;../../../doc_source/content/access/accesstest_commands.xml&quot; /&gt;
   etc.
&lt;/docroot&gt;

Thanks,
Mark

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324514.html</link>
</item><item>
<title>Re: [xsl] Webservices and XSLT - 2/3/2012 4:40:00 PM</title>
<description><![CDATA[<pre>&quot;Szabo, Patrick (LNG-VIE)&quot; wrote:

&#160; Hi,

&gt; Thanks a lot for your very detailed answer.&#160;
&gt; I'll take a look at EXPath and the ressources you've provided.

&#160; Because a few people asked in private for the WSDL Compiler,
I've updated it, and it's available in the Subversion repository
of the open source implementation of the EXPath HTTP Client for
Java, in trunk/samples/wsdl-compiler/ [1].

&#160; The idea is to transform the WSDL using wsdl-compiler.xsl. &#160;The
result of this is a stylesheet defining a function for each Web
service's operation. &#160;You can then import this XSLT library in
your own stylesheet and use the generated functions, passing them
directly the SOAP payload (the content of soap-env:Body).

&#160; There are 2 examples (for each there is a WSDL and a test
stylesheet, you have to generate the compiled library and name it
after the import statement in the test stylesheet). &#160;These
example are in the same directory.

&#160; If you have any question, the EXPath mailing list is probably a
better place than here...

&#160; Please keep in mind that it's more a proof-of-concept than an
industry quality standards-compliant stylesheet...

&#160; Regards,

--&#160;
Florent Georges
http://fgeorges.org/
http://h2oconsulting.be/

[1]http://code.google.com/p/expath-http-client/source/browse/#svn%2Ftrunk%2Fsamples%2Fwsdl-compiler

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324451.html</link>
</item><item>
<title>AW: [xsl] Webservices and XSLT - 2/3/2012 9:28:00 AM</title>
<description><![CDATA[<pre>Hi, 

Thanks a lot for your very detailed answer. 
I'll take a look at EXPath and the ressources you've provided. 

Best regards


. . . . . . . . . . . . . . . . . . . . . . . . . .
Ing. Patrick Szabo
 XSLT Developer 
LexisNexis
A-1030 Wien, Marxergasse 25

mailto:patrick.szabo@lexisnexis.at
Tel.: +43 1 53452 1573 
Fax: +43 1 534 52 146 


-----Urspr&#195;&#188;ngliche Nachricht-----

Von: Florent Georges [mailto:lists@fgeorges.org] 
Gesendet: Freitag, 03. Februar 2012 09:58
An: xsl-list@lists.mulberrytech.com
Betreff: Re: [xsl] Webservices and XSLT

&quot;Szabo, Patrick (LNG-VIE)&quot; wrote:

  Hi,

&gt; I was looking online and found several possibilities to work
&gt; with soap and xslt but I can't wrap my head around how this
&gt; really works.

  Well, as with any other client (if we restrict the discussion
to synchronous SOAP-over-HTTP Web services), technically you
have to send POST requests (with the XML message as the payload)
and you get the operation's XML response as the payload of the
HTTP response.

  XSLT is very well suited to construct the XML request and
consume the XML response, but you'll need an extension to send
HTTP POST requests.  The EXPath HTTP Client is implemented for
several processor, check your processor to see if it does support
it.  More infos in the following pages (including an example of
consuming a SOAP Web service):

    http://expath.org/modules/http-client/
    http://expath.org/modules/http-client/samples#soap
    http://expath.org/spec/http-client

&gt; In no example online I see where the URL to the wsdl is
&gt; configured.

  If you expect more automated support in XSLT from a WSDL,
that's another story.  I wrote once a WSDL compiler, that
&quot;compiled&quot; a WSDL to a stylesheet defining a function for each
Web service operation, hiding all the communication technical
details for the user.  So the user can just call a function by
passing directly the payload, and getting back the response.

  With the WSDL in the above example, the generated function
could be called like:

    &lt;xsl:stylesheet xmlns:tns=&quot;http://www.webservicex.net&quot; ...&gt;

       &lt;!-- import the library generated from the WSDL --&gt;
       &lt;xsl:import href=&quot;compiled-web-service.xsl&quot;/&gt;

       &lt;!-- the service operation request --&gt;
       &lt;xsl:variable name=&quot;request&quot;&gt;
          &lt;wsx:GetWeatherByPlaceName&gt;
             &lt;wsx:PlaceName&gt;NEW YORK&lt;/wsx:PlaceName&gt;
          &lt;/wsx:GetWeatherByPlaceName&gt;
       &lt;/xsl:variable&gt;

       &lt;!-- invoke the service operation --&gt;
       &lt;xsl:template name=&quot;main&quot;&gt;
          &lt;xsl:sequence select=&quot;
              tns:GetWeatherByPlaceName($request)&quot;/&gt;
       &lt;/xsl:template&gt;


    &lt;/xsl:stylesheet&gt;

  Unfortunately the WSDL compiler was never released, but I can
send you a copy if you want...  Of course, it relies on the
EXPath HTTP Client in order to send HTTP requests under the hood.

  Regards,

-- 
Florent Georges
http://fgeorges.org/
http://h2oconsulting.be/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324434.html</link>
</item><item>
<title>Re: [xsl] Webservices and XSLT - 2/3/2012 8:58:00 AM</title>
<description><![CDATA[<pre>&quot;Szabo, Patrick (LNG-VIE)&quot; wrote:

&#160; Hi,

&gt; I was looking online and found several possibilities to work
&gt; with soap and xslt but I can't wrap my head around how this
&gt; really works.

&#160; Well, as with any other client (if we restrict the discussion
to&#160;synchronous&#160;SOAP-over-HTTP Web services), technically you
have to send POST requests (with the XML message as the payload)
and you get the operation's XML response as the payload of the
HTTP response.

&#160; XSLT is very well suited to construct the XML request and
consume the XML response, but you'll need an extension to send
HTTP POST requests. &#160;The EXPath HTTP Client is implemented for
several processor, check your processor to see if it does support
it. &#160;More infos in the following pages (including an example of
consuming a SOAP Web service):

&#160; &#160; http://expath.org/modules/http-client/
&#160; &#160; http://expath.org/modules/http-client/samples#soap
&#160; &#160; http://expath.org/spec/http-client

&gt; In no example online I see where the URL to the wsdl is
&gt; configured.

&#160; If you expect more automated support in XSLT from a WSDL,
that's another story. &#160;I wrote once a WSDL compiler, that
&quot;compiled&quot; a WSDL to a stylesheet defining a function for each
Web service operation, hiding all the communication technical
details for the user. &#160;So the user can just call a function by
passing directly the payload, and getting back the response.

&#160; With the WSDL in the above example, the generated function
could be called like:

&#160; &#160; &lt;xsl:stylesheet xmlns:tns=&quot;http://www.webservicex.net&quot; ...&gt;

&#160; &#160; &#160; &#160;&lt;!-- import the library generated from the WSDL --&gt;
&#160; &#160; &#160; &#160;&lt;xsl:import href=&quot;compiled-web-service.xsl&quot;/&gt;

&#160; &#160; &#160; &#160;&lt;!-- the service operation request --&gt;
&#160; &#160; &#160; &#160;&lt;xsl:variable name=&quot;request&quot;&gt;
&#160; &#160; &#160; &#160; &#160; &lt;wsx:GetWeatherByPlaceName&gt;
&#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;wsx:PlaceName&gt;NEW YORK&lt;/wsx:PlaceName&gt;
&#160; &#160; &#160; &#160; &#160; &lt;/wsx:GetWeatherByPlaceName&gt;
&#160; &#160; &#160; &#160;&lt;/xsl:variable&gt;

&#160; &#160; &#160; &#160;&lt;!-- invoke the service operation --&gt;
&#160; &#160; &#160; &#160;&lt;xsl:template name=&quot;main&quot;&gt;
&#160; &#160; &#160; &#160; &#160; &lt;xsl:sequence select=&quot;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; tns:GetWeatherByPlaceName($request)&quot;/&gt;
&#160; &#160; &#160; &#160;&lt;/xsl:template&gt;


&#160; &#160; &lt;/xsl:stylesheet&gt;

&#160; Unfortunately the WSDL compiler was never released, but I can
send you a copy if you want... &#160;Of course, it relies on the
EXPath HTTP Client in order to send HTTP requests under the hood.

&#160; Regards,

--&#160;
Florent Georges
http://fgeorges.org/
http://h2oconsulting.be/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324432.html</link>
</item><item>
<title>[xsl] Webservices and XSLT - 2/3/2012 7:24:00 AM</title>
<description><![CDATA[<pre>Hi, 

I'm using xslt 1.0 and i want to acces a Webservice located here:
http://newton.level7.ro/newton/NewtonService/NewtonWebservice?wsdl (You
might not have acces to it.)
I was looking online and found several possibilities to work with soap
and xslt but I can't wrap my head around how this really works. 
In no example online I see where the URL to the wsdl is configured. 

What is the easiest, best way to use a function from a Webservice in
xslt 1.0 ?

Thanks in advance!


. . . . . . . . . . . . . . . . . . . . . . . . . .
Ing. Patrick Szabo
 XSLT Developer 
LexisNexis
A-1030 Wien, Marxergasse 25

mailto:patrick.szabo@lexisnexis.at
Tel.: +43 1 53452 1573 
Fax: +43 1 534 52 146 






--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324431.html</link>
</item><item>
<title>Re: [xsl] Apply transform to document collection and summarize - 2/2/2012 5:33:00 PM</title>
<description><![CDATA[<pre>Thanks Ken,
I'll have a look at your course materials, I'm definitely a hands on
learner and working through examples aids immensely

Cheers

On Thu, Feb 2, 2012 at 11:22 AM, G. Ken Holman
&lt;gkholman@cranesoftwrights.com&gt; wrote:
&gt; At 2012-02-02 09:29 -0500, Sean Tiley wrote:
&gt;&gt;
&gt;&gt; Had some troubles with namespaces which still confuses me greatly but
&gt;&gt; its working..
&gt;
&gt;
&gt; Well done. &#160;Your use of namespaces in your stylesheet is correct.
&gt;
&gt;
&gt;&gt; I had thought that the matching expression &#160;should be something like
&gt;&gt; &lt;xsl:template match=&quot;/agr:SiebelMessage/agr:Message&quot;), then the
&gt;&gt; collection select would just have been &lt;xsl:for-each
&gt;&gt; select=&quot;collection('file:///c:/tmp/?select=*.xml'/agr:Account&quot;&gt;
&gt;&gt;
&gt;&gt; No matter what I did I could not get that working, thought I'm sure
&gt;&gt; it's posible.
&gt;
&gt;
&gt; Not sure what you are trying to do there ... I think you are conflating
&gt; different concepts. &#160;The collection() function returns a set of root nodes,
&gt; so you are obliged to find your Account element with a full path from the
&gt; root node of each document. &#160;There are no shortcuts available by any concept
&gt; of matching part of the XPath address before calling the collection()
&gt; function.
&gt;
&gt;
&gt;&gt; Seems I need to read up on namespaces and xslt as there is much I do
&gt;&gt; not understand
&gt;
&gt;
&gt; You can read what I have to say about namespaces in my PDF book (pp.29-33)
&gt; that I sell off my web site (the entire book can be downloaded for free
&gt; preview; I ask that people pay for the book if they decide after previewing
&gt; it that they want to keep it; I wish more people would be honest about
&gt; that).
&gt;
&gt; You can hear what I have to say about namespaces at the 54m10s mark of
&gt; Module 1 Lesson 1 (Lecture 2) of my XSLT/XPath training video (you do not
&gt; need to create an account in order to view the free content) ... simply open
&gt; that lecture and drag the slider to the time:
&gt;
&gt; &#160;http://www.CraneSoftwrights.com/links/udemy-ptux-online.htm
&gt;
&gt; Five hours of my 24-hour long lecture are made freely available. &#160;The
&gt; lecture was recorded over 5 days in August 2008. &#160;The course includes
&gt; hands-on exercises and I review all of the answers. &#160;The video is also
&gt; available to purchase as a DVD-ROM for sharing (not copying) amongst your
&gt; colleagues. &#160;Just yesterday I reduced the cost of watching the remaining 19
&gt; hours of the online video and having access to the exercises. &#160;This is the
&gt; 2008 version of the material I still teach when I travel the world
&gt; delivering my XSLT, XQuery and XSL-FO classes. &#160;Last week I delivered my
&gt; combination XSLT/XQuery class in London England, next month I'm delivering
&gt; the same combination class in the eastern US.
&gt;
&gt; I hope this helps.
&gt;
&gt; . . . . . . . . . . . Ken
&gt;
&gt;
&gt;
&gt; --
&gt; Contact us for world-wide XML consulting and instructor-led training
&gt; Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
&gt; Crane Softwrights Ltd. &#160; &#160; &#160; &#160; &#160; &#160;http://www.CraneSoftwrights.com/s/
&gt; G. Ken Holman &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; mailto:gkholman@CraneSoftwrights.com
&gt; Google+ profile: https://plus.google.com/116832879756988317389/about
&gt; Legal business disclaimers: &#160; &#160;http://www.CraneSoftwrights.com/legal
&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Sean Tiley
sean.tiley@gmail.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324424.html</link>
</item><item>
<title>Re: [xsl] Need debug help xslt+svg - 2/2/2012 5:29:00 PM</title>
<description><![CDATA[<pre>Hermann,

This looks challenging enough that I dare say even the interested may 
not have the time to dig in.

What I'm wondering is, why not XSLT 2.0? This could make a very nice 
demonstration of XSLT 2.0 in the client using Saxon CE.

And the code would probably be about one quarter the length, since you'd 
have actual sequences to work with, could write functions, etc.

Cheers,
Wendell

On 2/1/2012 10:54 AM, Hermann Stamm-Wilbrandt wrote:
&gt;&gt; I am not sure I understand the problem but you seem to do something like
&gt;&gt;     &lt;xsl:if test=&quot;document($nxt)&quot;&gt;
&gt;&gt; in there and with MSXML I think you get a fatal transformation error if
&gt;&gt; the document you are trying to load (i.e. snake.07.xml) does not exist.
&gt;&gt;
&gt; Thank for that explanation.
&gt; Please have a look at the real problem I described in my previous email.
&gt; The first time the index of the cube to rotate decreases (idx=&quot;7&quot; for
&gt; snake and idx=&quot;3&quot; for small.xml) the corresponding cube gets drawn at its
&gt; original position and not at the correctly transformed position.
&gt; You can see that best when starting with snake.00.xml, and then clicking
&gt; next two times (with Non-IE browser because of your explanation).
&gt; The first rotation is fine, and the problem in the 2nd is easy to see.
&gt;
&gt; $ tail -20 snake.xml
&gt;    &lt;cube x=&quot;12&quot; y=&quot;0&quot; z=&quot;11&quot; c=&quot;&amp;b;&quot;/&gt;
&gt;    &lt;cube x=&quot;13&quot; y=&quot;0&quot; z=&quot;11&quot; c=&quot;&amp;d;&quot;/&gt;
&gt;    &lt;cube x=&quot;13&quot; y=&quot;0&quot; z=&quot;12&quot; c=&quot;&amp;b;&quot;/&gt;
&gt;    &lt;cube x=&quot;13&quot; y=&quot;0&quot; z=&quot;13&quot; c=&quot;&amp;d;&quot;/&gt;
&gt; &lt;!--
&gt;    &lt;rot r=&quot;z&quot; x0=&quot;1&quot; y0=&quot;0&quot; idx=&quot;4&quot;/&gt;
&gt;    &lt;rot r=&quot;y&quot; x0=&quot;1&quot; z0=&quot;2&quot; idx=&quot;3&quot;/&gt;
&gt; --&gt;
&gt;
&gt;    &lt;rot r=&quot;x&quot; y0=&quot;0&quot; z0=&quot;2&quot; idx=&quot;3&quot;/&gt;
&gt;    &lt;rot r=&quot;z&quot; x0=&quot;1&quot; y0=&quot;0&quot; idx=&quot;4&quot;/&gt;
&gt;    &lt;rot r=&quot;Y&quot; x0=&quot;1&quot; z0=&quot;2&quot; idx=&quot;4&quot;/&gt;
&gt;    &lt;rot r=&quot;x&quot; y0=&quot;0&quot; z0=&quot;3&quot; idx=&quot;5&quot;/&gt;
&gt;    &lt;rot r=&quot;X&quot; y0=&quot;0&quot; z0=&quot;4&quot; idx=&quot;8&quot;/&gt;
&gt;    &lt;rot r=&quot;y&quot; x0=&quot;3&quot; z0=&quot;4&quot; idx=&quot;7&quot;/&gt;
&gt;
&gt;    &lt;rot r=&quot;Z&quot; x0=&quot;5&quot; y0=&quot;0&quot; idx=&quot;10&quot;/&gt;
&gt;    &lt;rot r=&quot;Z&quot; x0=&quot;5&quot; y0=&quot;0&quot; idx=&quot;10&quot;/&gt;
&gt;
&gt; &lt;/snake&gt;
&gt; $
&gt;
&gt; Mit besten Gruessen / Best wishes,
&gt;
&gt; Hermann Stamm-Wilbrandt
&gt; Level 3 support for XML Compiler team, Fixpack team lead
&gt; WebSphere DataPower SOA Appliances
&gt; https://www.ibm.com/developerworks/mydeveloperworks/blogs/HermannSW/
&gt; ----------------------------------------------------------------------
&gt; IBM Deutschland Research&amp;  Development GmbH
&gt; Vorsitzende des Aufsichtsrats: Martina Koederitz
&gt; Geschaeftsfuehrung: Dirk Wittkopp
&gt; Sitz der Gesellschaft: Boeblingen
&gt; Registergericht: Amtsgericht Stuttgart, HRB 243294
&gt;
&gt;
&gt;
&gt;    From:       Martin Honnen&lt;Martin.Honnen@gmx.de&gt;
&gt;
&gt;    To:         xsl-list@lists.mulberrytech.com,
&gt;
&gt;    Date:       02/01/2012 02:01 PM
&gt;
&gt;    Subject:    Re: [xsl] Need debug help xslt+svg
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
&gt; Hermann Stamm-Wilbrandt wrote:
&gt;
&gt;&gt; The problem I need debug help is step 6 of the animation:
&gt;&gt; http://stamm-wilbrandt.de/en/xsl-list/cube/snake.00.xml
&gt;&gt;
&gt;&gt; Clicking on the link gives you the start. The clicking next 5 times
&gt;&gt; gives fine results. When clicking the 6th time you can see the
&gt;&gt; problem, one of the cubes is not rotated correctly.
&gt;
&gt; I am not sure I understand the problem but you seem to do something like
&gt;     &lt;xsl:if test=&quot;document($nxt)&quot;&gt;
&gt; in there and with MSXML I think you get a fatal transformation error if
&gt; the document you are trying to load (i.e. snake.07.xml) does not exist.
&gt;
&gt;
&gt;
&gt; --
&gt;
&gt; 		 Martin Honnen --- MVP Data Platform Development
&gt; 		 http://msmvps.com/blogs/martin_honnen/
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;
&gt;
&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324423.html</link>
</item><item>
<title>Re: [xsl] Apply transform to document collection and summarize - 2/2/2012 4:23:00 PM</title>
<description><![CDATA[<pre>At 2012-02-02 09:29 -0500, Sean Tiley wrote:
&gt;Had some troubles with namespaces which still confuses me greatly but
&gt;its working..

Well done.  Your use of namespaces in your stylesheet is correct.

&gt;I had thought that the matching expression  should be something like
&gt;&lt;xsl:template match=&quot;/agr:SiebelMessage/agr:Message&quot;), then the
&gt;collection select would just have been &lt;xsl:for-each
&gt;select=&quot;collection('file:///c:/tmp/?select=*.xml'/agr:Account&quot;&gt;
&gt;
&gt;No matter what I did I could not get that working, thought I'm sure
&gt;it's posible.

Not sure what you are trying to do there ... I think you are 
conflating different concepts.  The collection() function returns a 
set of root nodes, so you are obliged to find your Account element 
with a full path from the root node of each document.  There are no 
shortcuts available by any concept of matching part of the XPath 
address before calling the collection() function.

&gt;Seems I need to read up on namespaces and xslt as there is much I do
&gt;not understand

You can read what I have to say about namespaces in my PDF book 
(pp.29-33) that I sell off my web site (the entire book can be 
downloaded for free preview; I ask that people pay for the book if 
they decide after previewing it that they want to keep it; I wish 
more people would be honest about that).

You can hear what I have to say about namespaces at the 54m10s mark 
of Module 1 Lesson 1 (Lecture 2) of my XSLT/XPath training video (you 
do not need to create an account in order to view the free content) 
... simply open that lecture and drag the slider to the time:

   http://www.CraneSoftwrights.com/links/udemy-ptux-online.htm

Five hours of my 24-hour long lecture are made freely available.  The 
lecture was recorded over 5 days in August 2008.  The course includes 
hands-on exercises and I review all of the answers.  The video is 
also available to purchase as a DVD-ROM for sharing (not copying) 
amongst your colleagues.  Just yesterday I reduced the cost of 
watching the remaining 19 hours of the online video and having access 
to the exercises.  This is the 2008 version of the material I still 
teach when I travel the world delivering my XSLT, XQuery and XSL-FO 
classes.  Last week I delivered my combination XSLT/XQuery class in 
London England, next month I'm delivering the same combination class 
in the eastern US.

I hope this helps.

. . . . . . . . . . . Ken


--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
G. Ken Holman                   mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324422.html</link>
</item><item>
<title>Re: [xsl] XHTML DTD aware transformation and indentation behaviour - 2/2/2012 4:04:00 PM</title>
<description><![CDATA[<pre>Thank you Michael and David,

Setting xsl:output method to xml prevent the &lt;meta&gt; to be output.
I keep xhtml ouput for compatibility reason, and this &lt;meta&gt; is actually 
welcomed !
I was just wondering ...

Thanks a lot one more time,

Hope to see you both at XML Prague :-)

Cheers,
Matthieu.

Le 02/02/2012 15:13, David Carlisle a &#195;&#169;crit :
&gt; On 02/02/2012 13:49, Matthieu Ricaud-Dussarget wrote:
&gt;
&gt;&gt; Just one more question about the output :
&gt;&gt; A &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&gt;&gt; element is added to the &lt;head&gt; element, this is the only residual
&gt;&gt; unindented element in the file. I'm not sure why saxon add this ? It
&gt;&gt; doesn't seems to depend on the xsl:output settings : even when
&gt;&gt; xsl:output is absent I get the &lt;meta&gt; added, with no attribute
&gt;&gt; @encoding=&quot;UTF-8&quot; on the xsl:output I also get the meta....
&gt;&gt;
&gt;
&gt; your output is defaulting to xhtml method which does this unless you say
&gt; include-content-type=&quot;no&quot; on xsl:output&quot;
&gt;
&gt; or specify the  xml output method on xsl:output
&gt;
&gt; David
&gt;
&gt; ________________________________________________________________________
&gt; The Numerical Algorithms Group Ltd is a company registered in England
&gt; and Wales with company number 1249803. The registered office is:
&gt; Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
&gt;
&gt; This e-mail has been scanned for all viruses by Star. The service is
&gt; powered by MessageLabs. 
&gt; ________________________________________________________________________
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;


-- 
Matthieu Ricaud
05 45 37 08 90
NeoLibris


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324421.html</link>
</item><item>
<title>Re: [xsl] Apply transform to document collection and summarize - 2/2/2012 2:30:00 PM</title>
<description><![CDATA[<pre>Ok, got it working.
Had some troubles with namespaces which still confuses me greatly but
its working.. let me explain.

The source XML files have the followng structure

&lt;SiebelMessage xmlns=&quot;http://www.siebel.com/xml/CPC%20FBE%20Outbound%20Internal%20IO&quot;&gt;
    &lt;Message&gt;
        &lt;Account Version=&quot;1.0.4&quot;&gt;
	   &lt;Value1/&gt;
	   &lt;Value2/&gt;		
	   ...
        &lt;/Account&gt;
    &lt;/Message&gt;
&lt;/SiebelMessage&gt;

The stylesheet is as follows

&lt;xsl:stylesheet version=&quot;2.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;
    xmlns:agr=&quot;http://www.siebel.com/xml/CPC%20FBE%20Outbound%20Internal%20IO&quot;&gt;

    &lt;xsl:template match=&quot;/&quot;&gt;
        &lt;html&gt;
            &lt;body&gt;
                &lt;h2&gt;In file analysis&lt;/h2&gt;
                &lt;table border=&quot;1&quot;&gt;
                    &lt;tr&gt;
                        &lt;th&gt;Value1&lt;/th&gt;
                        &lt;th&gt;Value2&lt;/th&gt;
                    &lt;/tr&gt;
                    &lt;xsl:for-each

select=&quot;collection('file:///c:/tmp/?select=*.xml')/agr:SiebelMessage/agr:Message/agr:Account&quot;&gt;
                        &lt;tr&gt;
                            &lt;td&gt;
                                &lt;xsl:value-of select=&quot;agr:Value1&quot;/&gt;
                            &lt;/td&gt;
                            &lt;td&gt;
                                &lt;xsl:value-of select=&quot;agr:Value2&quot;/&gt;
                            &lt;/td&gt;
                        &lt;/tr&gt;
                    &lt;/xsl:for-each&gt;
                &lt;/table&gt;
            &lt;/body&gt;
        &lt;/html&gt;
    &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;



I had thought that the matching expression  should be something like
&lt;xsl:template match=&quot;/agr:SiebelMessage/agr:Message&quot;), then the
collection select would just have been &lt;xsl:for-each
select=&quot;collection('file:///c:/tmp/?select=*.xml'/agr:Account&quot;&gt;

No matter what I did I could not get that working, thought I'm sure
it's posible.

Seems I need to read up on namespaces and xslt as there is much I do
not understand

Thanks very much for all the help.
Much appreciated

Sean

On Mon, Jan 30, 2012 at 8:15 AM, Sean Tiley &lt;sean.tiley@gmail.com&gt; wrote:
&gt; Thank you Ken, very clear.
&gt;
&gt; I'll give it a whirl and get back, likely tomorrow.
&gt;
&gt; Sean Tiley
&gt;
&gt; On Sun, Jan 29, 2012 at 4:37 PM, G. Ken Holman
&gt; &lt;gkholman@cranesoftwrights.com&gt; wrote:
&gt;&gt; At 2012-01-29 16:28 -0500, Sean Tiley wrote:
&gt;&gt;&gt;
&gt;&gt;&gt; Hello,
&gt;&gt;&gt; I currently have a template that successfully processes a single xml file.
&gt;&gt;&gt;
&gt;&gt;&gt; XSLT version 2
&gt;&gt;&gt; Using Saxon-SA 9.1.0.7,
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; I would like to iterate through a folder of XML source documents and
&gt;&gt;&gt; create a single output file
&gt;&gt;
&gt;&gt;
&gt;&gt; The XSLT 2 concept you are looking for is &quot;collections&quot;. &#160;There are no
&gt;&gt; standardized URI strings to represent a collection, but Saxon's URI
&gt;&gt; convention is straightforward.
&gt;&gt;
&gt;&gt; You don't show us your data format, but your example could be modified along
&gt;&gt; the lines of:
&gt;&gt;
&gt;&gt;
&gt;&gt;&gt; My template that successfully processes my source file is
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&gt;&gt;&gt; &lt;xsl:stylesheet version=&quot;2.0&quot;
&gt;&gt;&gt; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;xsl:template match=&quot;Account&quot;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; You now want to do the logic at the start of processing, so match=&quot;/&quot;.
&gt;&gt;
&gt;&gt;
&gt;&gt;&gt; &lt;html&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &lt;body&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;h2&gt;LogEntries&lt;/h2&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160;&lt;table border=&quot;1&quot;&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160;&lt;tr bgcolor=&quot;#9acd32&quot;&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;th&gt;Column1&lt;/th&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;th&gt;Column2&lt;/th&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160;&lt;/tr&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; At this point you now want to walk all XML files and, I assume, process the
&gt;&gt; document element named &quot;Account&quot; in each one as a row:
&gt;&gt;
&gt;&gt; &#160;&lt;xsl:for-each select=&quot;collection('./?select=*.xml')/Account&quot;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160;&lt;tr&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;td&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:value-of select=&quot;Firstname&quot;/&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;/td&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;td&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:value-of select=&quot;Lastname&quot;/&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;/td&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160;&lt;/tr&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; &#160;&lt;/xsl:for-each&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &#160; &#160;&lt;/table&gt;
&gt;&gt;&gt; &#160; &#160; &#160; &lt;/body&gt;
&gt;&gt;&gt; &lt;/html&gt;
&gt;&gt;&gt; &lt;/xsl:template&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; &lt;/xsl:stylesheet&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; The output I want is basically a single html file
&gt;&gt;&gt; that includes a table with 2 columns
&gt;&gt;&gt;
&gt;&gt;&gt; Column1 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Column2
&gt;&gt;&gt; Firstname1 &#160; &#160; &#160;Lastname1 &#160; &#160; &#160;(info from file1)
&gt;&gt;&gt; Firstname2 &#160; &#160; &#160;Lastname2 &#160; &#160; &#160;(info from file2)
&gt;&gt;&gt; Firstname3 &#160; &#160; &#160;Lastname3 &#160; &#160; &#160;(info from file3)
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; etc...
&gt;&gt;&gt;
&gt;&gt;&gt; Not clear this is possible.
&gt;&gt;
&gt;&gt;
&gt;&gt; It certainly is.
&gt;&gt;
&gt;&gt;
&gt;&gt;&gt; I could code it in Java / C# to iterate
&gt;&gt;&gt; the docs but kinda feels like it should be possible with just XSLT
&gt;&gt;&gt; Any insight or reading would be appreciated.
&gt;&gt;
&gt;&gt;
&gt;&gt; I hope the above helps. &#160;Check the Saxon documentation for all of the
&gt;&gt; features of the URI for collections.
&gt;&gt;
&gt;&gt; . . . . . . . . . . Ken
&gt;&gt;
&gt;&gt; --
&gt;&gt; Contact us for world-wide XML consulting and instructor-led training
&gt;&gt; Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
&gt;&gt; Crane Softwrights Ltd. &#160; &#160; &#160; &#160; &#160; &#160;http://www.CraneSoftwrights.com/s/
&gt;&gt; G. Ken Holman &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; mailto:gkholman@CraneSoftwrights.com
&gt;&gt; Google+ profile: https://plus.google.com/116832879756988317389/about
&gt;&gt; Legal business disclaimers: &#160; &#160;http://www.CraneSoftwrights.com/legal
&gt;&gt;
&gt;&gt;
&gt;&gt; --~------------------------------------------------------------------
&gt;&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt; --~--
&gt;&gt;
&gt;
&gt;
&gt;
&gt; --
&gt; Sean Tiley
&gt; sean.tiley@gmail.com



-- 
Sean Tiley
sean.tiley@gmail.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324417.html</link>
</item><item>
<title>Re: [xsl] XHTML DTD aware transformation and indentation behaviour - 2/2/2012 2:14:00 PM</title>
<description><![CDATA[<pre>On 02/02/2012 13:49, Matthieu Ricaud-Dussarget wrote:

&gt; Just one more question about the output :
&gt; A &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&gt; element is added to the &lt;head&gt; element, this is the only residual
&gt; unindented element in the file. I'm not sure why saxon add this ? It
&gt; doesn't seems to depend on the xsl:output settings : even when
&gt; xsl:output is absent I get the &lt;meta&gt; added, with no attribute
&gt; @encoding=&quot;UTF-8&quot; on the xsl:output I also get the meta....
&gt;

your output is defaulting to xhtml method which does this unless you say
include-content-type=&quot;no&quot; on xsl:output&quot;

or specify the  xml output method on xsl:output

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324416.html</link>
</item><item>
<title>Re: [xsl] XHTML DTD aware transformation and indentation behaviour - 2/2/2012 2:11:00 PM</title>
<description><![CDATA[<pre>&gt;
&gt; Just one more question about the output :
&gt; A &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; 
&gt; /&gt; element is added to the &lt;head&gt; element, this is the only residual 
&gt; unindented element in the file. I'm not sure why saxon add this ? It 
&gt; doesn't seems to depend on the xsl:output settings : even when 
&gt; xsl:output is absent I get the &lt;meta&gt; added, with no attribute  
&gt; @encoding=&quot;UTF-8&quot; on the xsl:output I also get the meta....
&gt;
&gt;
This line is added by the XHTML output method, which is designed on the 
assumption that the input isn't XHTML.

It can be suppressed using &lt;xsl:output include-content-type=&quot;no&quot;/&gt;.

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324415.html</link>
</item><item>
<title>Re: [xsl] XHTML DTD aware transformation and indentation behaviour - 2/2/2012 1:50:00 PM</title>
<description><![CDATA[<pre>Hi Michael, thanks for your reply.

My apologies for the mail, I actually did not thought about different 
mail ready system. But fortunately your guessing skills helps :-) !
I had -strip:none to the command line and it does the trick : I get 
exactly the same indentation result as when commenting the DOCTYPE on 
the source file !

I'm using Saxon-HE 9.2.1.1J

I've just tried with the brand new &quot;Saxon-HE 9.4.0.1J&quot;, and it is the 
same behaviour.
I guess -strip:none is not the default option.

Thanks a lot anyway, this is what I was looking for :-) !!

Just one more question about the output :
A &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt; 
element is added to the &lt;head&gt; element, this is the only residual 
unindented element in the file. I'm not sure why saxon add this ? It 
doesn't seems to depend on the xsl:output settings : even when 
xsl:output is absent I get the &lt;meta&gt; added, with no attribute  
@encoding=&quot;UTF-8&quot; on the xsl:output I also get the meta....


Regards,

Matthieu




Le 02/02/2012 12:09, Michael Kay a &#195;&#169;crit :
&gt; On 02/02/2012 10:48, Matthieu Ricaud-Dussarget wrote:
&gt;&gt; Hi all,
&gt;&gt;
&gt;&gt; In my project I concatenate multiple xhtml files in one xml files. 
&gt;&gt; This aggregate file has to be edited by hand, that means indentation 
&gt;&gt; is important here for convenience.
&gt;&gt;
&gt;&gt; Before I discovered XML Catalog, I used to delete all DOCTYPE 
&gt;&gt; declarations within source XHTML file with a perl script (which also 
&gt;&gt; remplace named entities with UTF-8 ones). This worked fine : the 
&gt;&gt; concatenated files were indented exactly like the XHTML sources.
&gt;&gt;
&gt;&gt; But this was a bit dangerous in case I didn't match a special entity 
&gt;&gt; to replace with perl. And this was not a really good XML practice.
&gt;&gt;
&gt;&gt; Now that I'm using a local XML Catalog and run my tranformation with 
&gt;&gt; Saxon in command line with this options :
&gt;&gt; -r:org.apache.xml.resolver.tools.CatalogResolver 
&gt;&gt; -x:org.apache.xml.resolver.tools.ResolvingXMLReader 
&gt;&gt; -y:org.apache.xml.resolver.tools.ResolvingXMLReader
&gt;&gt;
&gt; I can't see exactly what's happening here because your mail client and 
&gt; mine have conspired to ignore the whitespace which was critical to 
&gt; understanding your message.
&gt;
&gt; Generally, if you validate against a DTD, then whitespace in elements 
&gt; whose content model is defined as element-only (for example head and 
&gt; body) will be treated as ignorable, which means it's liable to be lost 
&gt; in a copy operation. Perhaps this is what is happening.
&gt;
&gt; Try the option -strip:none on the command line to prevent this 
&gt; behaviour. The documentation says this is the default, but I'm not 
&gt; convinced it is correct: I seem to remember it changing some time ago 
&gt; in response to a W3C change.
&gt;
&gt; Michael Kay
&gt; Saxonica
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;


-- 
Matthieu Ricaud
05 45 37 08 90
NeoLibris


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324411.html</link>
</item><item>
<title>Re: [xsl] XHTML DTD aware transformation and indentation behaviour - 2/2/2012 1:04:00 PM</title>
<description><![CDATA[<pre>Hi Ganesh,

Thanks for you reply. I already set up a local XML catalog wich contains 
xhtml11.dtd, if not i could even not tranform the input.
I'm affraid to set indent to yes on the xsl:output in an production 
environnement cause I don't want extra blanks to be added between word 
anywhere.

I tested it anyway and I don't get the desired output :
- many blank lines are generated (inside div element for example)
- only a part of the &lt;head&gt; element is  indented as desired, I still get :
&lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;&lt;script 
type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;&lt;/head&gt;
on the same line.

As Michael said, I think it has to do with the DTD model itself.
I continue investigate.

Thanks,

Matthieu

Le 02/02/2012 12:06, Ganesh Babu N a &#195;&#169;crit :
&gt; Dear Matthieu,
&gt;
&gt; You can achieve this by downloading all the modules of xhtml11.dtd and
&gt; place them in local and using catalogs and changing the indent to
&gt; &quot;yes&quot; which align your XHTML output in a tree structure. There is not
&gt; need to comment the DOCTYPE in the source file.
&gt;
&gt; Regards,
&gt; Ganesh
&gt;
&gt;
&gt; On Thu, Feb 2, 2012 at 4:18 PM, Matthieu Ricaud-Dussarget
&gt; &lt;matthieu.ricaud@igs-cp.fr&gt;  wrote:
&gt;&gt; Hi all,
&gt;&gt;
&gt;&gt; In my project I concatenate multiple xhtml files in one xml files. This
&gt;&gt; aggregate file has to be edited by hand, that means indentation is important
&gt;&gt; here for convenience.
&gt;&gt;
&gt;&gt; Before I discovered XML Catalog, I used to delete all DOCTYPE declarations
&gt;&gt; within source XHTML file with a perl script (which also remplace named
&gt;&gt; entities with UTF-8 ones). This worked fine : the concatenated files were
&gt;&gt; indented exactly like the XHTML sources.
&gt;&gt;
&gt;&gt; But this was a bit dangerous in case I didn't match a special entity to
&gt;&gt; replace with perl. And this was not a really good XML practice.
&gt;&gt;
&gt;&gt; Now that I'm using a local XML Catalog and run my tranformation with Saxon
&gt;&gt; in command line with this options :
&gt;&gt; -r:org.apache.xml.resolver.tools.CatalogResolver
&gt;&gt; -x:org.apache.xml.resolver.tools.ResolvingXMLReader
&gt;&gt; -y:org.apache.xml.resolver.tools.ResolvingXMLReader
&gt;&gt;
&gt;&gt; Lets go in the probleme, my XSL is a simple identity template :
&gt;&gt;
&gt;&gt; &lt;xsl:output method=&quot;xhtml&quot; indent=&quot;no&quot; encoding=&quot;UTF-8&quot;
&gt;&gt; omit-xml-declaration=&quot;no&quot; doctype-public=&quot;-//W3C//DTD XHTML 1.1//EN&quot;
&gt;&gt; doctype-system=&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;/&gt;
&gt;&gt;
&gt;&gt; &lt;xsl:template match=&quot;* | @* | processing-instruction() | comment()&quot;
&gt;&gt; mode=&quot;copy&quot;&gt;
&gt;&gt; &lt;xsl:copy copy-namespaces=&quot;no&quot;&gt;
&gt;&gt; &lt;xsl:apply-templates select=&quot;node()|@*&quot; mode=&quot;copy&quot;/&gt;
&gt;&gt; &lt;/xsl:copy&gt;
&gt;&gt; &lt;/xsl:template&gt;
&gt;&gt;
&gt;&gt; &lt;xsl:template match=&quot;/&quot;&gt;
&gt;&gt; &lt;xsl:apply-templates mode=&quot;copy&quot;/&gt;
&gt;&gt; &lt;/xsl:template&gt;
&gt;&gt;
&gt;&gt; this is my XML source :
&gt;&gt; &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot;
&gt;&gt; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&gt;&gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&gt;&gt; &lt;head&gt;
&gt;&gt; &lt;title&gt;title&lt;/title&gt;
&gt;&gt; &lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&gt;&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;
&gt;&gt; &lt;/head&gt;
&gt;&gt; &lt;body&gt;
&gt;&gt; &lt;div class=&quot;body&quot;&gt;
&gt;&gt; &lt;div class=&quot;pageTitre_container&quot;&gt;
&gt;&gt; &lt;h1&gt;
&gt;&gt; &lt;span&gt;Title 1&lt;/span&gt;
&gt;&gt; &lt;/h1&gt;
&gt;&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt;  is&lt;span class=&quot;little&quot;&gt;a
&gt;&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt;&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt;  is&lt;span class=&quot;little&quot;&gt;a
&gt;&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt;&gt; &lt;/div&gt;
&gt;&gt; &lt;/div&gt;
&gt;&gt; &lt;table&gt;
&gt;&gt; &lt;caption&gt;This is a table&lt;/caption&gt;
&gt;&gt; &lt;thead&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;Col 1&lt;/td&gt;
&gt;&gt; &lt;td&gt;Col 2&lt;/td&gt;
&gt;&gt; &lt;td&gt;Col 3&lt;/td&gt;
&gt;&gt; &lt;td&gt;Col 4&lt;/td&gt;
&gt;&gt; &lt;td&gt;Col 5&lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;/thead&gt;
&gt;&gt; &lt;tbody&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&gt;&gt; &lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#195;€ savoir&lt;/p&gt;
&gt;&gt; &lt;p class=&quot;no&quot;&gt;
&gt;&gt; &lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des
&gt;&gt; comparatifs tr&#195;&#168;s complets, prenez le temps de les parcourir. Vous pouvez
&gt;&gt; &#195;&#169;galement chercher des infos sur Internet via les sites des fabricants, ou
&gt;&gt; sur les forums&amp;#160;: rien ne vaut l&#226;€™avis d&#226;€™un consommateur pour se faire
&gt;&gt; une id&#195;&#169;e pr&#195;&#169;cise du produit&amp;#160;!&lt;/span&gt;
&gt;&gt; &lt;/p&gt;
&gt;&gt; &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;/tbody&gt;
&gt;&gt; &lt;/table&gt;
&gt;&gt; &lt;/body&gt;
&gt;&gt; &lt;/html&gt;
&gt;&gt;
&gt;&gt; Which gives as output :
&gt;&gt;
&gt;&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&gt;&gt; &lt;!DOCTYPE html
&gt;&gt;   PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot;
&gt;&gt; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&gt;&gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;&lt;meta
&gt;&gt; http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;
&gt;&gt; /&gt;&lt;title&gt;title&lt;/title&gt;&lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;
&gt;&gt; /&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;&lt;/head&gt;&lt;body&gt;&lt;div
&gt;&gt; class=&quot;body&quot;&gt;
&gt;&gt; &lt;div class=&quot;pageTitre_container&quot;&gt;
&gt;&gt; &lt;h1&gt;
&gt;&gt; &lt;span&gt;Title 1&lt;/span&gt;
&gt;&gt; &lt;/h1&gt;
&gt;&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt;  is&lt;span class=&quot;little&quot;&gt;a
&gt;&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt;&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt;  is&lt;span class=&quot;little&quot;&gt;a
&gt;&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt;&gt; &lt;/div&gt;
&gt;&gt; &lt;/div&gt;&lt;table&gt;&lt;caption&gt;This is a table&lt;/caption&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;Col
&gt;&gt; 1&lt;/td&gt;&lt;td&gt;Col 2&lt;/td&gt;&lt;td&gt;Col 3&lt;/td&gt;&lt;td&gt;Col 4&lt;/td&gt;&lt;td&gt;Col
&gt;&gt; 5&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;  &lt;/td&gt;&lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&gt;&gt; &lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#195;€ savoir&lt;/p&gt;
&gt;&gt; &lt;p class=&quot;no&quot;&gt;
&gt;&gt; &lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des
&gt;&gt; comparatifs tr&#195;&#168;s complets, prenez le temps de les parcourir. Vous pouvez
&gt;&gt; &#195;&#169;galement chercher des infos sur Internet via les sites des fabricants, ou
&gt;&gt; sur les forums : rien ne vaut l&#226;€™avis d&#226;€™un consommateur pour se faire une
&gt;&gt; id&#195;&#169;e pr&#195;&#169;cise du produit !&lt;/span&gt;
&gt;&gt; &lt;/p&gt;
&gt;&gt; &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;  &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;  &lt;/td&gt;&lt;td&gt;
&gt;&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;  &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;  &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&gt;&gt; &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;  &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;  &lt;/td&gt;&lt;td&gt;
&gt;&gt; &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;
&gt;&gt;
&gt;&gt; If I comment the DOCTYPE in the source I get :
&gt;&gt;
&gt;&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;!--&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD
&gt;&gt; XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;--&gt;
&gt;&gt; &lt;!DOCTYPE html
&gt;&gt;   PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot;
&gt;&gt; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&gt;&gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&gt;&gt; &lt;head&gt;&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&gt;&gt; &lt;title&gt;title&lt;/title&gt;
&gt;&gt; &lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&gt;&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;
&gt;&gt; &lt;/head&gt;
&gt;&gt; &lt;body&gt;
&gt;&gt; &lt;div class=&quot;body&quot;&gt;
&gt;&gt; &lt;div class=&quot;pageTitre_container&quot;&gt;
&gt;&gt; &lt;h1&gt;
&gt;&gt; &lt;span&gt;Title 1&lt;/span&gt;
&gt;&gt; &lt;/h1&gt;
&gt;&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt;  is&lt;span class=&quot;little&quot;&gt;a
&gt;&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt;&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt;  is&lt;span class=&quot;little&quot;&gt;a
&gt;&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt;&gt; &lt;/div&gt;
&gt;&gt; &lt;/div&gt;
&gt;&gt; &lt;table&gt;
&gt;&gt; &lt;caption&gt;This is a table&lt;/caption&gt;
&gt;&gt; &lt;thead&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;Col 1&lt;/td&gt;
&gt;&gt; &lt;td&gt;Col 2&lt;/td&gt;
&gt;&gt; &lt;td&gt;Col 3&lt;/td&gt;
&gt;&gt; &lt;td&gt;Col 4&lt;/td&gt;
&gt;&gt; &lt;td&gt;Col 5&lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;/thead&gt;
&gt;&gt; &lt;tbody&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&gt;&gt; &lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#195;€ savoir&lt;/p&gt;
&gt;&gt; &lt;p class=&quot;no&quot;&gt;
&gt;&gt; &lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des
&gt;&gt; comparatifs tr&#195;&#168;s complets, prenez le temps de les parcourir. Vous pouvez
&gt;&gt; &#195;&#169;galement chercher des infos sur Internet via les sites des fabricants, ou
&gt;&gt; sur les forums : rien ne vaut l&#226;€™avis d&#226;€™un consommateur pour se faire une
&gt;&gt; id&#195;&#169;e pr&#195;&#169;cise du produit !&lt;/span&gt;
&gt;&gt; &lt;/p&gt;
&gt;&gt; &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;tr&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;td&gt;  &lt;/td&gt;
&gt;&gt; &lt;/tr&gt;
&gt;&gt; &lt;/tbody&gt;
&gt;&gt; &lt;/table&gt;
&gt;&gt; &lt;/body&gt;
&gt;&gt; &lt;/html&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; the head element is now indented and the table too, this is what i would
&gt;&gt; like... but I don't want to comment the doctype in the source.
&gt;&gt;
&gt;&gt; Has it something to do with the XHTML DTD model ? Any Idea how to achieve
&gt;&gt; what I'd like ?
&gt;&gt;
&gt;&gt; Thanks,
&gt;&gt;
&gt;&gt; Matthieu.
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; --~------------------------------------------------------------------
&gt;&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt;&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;&gt; --~--
&gt;&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;


-- 
Matthieu Ricaud
05 45 37 08 90
NeoLibris


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324410.html</link>
</item><item>
<title>Re: [xsl] XHTML DTD aware transformation and indentation behaviour - 2/2/2012 11:10:00 AM</title>
<description><![CDATA[<pre>On 02/02/2012 10:48, Matthieu Ricaud-Dussarget wrote:
&gt; Hi all,
&gt;
&gt; In my project I concatenate multiple xhtml files in one xml files. 
&gt; This aggregate file has to be edited by hand, that means indentation 
&gt; is important here for convenience.
&gt;
&gt; Before I discovered XML Catalog, I used to delete all DOCTYPE 
&gt; declarations within source XHTML file with a perl script (which also 
&gt; remplace named entities with UTF-8 ones). This worked fine : the 
&gt; concatenated files were indented exactly like the XHTML sources.
&gt;
&gt; But this was a bit dangerous in case I didn't match a special entity 
&gt; to replace with perl. And this was not a really good XML practice.
&gt;
&gt; Now that I'm using a local XML Catalog and run my tranformation with 
&gt; Saxon in command line with this options :
&gt; -r:org.apache.xml.resolver.tools.CatalogResolver 
&gt; -x:org.apache.xml.resolver.tools.ResolvingXMLReader 
&gt; -y:org.apache.xml.resolver.tools.ResolvingXMLReader
&gt;
I can't see exactly what's happening here because your mail client and 
mine have conspired to ignore the whitespace which was critical to 
understanding your message.

Generally, if you validate against a DTD, then whitespace in elements 
whose content model is defined as element-only (for example head and 
body) will be treated as ignorable, which means it's liable to be lost 
in a copy operation. Perhaps this is what is happening.

Try the option -strip:none on the command line to prevent this 
behaviour. The documentation says this is the default, but I'm not 
convinced it is correct: I seem to remember it changing some time ago in 
response to a W3C change.

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324409.html</link>
</item><item>
<title>Re: [xsl] XHTML DTD aware transformation and indentation behaviour - 2/2/2012 11:07:00 AM</title>
<description><![CDATA[<pre>Dear Matthieu,

You can achieve this by downloading all the modules of xhtml11.dtd and
place them in local and using catalogs and changing the indent to
&quot;yes&quot; which align your XHTML output in a tree structure. There is not
need to comment the DOCTYPE in the source file.

Regards,
Ganesh


On Thu, Feb 2, 2012 at 4:18 PM, Matthieu Ricaud-Dussarget
&lt;matthieu.ricaud@igs-cp.fr&gt; wrote:
&gt; Hi all,
&gt;
&gt; In my project I concatenate multiple xhtml files in one xml files. This
&gt; aggregate file has to be edited by hand, that means indentation is important
&gt; here for convenience.
&gt;
&gt; Before I discovered XML Catalog, I used to delete all DOCTYPE declarations
&gt; within source XHTML file with a perl script (which also remplace named
&gt; entities with UTF-8 ones). This worked fine : the concatenated files were
&gt; indented exactly like the XHTML sources.
&gt;
&gt; But this was a bit dangerous in case I didn't match a special entity to
&gt; replace with perl. And this was not a really good XML practice.
&gt;
&gt; Now that I'm using a local XML Catalog and run my tranformation with Saxon
&gt; in command line with this options :
&gt; -r:org.apache.xml.resolver.tools.CatalogResolver
&gt; -x:org.apache.xml.resolver.tools.ResolvingXMLReader
&gt; -y:org.apache.xml.resolver.tools.ResolvingXMLReader
&gt;
&gt; Lets go in the probleme, my XSL is a simple identity template :
&gt;
&gt; &lt;xsl:output method=&quot;xhtml&quot; indent=&quot;no&quot; encoding=&quot;UTF-8&quot;
&gt; omit-xml-declaration=&quot;no&quot; doctype-public=&quot;-//W3C//DTD XHTML 1.1//EN&quot;
&gt; doctype-system=&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;/&gt;
&gt;
&gt; &lt;xsl:template match=&quot;* | @* | processing-instruction() | comment()&quot;
&gt; mode=&quot;copy&quot;&gt;
&gt; &lt;xsl:copy copy-namespaces=&quot;no&quot;&gt;
&gt; &lt;xsl:apply-templates select=&quot;node()|@*&quot; mode=&quot;copy&quot;/&gt;
&gt; &lt;/xsl:copy&gt;
&gt; &lt;/xsl:template&gt;
&gt;
&gt; &lt;xsl:template match=&quot;/&quot;&gt;
&gt; &lt;xsl:apply-templates mode=&quot;copy&quot;/&gt;
&gt; &lt;/xsl:template&gt;
&gt;
&gt; this is my XML source :
&gt; &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot;
&gt; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&gt; &lt;head&gt;
&gt; &lt;title&gt;title&lt;/title&gt;
&gt; &lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;
&gt; &lt;/head&gt;
&gt; &lt;body&gt;
&gt; &lt;div class=&quot;body&quot;&gt;
&gt; &lt;div class=&quot;pageTitre_container&quot;&gt;
&gt; &lt;h1&gt;
&gt; &lt;span&gt;Title 1&lt;/span&gt;
&gt; &lt;/h1&gt;
&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a
&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a
&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt; &lt;/div&gt;
&gt; &lt;/div&gt;
&gt; &lt;table&gt;
&gt; &lt;caption&gt;This is a table&lt;/caption&gt;
&gt; &lt;thead&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt;Col 1&lt;/td&gt;
&gt; &lt;td&gt;Col 2&lt;/td&gt;
&gt; &lt;td&gt;Col 3&lt;/td&gt;
&gt; &lt;td&gt;Col 4&lt;/td&gt;
&gt; &lt;td&gt;Col 5&lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;/thead&gt;
&gt; &lt;tbody&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&gt; &lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#192; savoir&lt;/p&gt;
&gt; &lt;p class=&quot;no&quot;&gt;
&gt; &lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des
&gt; comparatifs tr&#232;s complets, prenez le temps de les parcourir. Vous pouvez
&gt; &#233;galement chercher des infos sur Internet via les sites des fabricants, ou
&gt; sur les forums&amp;#160;: rien ne vaut l’avis d’un consommateur pour se faire
&gt; une id&#233;e pr&#233;cise du produit&amp;#160;!&lt;/span&gt;
&gt; &lt;/p&gt;
&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;/tbody&gt;
&gt; &lt;/table&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt;
&gt; Which gives as output :
&gt;
&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&gt; &lt;!DOCTYPE html
&gt; &#160;PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot;
&gt; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;&lt;meta
&gt; http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;
&gt; /&gt;&lt;title&gt;title&lt;/title&gt;&lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;
&gt; /&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;&lt;/head&gt;&lt;body&gt;&lt;div
&gt; class=&quot;body&quot;&gt;
&gt; &lt;div class=&quot;pageTitre_container&quot;&gt;
&gt; &lt;h1&gt;
&gt; &lt;span&gt;Title 1&lt;/span&gt;
&gt; &lt;/h1&gt;
&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a
&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a
&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt; &lt;/div&gt;
&gt; &lt;/div&gt;&lt;table&gt;&lt;caption&gt;This is a table&lt;/caption&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;Col
&gt; 1&lt;/td&gt;&lt;td&gt;Col 2&lt;/td&gt;&lt;td&gt;Col 3&lt;/td&gt;&lt;td&gt;Col 4&lt;/td&gt;&lt;td&gt;Col
&gt; 5&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&gt; &lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#192; savoir&lt;/p&gt;
&gt; &lt;p class=&quot;no&quot;&gt;
&gt; &lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des
&gt; comparatifs tr&#232;s complets, prenez le temps de les parcourir. Vous pouvez
&gt; &#233;galement chercher des infos sur Internet via les sites des fabricants, ou
&gt; sur les forums : rien ne vaut l’avis d’un consommateur pour se faire une
&gt; id&#233;e pr&#233;cise du produit !&lt;/span&gt;
&gt; &lt;/p&gt;
&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt;
&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt;
&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;
&gt;
&gt; If I comment the DOCTYPE in the source I get :
&gt;
&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;!--&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD
&gt; XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;--&gt;
&gt; &lt;!DOCTYPE html
&gt; &#160;PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot;
&gt; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&gt; &lt;head&gt;&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&gt; &lt;title&gt;title&lt;/title&gt;
&gt; &lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;
&gt; &lt;/head&gt;
&gt; &lt;body&gt;
&gt; &lt;div class=&quot;body&quot;&gt;
&gt; &lt;div class=&quot;pageTitre_container&quot;&gt;
&gt; &lt;h1&gt;
&gt; &lt;span&gt;Title 1&lt;/span&gt;
&gt; &lt;/h1&gt;
&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a
&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt; &lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a
&gt; paragraphe&lt;/span&gt;&lt;/p&gt;
&gt; &lt;/div&gt;
&gt; &lt;/div&gt;
&gt; &lt;table&gt;
&gt; &lt;caption&gt;This is a table&lt;/caption&gt;
&gt; &lt;thead&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt;Col 1&lt;/td&gt;
&gt; &lt;td&gt;Col 2&lt;/td&gt;
&gt; &lt;td&gt;Col 3&lt;/td&gt;
&gt; &lt;td&gt;Col 4&lt;/td&gt;
&gt; &lt;td&gt;Col 5&lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;/thead&gt;
&gt; &lt;tbody&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&gt; &lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#192; savoir&lt;/p&gt;
&gt; &lt;p class=&quot;no&quot;&gt;
&gt; &lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des
&gt; comparatifs tr&#232;s complets, prenez le temps de les parcourir. Vous pouvez
&gt; &#233;galement chercher des infos sur Internet via les sites des fabricants, ou
&gt; sur les forums : rien ne vaut l’avis d’un consommateur pour se faire une
&gt; id&#233;e pr&#233;cise du produit !&lt;/span&gt;
&gt; &lt;/p&gt;
&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;tr&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;td&gt; &lt;/td&gt;
&gt; &lt;/tr&gt;
&gt; &lt;/tbody&gt;
&gt; &lt;/table&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt;
&gt;
&gt; the head element is now indented and the table too, this is what i would
&gt; like... but I don't want to comment the doctype in the source.
&gt;
&gt; Has it something to do with the XHTML DTD model ? Any Idea how to achieve
&gt; what I'd like ?
&gt;
&gt; Thanks,
&gt;
&gt; Matthieu.
&gt;
&gt;
&gt;
&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324408.html</link>
</item><item>
<title>[xsl] XHTML DTD aware transformation and indentation behaviour - 2/2/2012 10:49:00 AM</title>
<description><![CDATA[<pre>Hi all,

In my project I concatenate multiple xhtml files in one xml files. This 
aggregate file has to be edited by hand, that means indentation is 
important here for convenience.

Before I discovered XML Catalog, I used to delete all DOCTYPE 
declarations within source XHTML file with a perl script (which also 
remplace named entities with UTF-8 ones). This worked fine : the 
concatenated files were indented exactly like the XHTML sources.

But this was a bit dangerous in case I didn't match a special entity to 
replace with perl. And this was not a really good XML practice.

Now that I'm using a local XML Catalog and run my tranformation with 
Saxon in command line with this options :
-r:org.apache.xml.resolver.tools.CatalogResolver 
-x:org.apache.xml.resolver.tools.ResolvingXMLReader 
-y:org.apache.xml.resolver.tools.ResolvingXMLReader

Lets go in the probleme, my XSL is a simple identity template :

&lt;xsl:output method=&quot;xhtml&quot; indent=&quot;no&quot; encoding=&quot;UTF-8&quot; 
omit-xml-declaration=&quot;no&quot; doctype-public=&quot;-//W3C//DTD XHTML 1.1//EN&quot; 
doctype-system=&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;/&gt;

&lt;xsl:template match=&quot;* | @* | processing-instruction() | comment()&quot; 
mode=&quot;copy&quot;&gt;
&lt;xsl:copy copy-namespaces=&quot;no&quot;&gt;
&lt;xsl:apply-templates select=&quot;node()|@*&quot; mode=&quot;copy&quot;/&gt;
&lt;/xsl:copy&gt;
&lt;/xsl:template&gt;

&lt;xsl:template match=&quot;/&quot;&gt;
&lt;xsl:apply-templates mode=&quot;copy&quot;/&gt;
&lt;/xsl:template&gt;

this is my XML source :
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; 
&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;title&gt;title&lt;/title&gt;
&lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;body&quot;&gt;
&lt;div class=&quot;pageTitre_container&quot;&gt;
&lt;h1&gt;
&lt;span&gt;Title 1&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a 
paragraphe&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a 
paragraphe&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;table&gt;
&lt;caption&gt;This is a table&lt;/caption&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;td&gt;Col 1&lt;/td&gt;
&lt;td&gt;Col 2&lt;/td&gt;
&lt;td&gt;Col 3&lt;/td&gt;
&lt;td&gt;Col 4&lt;/td&gt;
&lt;td&gt;Col 5&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#195;€ savoir&lt;/p&gt;
&lt;p class=&quot;no&quot;&gt;
&lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des 
comparatifs tr&#195;&#168;s complets, prenez le temps de les parcourir. Vous pouvez 
&#195;&#169;galement chercher des infos sur Internet via les sites des fabricants, 
ou sur les forums&amp;#160;: rien ne vaut l&#226;€™avis d&#226;€™un consommateur pour se 
faire une id&#195;&#169;e pr&#195;&#169;cise du produit&amp;#160;!&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;

Which gives as output :

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; 
&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;&lt;meta 
http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; 
/&gt;&lt;title&gt;title&lt;/title&gt;&lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; 
type=&quot;text/css&quot; /&gt;&lt;script type=&quot;text/javascript&quot; 
src=&quot;my.js&quot;&gt;&lt;/script&gt;&lt;/head&gt;&lt;body&gt;&lt;div class=&quot;body&quot;&gt;
&lt;div class=&quot;pageTitre_container&quot;&gt;
&lt;h1&gt;
&lt;span&gt;Title 1&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a 
paragraphe&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a 
paragraphe&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;&lt;caption&gt;This is a table&lt;/caption&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;Col 
1&lt;/td&gt;&lt;td&gt;Col 2&lt;/td&gt;&lt;td&gt;Col 3&lt;/td&gt;&lt;td&gt;Col 4&lt;/td&gt;&lt;td&gt;Col 
5&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#195;€ savoir&lt;/p&gt;
&lt;p class=&quot;no&quot;&gt;
&lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des 
comparatifs tr&#195;&#168;s complets, prenez le temps de les parcourir. Vous pouvez 
&#195;&#169;galement chercher des infos sur Internet via les sites des fabricants, 
ou sur les forums : rien ne vaut l&#226;€™avis d&#226;€™un consommateur pour se faire 
une id&#195;&#169;e pr&#195;&#169;cise du produit !&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; 
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;

If I comment the DOCTYPE in the source I get :

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;!--&lt;!DOCTYPE html PUBLIC 
&quot;-//W3C//DTD XHTML 1.1//EN&quot; 
&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;--&gt;
&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; 
&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&lt;title&gt;title&lt;/title&gt;
&lt;link href=&quot;my.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;my.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;body&quot;&gt;
&lt;div class=&quot;pageTitre_container&quot;&gt;
&lt;h1&gt;
&lt;span&gt;Title 1&lt;/span&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a 
paragraphe&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;big&quot;&gt;This&lt;/span&gt; is &lt;span class=&quot;little&quot;&gt;a 
paragraphe&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;table&gt;
&lt;caption&gt;This is a table&lt;/caption&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;td&gt;Col 1&lt;/td&gt;
&lt;td&gt;Col 2&lt;/td&gt;
&lt;td&gt;Col 3&lt;/td&gt;
&lt;td&gt;Col 4&lt;/td&gt;
&lt;td&gt;Col 5&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td colspan=&quot;3&quot; rowspan=&quot;7&quot;&gt;
&lt;p class=&quot;entitre-en-savoir-&quot;&gt;&#195;€ savoir&lt;/p&gt;
&lt;p class=&quot;no&quot;&gt;
&lt;span class=&quot;no-style-override-5&quot;&gt;Certains grands magasins proposent des 
comparatifs tr&#195;&#168;s complets, prenez le temps de les parcourir. Vous pouvez 
&#195;&#169;galement chercher des infos sur Internet via les sites des fabricants, 
ou sur les forums : rien ne vaut l&#226;€™avis d&#226;€™un consommateur pour se faire 
une id&#195;&#169;e pr&#195;&#169;cise du produit !&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;


the head element is now indented and the table too, this is what i would 
like... but I don't want to comment the doctype in the source.

Has it something to do with the XHTML DTD model ? Any Idea how to 
achieve what I'd like ?

Thanks,

Matthieu.





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324407.html</link>
</item><item>
<title>[xsl] SGML/XML/XSLT Tools developer/IETM developer Opportunity - 2/2/2012 12:43:00 AM</title>
<description><![CDATA[<pre>General Atomics Aeronautical in San Diego CA is looking for a tools 
developer to help support our IETM development and support the team 
of writers. We are looking for just about any combination of these skills:

- S1000D
- DITA
- Mil Spec publishing background
- Army IADS development
- SGML
- FOSI
- Arbortext customization
- Perl, Javascript, Java
- XML

This is a full time direct position and is located in Poway (outside 
San Diego). For complete details see

https://search9.smartsearchonline.com/asi/jobs/jobdetails.asp?current_page=1&amp;city=&amp;location=&amp;job_type=&amp;emp_status=&amp;direct_jo_num=&amp;country=&amp;k1=IETMS&amp;k2=&amp;k3=&amp;k4=&amp;k5=&amp;k6=&amp;k7=&amp;k8=&amp;salary_min=&amp;co_num=&amp;apply=yes&amp;job_number=11446

or contact me directly at dvint@dvint.com
---------------------------------------------------------------------------
Danny Vint

Panoramic Photography
http://www.dvint.com

voice: 619-938-3610
     


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324401.html</link>
</item><item>
<title>[xsl] XSL-List Guidelines - 2/1/2012 5:20:00 PM</title>
<description><![CDATA[<pre>This information is posted to the XSL-List (and the XSL-List Digest)
at intervals under the subject line &quot;XSL-List guidelines&quot;.

INTRODUCTION TO XSL-LIST

XSL-List hosts discussion of XSL itself, XSL applications and implementation, and XSL user questions. XSL-List is open to everyone, users and developers, experts and novices alike. There is no restriction to what may be posted on the XSL-List provided it is related to XSL, which is considered to include XSLT (versions 1 and 2), XPath (versions 1 and 2) and XSL Formatting Objects (FO).

XSL-List is not a W3C mailing list, and has no affiliation with W3C (or any official standing with any standards organization). However, XSL-List was established with the encouragement of members of the W3C XSL Working Group, and members of the Working Group are among the subscribers to the list.

Only subscribers can post to XSL-List, but since the goal is to increase the level of XSL knowledge, XSL-List is being archived for everybody to view. The topics being discussed on the XSL-List change as new ideas arise or existing problems are dealt with, but the archive contains all of the ideas and solutions that have been discussed on the list.

XSL-List is provided by Mulberry Technologies, Inc., as a service to the XSL user community. Mulberry is an XML and SGML consultancy specializing in applications that have a text design, processing, interchange, or display component. For more information about Mulberry Technologies, Inc. see http://www.mulberrytech.com 


SUBSCRIBING TO THE XSL-LIST

To subscribe to the list, fill out the form at http://www.mulberrytech.com/xsl/xsl-list/subscribe-unsubscribe.html.


DAILY DIGEST

Daily digests -- copies of a whole days XSL-List messages sent as one email message -- are available. Not only is it a single email message containing all of that day's XSL-List messages, it is also half the size, on average, of the individual messages since it doesn't include the overhead of the mail headers from each message.

To unsubscribe from the list and subscribe to the digest, use the form at http://www.mulberrytech.com/xsl/xsl-list/subscribe-unsubscribe.html.


POSTING GUIDELINES

Only subscribers can post to XSL-List, and only from the exact address they used when they subscribed.

There is no restriction on what may be posted to the XSL-List provided it is related to XSL. Items concerning XML but without a direct connection to XSL should be posted to a XML-related list instead of to the XSL-List. Items related to DSSSL should be posted to the DSSSList.

Do not begin your subject line with &quot;help&quot; or &quot;subscribe&quot; since the list software will bounce the message because it looks like is an administrative request.

It is best to start a new message for a new thread. Do not start a new thread by replying to an unrelated message and just changing the subject line, since the header of your message will contain references to the previous message and your new message will appear in the archive as one of the replies to the original message.

Both subscribers to the full list (xsl-list@lists.mulberrytech.com) and subscribers to the digest (xsl-list-digest@lists.mulberrytech.com) should post their messages to xsl- list@lists.mulberrytech.com; the messages will be received by both subscribers to the list and subscribers to the digest.


BEFORE YOU POST ... DO YOUR HOMEWORK
- Check that your question isn't already answered in the XSL FAQ at http://www.dpawson.co.uk/.
- Check that your question isn't already answered in the XSL-List archives at http://www.biglist.com/lists/xsl-list/archives/.
- If you are asking for help with XSL code, determine which version of the language you are using (plus extensions, if any), and confirm that your XSL processor supports that version and/or extension. (If you are unsure of your processor, this can be determined by using the stylesheet at http://www.mulberrytech.com/xsl/xsl-list/processor-version.xsl on any input, including the stylesheet itself: see http://www.mulberrytech.com/xsl/xsl-list/processor-version.html for more information.) An XSLT 1.0 engine will not process stylesheets written in XSLT 2.0!


IN YOUR POSTING ...

Name the XSL processor, processor version, and version of the language you are using. This information is frequently necessary to diagnose a problem exactly, and always helps respondents give good advice.

If you are replying to a post, trim the quoted message to just the parts to which you are replying.

In addition to following simple rules of net etiquette and common sense, you will improve the chances that you will receive prompt and helpful responses by:
- Asking questions specific enough that answers are possible. Describe what you are trying to do, how you approached it, what happened, and why you don't like the result you got. Don't simply say &quot;it gave me an error&quot;: paste in the error message (someone else can probably make sense of it).
 -  Illustrating your question with a demonstration of the problem. Well-composed questions frequently include a small XML sample, an XSLT stylesheet, the results received, and the result that was desired - all in miniature, to make it comprehensible to readers new to your problem. (It is also not uncommon to discover what a problem actually is in the process of reducing it to an illustrative version.)


USE INFORMATIVE SUBJECT LINES

When posting to the XSL-List, do not use uninformative subject lines like &quot;Urgent&quot;, &quot;Question&quot;, or &quot;Newbie HELP!!!&quot;, which don't say anything about what your problem is. Instead, use a meaningful subject line that will make sense to the people whose help you are trying to get. It may even get a response from people who normally shy away from &quot;beginner&quot; questions.

Informative subject lines make the XSL-List archive more useful since people with the same problem will more easily find the relevant threads.


DO NOT CROSS-POST

Cross-posting to the XSL-List and to another list, even XML-Dev or the DSSSList, is generally counter-productive. No list's archive will contain the complete thread; cross-posts from non-subscribers continuing the thread will bounce; and XSL-List subscribers who are not also on the other list will only see half the thread, as will those on the other list who are not also reading XSL- List. Subscribers to both lists may see two copies of the message, annoying them as well.


REPLIES GO TO THE LIST

The reply address of XSL-List messages (and of digests) is xsl-list@lists.mulberrytech.com so REPLIES GO TO THE LIST BY DEFAULT. If you want to reply to just the author of a post, you should change the &quot;To:&quot; field in your reply.


USE SHORT QUOTES OF PREVIOUS MESSAGES IN REPLIES

Please do not quote entire messages just to add a few lines at the beginning or end. Instead, quote the parts to which you are directly replying or quote enough to establish the context.

Everybody on the list has already received the message that you are quoting, and anyone searching the archive will find your message and the previous message listed under the same thread.

Subscribers to the XSL-List will just ignore most of the quoted messages and move to the next post, but subscribers to the XSL-List Digest will mostly have to page past the quoted messages to reach the next material in which they are interested in reading.


POSTINGS MUST BE IN PLAIN TEXT ONLY

Postings to XSL-List must be in plain text only. The XSL-List does not allow 
HTML postings because many users cannot display them appropriately, and because 
they are unnecessarily large. 


POSTINGS MAY NOT BE IN BASE 64

Postings to XSL-List may not be in Base 64 because it makes a mess of both the digest and the archive. 


ATTACHMENTS ARE BANNED

Since Mulberry's mailing lists have in the past been unwittingly used for spreading viruses in e-mail attachments, all e-mail attachments are banned from the XSL-List.

XSL stylesheets are XML files, and XML files are text files, so this does not affect the majority of posts to the list since you can include the files' text in the body of your message. If you need to refer to a binary file such as a PDF file, you should put the file on a Web site or FTP site and include the file's URL in your XSL-List post.

If you do include an attachment in your XSL-List post -- even a HTML attachment -- your message will bounce.


YOUR POST WILL BE PERMANENTLY ARCHIVED

Because it is a public resource created by and for the entire XSL
community, we do not edit XSL-List. Therefore, it is responsibility of
list subscribers not to post anything to the list that they do not want
publicly available, possibly for a very long time.

Postings in the list archives will be complete, including: all contents, examples, sample data, code or code fragments, and email header and footer contents. An automated process will obscure the domain portion of email addresses (the part after the @ sign).in the headers and footers of postings, but no guarnantee is made that this process will be completely successfull. Other than this, all postings will be archived in public as received.

Further, we at Mulberry could not, even if we wanted to, edit all of the 
archives of XSL-List. Several third-parties have created unofficial archives of 
XSL-List, often without asking, or even informing, Mulberry. Postings to XSL-List 
will be included in an unknown and ever-changing variety of web publications. If 
you don't want your questions/comments/answers in public view don't post them to 
XSL-List. 


THIRD-PARTY ARCHIVES OF XSL-LIST

Third parties are welcome to create searchable or reference archives of XSL-List
provided they adhere to the following guidelines: 
- the material is clearly labelled as being from XSL-List, with 
  an acknowledgement of Mulberry's role as provider of XSL-List
- there is a navigable pointer to the official list page at
  http://www.mulberrytech.com/xsl/xsl-list/ either on every posting 
  or associated with the user interface such that it is visible with 
  the postings
- list postings are unedited
- either the entire archive of the list is provided or there is a 
  clearly stated method for selecting the subset of the list that is provided

Mulberry does not provide these third parties with help to create these archives, does not endorse particular third party archives, and has no control over the ways in which they present the material in their systems.

People or organizations that publish the contents of XSL-List without following 
the guidelines above are being very antisocial. Please bookmark either 
the official XSL-List archive or one provided by a service that plays nicely 
in the community and shun those who do not give credit where credit it due.


UNSUBSCRIBING FROM THE XSL-LIST

To unsubscribe from XSL-List, use the form at http://www.mulberrytech.com/xsl/xsl-list/subscribe-unsubscribe.html. If you have difficulties unsubscribing from the list: 
  - make sure you are unsubscribing EXACTLY the email address that is 
    subscribed
  - if you receive only one message a day from the list be sure to 
    check the box marked &quot;Select for the Digest version of the list&quot;
    (if you subscribe to the digest and don't check this box the system
    will try to unsubscribe you from the regular list and fail; it will
    only unsubscribe you from the digest if you check this box.)

UNSUBSCRIBING FROM THE XSL-LIST DIGEST

To unsubscribe from the XSL-List digest, use the form at http://www.mulberrytech.com/xsl/xsl-list/subscribe-unsubscribe.html and
check the box marked &quot;Select for the Digest version of the list&quot;.


IF YOU STOP GETTING XSL-LIST MESSAGES

If you stop receiving XSL-List message, you may have been removed because mail to you was bouncing. You are not being picked on, and you can just rejoin the list.


ARCHIVE

XSL-List messages are archived at http://www.biglist.com/lists/xsl-list/archives/.


REPORTING BUGS IN SOFTWARE

Bugs in software should firstly be reported to its author rather than to the XSL List. Questions regarding how to work around bugs are welcome, but the list does not function as a bug-tracking system for any software.


XSL FAQ AND OTHER INFORMATION ON XSL

Dave Pawson's XSL FAQ is at http://www.dpawson.co.uk/xsl/index.html.

The W3C information on XSL is at http://www.w3.org/Style/XSL.

Mulberry's Quick References are at http://www.mulberrytech.com/quickref/ and 
cover XSLT, XPath, and XQuery.


DSSSLIST -- THE DSSSL USERS' MAILING LIST

Mulberry Technologies, Inc., also provides the DSSSList -- the DSSSL Users' Mailing List. For subscription information and the DSSSList archive, see http://www.mulberrytech.com/dsssl/dssslist.


CONTACT

If you have any questions or problems, please contact xsl-list-owner@lists.mulberrytech.com.


ADMINISTRATIVE COMMUNICATIONS

The list administrator will reply to emailed questions relating to the mechanics and administration of XSL-List and to help new users learn to use the list. However, the administrator will not take the time to navigate mazes of any sort in order to do so. If the list owner's messages are rejected by a user's anti-spam system the list owner will not pursue the matter. Similarly, if list-related notices to a subscriber are rejected as spam the subscriber will be unsubscribed. 



CHANGE History

==============
December 26, 2011 - btu. 

 11. Clarified instructions on unsubscribing from the digest version
     of the list.

==============
May 5, 2009 - btu. 

 10. Added paragraph clarifying that all content will be archived in 
     public, including text, examples, code, and email headers and 
     footers including names.

==============
February 1, 2008 - btu. 

 9. Policy on third-party archives added. 

 8. Policy banning attachments and postings in Base 64 clarified. 

==============
September 1, 2007 - btu. 

 7. Administrative communication policy clarified.  


==============
October 1, 2005 - btu. 

 6. Mulberry Technologies' relationship to XSL-List clarified. We 
    do the work. We pay the bills. Organizations who post unauthorized 
    copies of the archive without acknowledging Mulberry's contribution 
    are not playing nicely in the community. 

==============
March 2, 2005 - btu. 

 4. Users are asked to identify the version of XSLT and XPath
    they are using for questions that are specific to one version

 5. Clarifying the policy on editing the list archive (we don't edit
    it). 

==============
March 30, 2004 - btu. 

 1. All references to subscribing and unsubscribing have been
    updated to reflect changes in the list management system.

 2. Pointers to the XSL and XPath specification were removed. There
    are now so many specifications and draft specifications relevant
    to XSL that it is more practical to simply point to W3C's XSL
    page. 

 3. A few typographical errors were corrected.



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324379.html</link>
</item><item>
<title>Re: [xsl] Need debug help xslt+svg - 2/1/2012 3:55:00 PM</title>
<description><![CDATA[<pre>&gt; I am not sure I understand the problem but you seem to do something like
&gt;    &lt;xsl:if test=&quot;document($nxt)&quot;&gt;
&gt; in there and with MSXML I think you get a fatal transformation error if
&gt; the document you are trying to load (i.e. snake.07.xml) does not exist.
&gt;
Thank for that explanation.
Please have a look at the real problem I described in my previous email.
The first time the index of the cube to rotate decreases (idx=&quot;7&quot; for
snake and idx=&quot;3&quot; for small.xml) the corresponding cube gets drawn at its
original position and not at the correctly transformed position.
You can see that best when starting with snake.00.xml, and then clicking
next two times (with Non-IE browser because of your explanation).
The first rotation is fine, and the problem in the 2nd is easy to see.

$ tail -20 snake.xml
  &lt;cube x=&quot;12&quot; y=&quot;0&quot; z=&quot;11&quot; c=&quot;&amp;b;&quot;/&gt;
  &lt;cube x=&quot;13&quot; y=&quot;0&quot; z=&quot;11&quot; c=&quot;&amp;d;&quot;/&gt;
  &lt;cube x=&quot;13&quot; y=&quot;0&quot; z=&quot;12&quot; c=&quot;&amp;b;&quot;/&gt;
  &lt;cube x=&quot;13&quot; y=&quot;0&quot; z=&quot;13&quot; c=&quot;&amp;d;&quot;/&gt;
&lt;!--
  &lt;rot r=&quot;z&quot; x0=&quot;1&quot; y0=&quot;0&quot; idx=&quot;4&quot;/&gt;
  &lt;rot r=&quot;y&quot; x0=&quot;1&quot; z0=&quot;2&quot; idx=&quot;3&quot;/&gt;
--&gt;

  &lt;rot r=&quot;x&quot; y0=&quot;0&quot; z0=&quot;2&quot; idx=&quot;3&quot;/&gt;
  &lt;rot r=&quot;z&quot; x0=&quot;1&quot; y0=&quot;0&quot; idx=&quot;4&quot;/&gt;
  &lt;rot r=&quot;Y&quot; x0=&quot;1&quot; z0=&quot;2&quot; idx=&quot;4&quot;/&gt;
  &lt;rot r=&quot;x&quot; y0=&quot;0&quot; z0=&quot;3&quot; idx=&quot;5&quot;/&gt;
  &lt;rot r=&quot;X&quot; y0=&quot;0&quot; z0=&quot;4&quot; idx=&quot;8&quot;/&gt;
  &lt;rot r=&quot;y&quot; x0=&quot;3&quot; z0=&quot;4&quot; idx=&quot;7&quot;/&gt;

  &lt;rot r=&quot;Z&quot; x0=&quot;5&quot; y0=&quot;0&quot; idx=&quot;10&quot;/&gt;
  &lt;rot r=&quot;Z&quot; x0=&quot;5&quot; y0=&quot;0&quot; idx=&quot;10&quot;/&gt;

&lt;/snake&gt;
$

Mit besten Gruessen / Best wishes,

Hermann Stamm-Wilbrandt
Level 3 support for XML Compiler team, Fixpack team lead
WebSphere DataPower SOA Appliances
https://www.ibm.com/developerworks/mydeveloperworks/blogs/HermannSW/
----------------------------------------------------------------------
IBM Deutschland Research &amp; Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


                                                                                                                   
  From:       Martin Honnen &lt;Martin.Honnen@gmx.de&gt;                                                                 
                                                                                                                   
  To:         xsl-list@lists.mulberrytech.com,                                                                     
                                                                                                                   
  Date:       02/01/2012 02:01 PM                                                                                  
                                                                                                                   
  Subject:    Re: [xsl] Need debug help xslt+svg                                                                   
                                                                                                                   





Hermann Stamm-Wilbrandt wrote:

&gt; The problem I need debug help is step 6 of the animation:
&gt; http://stamm-wilbrandt.de/en/xsl-list/cube/snake.00.xml
&gt;
&gt; Clicking on the link gives you the start. The clicking next 5 times
&gt; gives fine results. When clicking the 6th time you can see the
&gt; problem, one of the cubes is not rotated correctly.

I am not sure I understand the problem but you seem to do something like
   &lt;xsl:if test=&quot;document($nxt)&quot;&gt;
in there and with MSXML I think you get a fatal transformation error if
the document you are trying to load (i.e. snake.07.xml) does not exist.



--

		 Martin Honnen --- MVP Data Platform Development
		 http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324368.html</link>
</item><item>
<title>Re: [xsl] xsl:analyze-string and multiple matching groups - 2/1/2012 3:17:00 PM</title>
<description><![CDATA[<pre>The way I tackle most regex problems is to break them up. I would do 
this one by first tokenizing on ';' and then tokenizing each token on ','.

We've inherited from the Perl regex tradition the idea that each 
capturing subexpression (i.e. each occurrence of &quot;(...)&quot; in the source) 
captures zero or one substrings. It could have been done better (and 
perhaps with the new fn:analyze-string() in 3.0 which generates a 
marked-up version of the input string we should have tried), but 
everyone is scared of doing things that are beyond the scope of existing 
regex libraries.

Personally, having just integrated a modified version of Jakarta into 
Saxon, I'm less scared of this than I was. But that's the way 
xsl:analyze-string is defined, and it's defined that way for reasons of 
compatibility with the Perl regex tradition.

Michael Kay
Saxonica

On 01/02/2012 14:42, Florent Georges wrote:
&gt;    Hi,
&gt;
&gt;    Let's say I have a string of the form &quot;a:b;c:d;&quot; where there
&gt; can be any number of sub-parts of the form &quot;x:y;&quot;, that I'd like
&gt; to parse using xsl:analyze-string.  With the following regex:
&gt;
&gt;      ^(([a-z]):([a-z]);)+$
&gt;
&gt; which matches indeed, I cannot use the regex-groups to retrieve
&gt; all values.  For instance the following:
&gt;
&gt;      &lt;xsl:analyze-string select=&quot;'a:b;c:d;'&quot;
&gt;                          regex=&quot;^(([a-z]):([a-z]);)+$&quot;&gt;
&gt;         &lt;xsl:matching-substring&gt;
&gt;            &lt;group num=&quot;0&quot; value=&quot;{ regex-group(0) }&quot;/&gt;
&gt;            &lt;group num=&quot;1&quot; value=&quot;{ regex-group(1) }&quot;/&gt;
&gt;            &lt;group num=&quot;2&quot; value=&quot;{ regex-group(2) }&quot;/&gt;
&gt;            &lt;group num=&quot;3&quot; value=&quot;{ regex-group(3) }&quot;/&gt;
&gt;            &lt;group num=&quot;4&quot; value=&quot;{ regex-group(4) }&quot;/&gt;
&gt;            &lt;group num=&quot;5&quot; value=&quot;{ regex-group(5) }&quot;/&gt;
&gt;            &lt;group num=&quot;6&quot; value=&quot;{ regex-group(6) }&quot;/&gt;
&gt;            &lt;group num=&quot;7&quot; value=&quot;{ regex-group(7) }&quot;/&gt;
&gt;         &lt;/xsl:matching-substring&gt;
&gt;      &lt;/xsl:analyze-string&gt;
&gt;
&gt; returns the following:
&gt;
&gt;      &lt;group num=&quot;0&quot; value=&quot;a:b;c:d;&quot;/&gt;
&gt;      &lt;group num=&quot;1&quot; value=&quot;c:d;&quot;/&gt;
&gt;      &lt;group num=&quot;2&quot; value=&quot;c&quot;/&gt;
&gt;      &lt;group num=&quot;3&quot; value=&quot;d&quot;/&gt;
&gt;      &lt;group num=&quot;4&quot; value=&quot;&quot;/&gt;
&gt;      &lt;group num=&quot;5&quot; value=&quot;&quot;/&gt;
&gt;      &lt;group num=&quot;6&quot; value=&quot;&quot;/&gt;
&gt;      &lt;group num=&quot;7&quot; value=&quot;&quot;/&gt;
&gt;
&gt; when I would have expected the following instead:
&gt;
&gt;      &lt;group num=&quot;0&quot; value=&quot;a:b;c:d;&quot;/&gt;
&gt;      &lt;group num=&quot;1&quot; value=&quot;a:b;&quot;/&gt;
&gt;      &lt;group num=&quot;2&quot; value=&quot;a&quot;/&gt;
&gt;      &lt;group num=&quot;3&quot; value=&quot;b&quot;/&gt;
&gt;      &lt;group num=&quot;4&quot; value=&quot;c:d;&quot;/&gt;
&gt;      &lt;group num=&quot;5&quot; value=&quot;c&quot;/&gt;
&gt;      &lt;group num=&quot;6&quot; value=&quot;d&quot;/&gt;
&gt;      &lt;group num=&quot;7&quot; value=&quot;&quot;/&gt;
&gt;
&gt;    That is, I expected the regex-groups to match the &quot;dynamic&quot;
&gt; number of groups, instead of the strict &quot;static&quot; or &quot;lexical&quot;
&gt; group numbering from the regex string.  I thought that was what
&gt; I was used to in Perl and other tools, by I can't recall for
&gt; sure, and I didn't find a definitive answer in the spec.
&gt;
&gt;    Are my expectations wrong?  If yes why?  And if yes, is there
&gt; any general solution to this problem? (by &quot;general&quot;, I mean not
&gt; recursing on the string and using substring on ';' because here
&gt; this is a simple delimiter)
&gt;
&gt;    BTW, tested with Saxon HE 9.3.0.5 and 9.4.0.2.
&gt;
&gt;    Regards,
&gt;
&gt; -- 
&gt; Florent Georges
&gt; http://fgeorges.org/
&gt; http://h2oconsulting.be/
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail:&lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324367.html</link>
</item><item>
<title>Re: [xsl] xsl:analyze-string and multiple matching groups - 2/1/2012 3:07:00 PM</title>
<description><![CDATA[<pre>Florent Georges wrote:

&gt;    Let's say I have a string of the form &quot;a:b;c:d;&quot; where there
&gt; can be any number of sub-parts of the form &quot;x:y;&quot;, that I'd like
&gt; to parse using xsl:analyze-string.  With the following regex:
&gt;
&gt;      ^(([a-z]):([a-z]);)+$
&gt;
&gt; which matches indeed, I cannot use the regex-groups to retrieve
&gt; all values.  For instance the following:
&gt;
&gt;      &lt;xsl:analyze-string select=&quot;'a:b;c:d;'&quot;
&gt;                          regex=&quot;^(([a-z]):([a-z]);)+$&quot;&gt;
&gt;         &lt;xsl:matching-substring&gt;
&gt;            &lt;group num=&quot;0&quot; value=&quot;{ regex-group(0) }&quot;/&gt;
&gt;            &lt;group num=&quot;1&quot; value=&quot;{ regex-group(1) }&quot;/&gt;
&gt;            &lt;group num=&quot;2&quot; value=&quot;{ regex-group(2) }&quot;/&gt;

&gt;    Are my expectations wrong?  If yes why?  And if yes, is there
&gt; any general solution to this problem? (by &quot;general&quot;, I mean not
&gt; recursing on the string and using substring on ';' because here
&gt; this is a simple delimiter)

Shouldn't it suffice to do

     &lt;xsl:analyze-string select=&quot;'a:b;c:d;'&quot;
                         regex=&quot;([a-z]):([a-z]);&quot;&gt;
       &lt;xsl:matching-substring&gt;
         &lt;!-- now access groups here --&gt;
       &lt;/xsl:matching-substring&gt;
     &lt;/xsl:analyze-string&gt;

then matching-substring is &quot;called&quot; for every part of the form &quot;x:y;&quot;.


-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324366.html</link>
</item><item>
<title>[xsl] xsl:analyze-string and multiple matching groups - 2/1/2012 2:44:00 PM</title>
<description><![CDATA[<pre>&#160; Hi,

&#160; Let's say I have a string of the form &quot;a:b;c:d;&quot; where there
can be any number of sub-parts of the form &quot;x:y;&quot;, that I'd like
to parse using xsl:analyze-string. &#160;With the following regex:

&#160; &#160; ^(([a-z]):([a-z]);)+$

which matches indeed, I cannot use the regex-groups to retrieve
all values. &#160;For instance the following:

&#160; &#160; &lt;xsl:analyze-string select=&quot;'a:b;c:d;'&quot;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; regex=&quot;^(([a-z]):([a-z]);)+$&quot;&gt;
&#160; &#160; &#160; &#160;&lt;xsl:matching-substring&gt;
&#160; &#160; &#160; &#160; &#160; &lt;group num=&quot;0&quot; value=&quot;{ regex-group(0) }&quot;/&gt;
&#160; &#160; &#160; &#160; &#160; &lt;group num=&quot;1&quot; value=&quot;{ regex-group(1) }&quot;/&gt;
&#160; &#160; &#160; &#160; &#160; &lt;group num=&quot;2&quot; value=&quot;{ regex-group(2) }&quot;/&gt;
&#160; &#160; &#160; &#160; &#160; &lt;group num=&quot;3&quot; value=&quot;{ regex-group(3) }&quot;/&gt;
&#160; &#160; &#160; &#160; &#160; &lt;group num=&quot;4&quot; value=&quot;{ regex-group(4) }&quot;/&gt;
&#160; &#160; &#160; &#160; &#160; &lt;group num=&quot;5&quot; value=&quot;{ regex-group(5) }&quot;/&gt;
&#160; &#160; &#160; &#160; &#160; &lt;group num=&quot;6&quot; value=&quot;{ regex-group(6) }&quot;/&gt;
&#160; &#160; &#160; &#160; &#160; &lt;group num=&quot;7&quot; value=&quot;{ regex-group(7) }&quot;/&gt;
&#160; &#160; &#160; &#160;&lt;/xsl:matching-substring&gt;
&#160; &#160; &lt;/xsl:analyze-string&gt;

returns the following:

&#160; &#160; &lt;group num=&quot;0&quot; value=&quot;a:b;c:d;&quot;/&gt;
&#160; &#160; &lt;group num=&quot;1&quot; value=&quot;c:d;&quot;/&gt;
&#160; &#160; &lt;group num=&quot;2&quot; value=&quot;c&quot;/&gt;
&#160; &#160; &lt;group num=&quot;3&quot; value=&quot;d&quot;/&gt;
&#160; &#160; &lt;group num=&quot;4&quot; value=&quot;&quot;/&gt;
&#160; &#160; &lt;group num=&quot;5&quot; value=&quot;&quot;/&gt;
&#160; &#160; &lt;group num=&quot;6&quot; value=&quot;&quot;/&gt;
&#160; &#160; &lt;group num=&quot;7&quot; value=&quot;&quot;/&gt;

when I would have expected the following instead:

&#160; &#160; &lt;group num=&quot;0&quot; value=&quot;a:b;c:d;&quot;/&gt;
&#160; &#160; &lt;group num=&quot;1&quot; value=&quot;a:b;&quot;/&gt;
&#160; &#160; &lt;group num=&quot;2&quot; value=&quot;a&quot;/&gt;
&#160; &#160; &lt;group num=&quot;3&quot; value=&quot;b&quot;/&gt;
&#160; &#160; &lt;group num=&quot;4&quot; value=&quot;c:d;&quot;/&gt;
&#160; &#160; &lt;group num=&quot;5&quot; value=&quot;c&quot;/&gt;
&#160; &#160; &lt;group num=&quot;6&quot; value=&quot;d&quot;/&gt;
&#160; &#160; &lt;group num=&quot;7&quot; value=&quot;&quot;/&gt;

&#160; That is, I expected the regex-groups to match the &quot;dynamic&quot;
number of groups, instead of the strict &quot;static&quot; or &quot;lexical&quot;
group numbering from the regex string. &#160;I thought that was what
I was used to in Perl and other tools, by I can't recall for
sure, and I didn't find a definitive answer in the spec.

&#160; Are my expectations wrong? &#160;If yes why? &#160;And if yes, is there
any general solution to this problem? (by &quot;general&quot;, I mean not
recursing on the string and using substring on ';' because here
this is a simple delimiter)

&#160; BTW, tested with Saxon HE 9.3.0.5 and 9.4.0.2.

&#160; Regards,

--&#160;
Florent Georges
http://fgeorges.org/
http://h2oconsulting.be/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324362.html</link>
</item><item>
<title>Re: [xsl] Need debug help xslt+svg - 2/1/2012 1:02:00 PM</title>
<description><![CDATA[<pre>Hermann Stamm-Wilbrandt wrote:

&gt; The problem I need debug help is step 6 of the animation:
&gt; http://stamm-wilbrandt.de/en/xsl-list/cube/snake.00.xml
&gt;
&gt; Clicking on the link gives you the start. The clicking next 5 times
&gt; gives fine results. When clicking the 6th time you can see the
&gt; problem, one of the cubes is not rotated correctly.

I am not sure I understand the problem but you seem to do something like
   &lt;xsl:if test=&quot;document($nxt)&quot;&gt;
in there and with MSXML I think you get a fatal transformation error if 
the document you are trying to load (i.e. snake.07.xml) does not exist.



-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324359.html</link>
</item><item>
<title>[xsl] Need debug help xslt+svg - 2/1/2012 11:52:00 AM</title>
<description><![CDATA[<pre>Hello,

last year I visited a science museum with my kids.
There was an area with different puzzles.
I liked the &quot;snake cube&quot; puzzle, 27 wooden cubes hold together by an
elastic band (not visible), see this photo:
http://stamm-wilbrandt.de/en/xsl-list/cube/111029_140526.jpg

The task was to fold the cubes to finally build a 3x3x3 cube.
We bought a small version of that puzzle at the museum shop.

I was able to solve the puzzle and wanted to do a 3D demonstration
of the solution steps. I was really surprised how easy it is to
generate graphics in the browser with SVG. I did a handmade 3D view
by drawing the little cubes in the right order resulting in
removal of all hidden stuff. Of course this was done with XSLT.
Although I do not use IE browser I installed IE9 on my home
computer just to verify that it really can display SVG.
By David Carlisle's exslt-node-set-function blog posting the
exslt:node-set() calls work fine even in IE.

The problem I need debug help is step 6 of the animation:
http://stamm-wilbrandt.de/en/xsl-list/cube/snake.00.xml

Clicking on the link gives you the start. The clicking next 5 times
gives fine results. When clicking the 6th time you can see the
problem, one of the cubes is not rotated correctly.

This happens exactly when the cube id of the cube where the rotation
should be done decreases for the first time.

This is a smaller example for debugging, problem in 2nd step:
http://stamm-wilbrandt.de/en/xsl-list/cube/small.00.xml

I added xsl:message output to view.xsl and the problem is that the
3rd cube does not get the coordinates which are correctly computed
for step 1 as basis for step 2.
I have no idea why this happens and appreciate any help.

Interestingly IE9 does not do step 2 but reports an XSLT execution
error in browser console, but no details on where&amp;why.


This is console output for small.01.xml:
xsl:message - 1:0/0/0 : id0x000000000261afc0 | 0/0/1 : id0x000000000261b000
| 0/0/2 : id0x000000000261b040 | 1/0/2 : id0x000000000261af80 |
xsl:message - 0:1/-1/0 : id0x00000000051dd040 | 1/-1/1 :
id0x00000000051dd5c0 | 1/-1/2 : id0x00000000053d8940 | 1/0/2 :
id0x00000000053d8a40 |

1/-1/2 is correct coordinate after first rotation for 3rd cube.


This is console output for small.02.xml:
xsl:message - 2:0/0/0 : id0x000000000bb3b680 | 0/0/1 : id0x000000000bb3b740
| 0/0/2 : id0x000000000bb3b7c0 | 1/0/2 : id0x000000000bb3b540 |
xsl:message - 1:1/-1/0 : id0x000000000de03380 | 1/-1/1 :
id0x000000000de03480 | 0/0/2 : id0x000000000de03940 | 1/0/2 :
id0x000000000de23140 |
xsl:message - 0:3/-1/2 : id0x000000000e9fa680 | 2/-1/2 :
id0x000000000e9fac40 | 0/0/2 : id0x000000000ea01040 | 1/0/2 :
id0x000000000ea01140 |

The 3rd cube in middle line is 0/0/2 but should be 1/-1/2 ...


All files are available under http://stamm-wilbrandt.de/en/xsl-list/cube

ftp&gt; dir
227 Entering Passive Mode (93,90,177,145,163,97).
150 Opening ASCII mode data connection for file list
drwxr-xr-x   2 web138   web138       4096 Feb  1 11:09 .
drwxr-xr-x  20 web138   web138       4096 Dec  1 10:12 ..
-rw-r--r--   1 web138   web138     178592 Feb  1 11:09 111029_140526.jpg
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 small.00.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 small.01.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 small.02.xml
-rw-r--r--   1 web138   web138       1452 Feb  1 10:47 small.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 snake.00.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 snake.01.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 snake.02.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 snake.03.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 snake.04.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 snake.05.xml
-rw-r--r--   1 web138   web138         88 Feb  1 10:47 snake.06.xml
-rw-r--r--   1 web138   web138       1452 Feb  1 10:47 snake.xml
-rw-r--r--   1 web138   web138       7370 Feb  1 10:47 view.xsl
226 Transfer complete.
ftp&gt;




Mit besten Gruessen / Best wishes,

Hermann Stamm-Wilbrandt
Level 3 support for XML Compiler team, Fixpack team lead
WebSphere DataPower SOA Appliances
https://www.ibm.com/developerworks/mydeveloperworks/blogs/HermannSW/
----------------------------------------------------------------------
IBM Deutschland Research &amp; Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201202/msg1000324357.html</link>
</item><item>
<title>RE: [xsl] Last name first - 1/31/2012 1:07:00 PM</title>
<description><![CDATA[<pre>As others have said, this can be an intractable problem unless the names really are only in the format FirstName MiddleInitial LastName in your data. You need to bear in mind names like &quot;Michael O'Connell&quot; or &quot;Mary da Silva&quot;.

You can find some food for thought here: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/


-----Original Message-----
From: Michael Kay [mailto:mike@saxonica.com]
Sent: 30 January 2012 18:21
To: xsl-list@lists.mulberrytech.com
Subject: Re: [xsl] Last name first

On 30/01/2012 17:51, Jacob L wrote:
&gt; All,
&gt;
&gt;
&gt; I am using&lt;xsl:stylesheet version=&quot;2.0&quot; .If in the input XML file,
&gt; the text in the&lt;p&gt;has a name such as
&gt;
&gt; &lt;p&gt;  Aaron S. Williams&lt;/p&gt;
&gt;
&gt; and I want the last name to come first, seperated by comma like this
&gt;
&gt; &lt;p&gt;  Williams, Aaron S.&lt;/p&gt;
&gt;
&gt; Is it possible using xslt?
It's certainly possible if you can specify precisely what the rules are:
for example, what you want to happen to names like Herbert von Karajan
or Ralph Vaughan Williams. If all your names are in the simplified
American format of John X. Doe then it's fairly easy, but with real
names occurring in the real world it's much harder (regardless of what
programming language you choose).

Michael Kay
Saxonica
&gt;


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--


______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324349.html</link>
</item><item>
<title>Re: [xsl] Last name first - 1/30/2012 6:21:00 PM</title>
<description><![CDATA[<pre>On 30/01/2012 17:51, Jacob L wrote:
&gt; All,
&gt;
&gt;
&gt; I am using&lt;xsl:stylesheet version=&quot;2.0&quot; .If in the input XML file,
&gt; the text in the&lt;p&gt;has a name such as
&gt;
&gt; &lt;p&gt;  Aaron S. Williams&lt;/p&gt;
&gt;
&gt; and I want the last name to come first, seperated by comma like this
&gt;
&gt; &lt;p&gt;  Williams, Aaron S.&lt;/p&gt;
&gt;
&gt; Is it possible using xslt?
It's certainly possible if you can specify precisely what the rules are: 
for example, what you want to happen to names like Herbert von Karajan 
or Ralph Vaughan Williams. If all your names are in the simplified 
American format of John X. Doe then it's fairly easy, but with real 
names occurring in the real world it's much harder (regardless of what 
programming language you choose).

Michael Kay
Saxonica
&gt;


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324341.html</link>
</item><item>
<title>Re: [xsl] Last name first - 1/30/2012 5:58:00 PM</title>
<description><![CDATA[<pre>Jacob L wrote:

&gt; I am using&lt;xsl:stylesheet version=&quot;2.0&quot; .If in the input XML file,
&gt; the text in the&lt;p&gt;has a name such as
&gt;
&gt; &lt;p&gt;  Aaron S. Williams&lt;/p&gt;
&gt;
&gt; and I want the last name to come first, seperated by comma like this
&gt;
&gt; &lt;p&gt;  Williams, Aaron S.&lt;/p&gt;
&gt;
&gt; Is it possible using xslt?

Look into xsl:analyze-string http://www.w3.org/TR/xslt20/#analyze-string.
If you need help with precise code then please first explain in more 
detail whether you expect &quot;p&quot; elements to solely contain names or 
whether you want to look for names in some more complex content.

-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324340.html</link>
</item><item>
<title>[xsl] Last name first - 1/30/2012 5:52:00 PM</title>
<description><![CDATA[<pre>All,


I am using &lt;xsl:stylesheet version=&quot;2.0&quot; .If in the input XML file,
the text in the &lt;p&gt;has a name such as

&lt;p&gt; Aaron S. Williams &lt;/p&gt;

and I want the last name to come first, seperated by comma like this

&lt;p&gt; Williams, Aaron S. &lt;/p&gt;

Is it possible using xslt?If yes, could i have the code plz.

Thanks in advance.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324339.html</link>
</item><item>
<title>Re: [xsl] Apply transform to document collection and summarize - 1/30/2012 1:16:00 PM</title>
<description><![CDATA[<pre>Thank you Ken, very clear.

I'll give it a whirl and get back, likely tomorrow.

Sean Tiley

On Sun, Jan 29, 2012 at 4:37 PM, G. Ken Holman
&lt;gkholman@cranesoftwrights.com&gt; wrote:
&gt; At 2012-01-29 16:28 -0500, Sean Tiley wrote:
&gt;&gt;
&gt;&gt; Hello,
&gt;&gt; I currently have a template that successfully processes a single xml file.
&gt;&gt;
&gt;&gt; XSLT version 2
&gt;&gt; Using Saxon-SA 9.1.0.7,
&gt;&gt;
&gt;&gt;
&gt;&gt; I would like to iterate through a folder of XML source documents and
&gt;&gt; create a single output file
&gt;
&gt;
&gt; The XSLT 2 concept you are looking for is &quot;collections&quot;. &#160;There are no
&gt; standardized URI strings to represent a collection, but Saxon's URI
&gt; convention is straightforward.
&gt;
&gt; You don't show us your data format, but your example could be modified along
&gt; the lines of:
&gt;
&gt;
&gt;&gt; My template that successfully processes my source file is
&gt;&gt;
&gt;&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&gt;&gt; &lt;xsl:stylesheet version=&quot;2.0&quot;
&gt;&gt; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;
&gt;&gt;
&gt;&gt; &lt;xsl:template match=&quot;Account&quot;&gt;
&gt;
&gt;
&gt; You now want to do the logic at the start of processing, so match=&quot;/&quot;.
&gt;
&gt;
&gt;&gt; &lt;html&gt;
&gt;&gt; &#160; &#160; &#160; &lt;body&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;h2&gt;LogEntries&lt;/h2&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160;&lt;table border=&quot;1&quot;&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160;&lt;tr bgcolor=&quot;#9acd32&quot;&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;th&gt;Column1&lt;/th&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;th&gt;Column2&lt;/th&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160;&lt;/tr&gt;
&gt;
&gt;
&gt; At this point you now want to walk all XML files and, I assume, process the
&gt; document element named &quot;Account&quot; in each one as a row:
&gt;
&gt; &#160;&lt;xsl:for-each select=&quot;collection('./?select=*.xml')/Account&quot;&gt;
&gt;
&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160;&lt;tr&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;td&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:value-of select=&quot;Firstname&quot;/&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;/td&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;td&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;xsl:value-of select=&quot;Lastname&quot;/&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;/td&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160; &#160;&lt;/tr&gt;
&gt;
&gt;
&gt; &#160;&lt;/xsl:for-each&gt;
&gt;
&gt;
&gt;&gt; &#160; &#160; &#160; &#160; &#160;&lt;/table&gt;
&gt;&gt; &#160; &#160; &#160; &lt;/body&gt;
&gt;&gt; &lt;/html&gt;
&gt;&gt; &lt;/xsl:template&gt;
&gt;&gt;
&gt;&gt; &lt;/xsl:stylesheet&gt;
&gt;&gt;
&gt;&gt; The output I want is basically a single html file
&gt;&gt; that includes a table with 2 columns
&gt;&gt;
&gt;&gt; Column1 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Column2
&gt;&gt; Firstname1 &#160; &#160; &#160;Lastname1 &#160; &#160; &#160;(info from file1)
&gt;&gt; Firstname2 &#160; &#160; &#160;Lastname2 &#160; &#160; &#160;(info from file2)
&gt;&gt; Firstname3 &#160; &#160; &#160;Lastname3 &#160; &#160; &#160;(info from file3)
&gt;&gt;
&gt;&gt;
&gt;&gt; etc...
&gt;&gt;
&gt;&gt; Not clear this is possible.
&gt;
&gt;
&gt; It certainly is.
&gt;
&gt;
&gt;&gt; I could code it in Java / C# to iterate
&gt;&gt; the docs but kinda feels like it should be possible with just XSLT
&gt;&gt; Any insight or reading would be appreciated.
&gt;
&gt;
&gt; I hope the above helps. &#160;Check the Saxon documentation for all of the
&gt; features of the URI for collections.
&gt;
&gt; . . . . . . . . . . Ken
&gt;
&gt; --
&gt; Contact us for world-wide XML consulting and instructor-led training
&gt; Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
&gt; Crane Softwrights Ltd. &#160; &#160; &#160; &#160; &#160; &#160;http://www.CraneSoftwrights.com/s/
&gt; G. Ken Holman &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; mailto:gkholman@CraneSoftwrights.com
&gt; Google+ profile: https://plus.google.com/116832879756988317389/about
&gt; Legal business disclaimers: &#160; &#160;http://www.CraneSoftwrights.com/legal
&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Sean Tiley
sean.tiley@gmail.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324330.html</link>
</item><item>
<title>Re: [xsl] Apply transform to document collection and summarize - 1/29/2012 9:40:00 PM</title>
<description><![CDATA[<pre>At 2012-01-29 16:28 -0500, Sean Tiley wrote:
&gt;Hello,
&gt;I currently have a template that successfully processes a single xml file.
&gt;
&gt;XSLT version 2
&gt;Using Saxon-SA 9.1.0.7,
&gt;
&gt;
&gt;I would like to iterate through a folder of XML source documents and
&gt;create a single output file

The XSLT 2 concept you are looking for is &quot;collections&quot;.  There are 
no standardized URI strings to represent a collection, but Saxon's 
URI convention is straightforward.

You don't show us your data format, but your example could be 
modified along the lines of:

&gt;My template that successfully processes my source file is
&gt;
&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&gt;&lt;xsl:stylesheet version=&quot;2.0&quot; 
&gt;xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;
&gt;
&gt;&lt;xsl:template match=&quot;Account&quot;&gt;

You now want to do the logic at the start of processing, so match=&quot;/&quot;.

&gt;&lt;html&gt;
&gt;        &lt;body&gt;
&gt;                &lt;h2&gt;LogEntries&lt;/h2&gt;
&gt;           &lt;table border=&quot;1&quot;&gt;
&gt;             &lt;tr bgcolor=&quot;#9acd32&quot;&gt;
&gt;                  &lt;th&gt;Column1&lt;/th&gt;
&gt;                  &lt;th&gt;Column2&lt;/th&gt;
&gt;             &lt;/tr&gt;

At this point you now want to walk all XML files and, I assume, 
process the document element named &quot;Account&quot; in each one as a row:

   &lt;xsl:for-each select=&quot;collection('./?select=*.xml')/Account&quot;&gt;

&gt;             &lt;tr&gt;
&gt;                  &lt;td&gt;
&gt;                    &lt;xsl:value-of select=&quot;Firstname&quot;/&gt;
&gt;                  &lt;/td&gt;
&gt;                  &lt;td&gt;
&gt;                    &lt;xsl:value-of select=&quot;Lastname&quot;/&gt;
&gt;                &lt;/td&gt;
&gt;             &lt;/tr&gt;

   &lt;/xsl:for-each&gt;

&gt;           &lt;/table&gt;
&gt;        &lt;/body&gt;
&gt;&lt;/html&gt;
&gt;&lt;/xsl:template&gt;
&gt;
&gt;&lt;/xsl:stylesheet&gt;
&gt;
&gt;The output I want is basically a single html file
&gt;that includes a table with 2 columns
&gt;
&gt;Column1                    Column2
&gt;Firstname1      Lastname1      (info from file1)
&gt;Firstname2      Lastname2      (info from file2)
&gt;Firstname3      Lastname3      (info from file3)
&gt;
&gt;
&gt;etc...
&gt;
&gt;Not clear this is possible.

It certainly is.

&gt;I could code it in Java / C# to iterate
&gt;the docs but kinda feels like it should be possible with just XSLT
&gt;Any insight or reading would be appreciated.

I hope the above helps.  Check the Saxon documentation for all of the 
features of the URI for collections.

. . . . . . . . . . Ken

--
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour video lecture: XSLT/XPath 1.0 &amp; 2.0 http://ude.my/uoui9h
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
G. Ken Holman                   mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324321.html</link>
</item><item>
<title>[xsl] Apply transform to document collection and summarize results in - 1/29/2012 9:28:00 PM</title>
<description><![CDATA[<pre>Hello,
I currently have a template that successfully processes a single xml file.

XSLT version 2
Using Saxon-SA 9.1.0.7,


I would like to iterate through a folder of XML source documents and
create a single output file

My template that successfully processes my source file is

&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;xsl:stylesheet version=&quot;2.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;

&lt;xsl:template match=&quot;Account&quot;&gt;
&lt;html&gt;
        &lt;body&gt;
                &lt;h2&gt;LogEntries&lt;/h2&gt;
           &lt;table border=&quot;1&quot;&gt;
             &lt;tr bgcolor=&quot;#9acd32&quot;&gt;
                  &lt;th&gt;Column1&lt;/th&gt;
                  &lt;th&gt;Column2&lt;/th&gt;
             &lt;/tr&gt;
             &lt;tr&gt;
                  &lt;td&gt;
                    &lt;xsl:value-of select=&quot;Firstname&quot;/&gt;
                  &lt;/td&gt;
                  &lt;td&gt;
                    &lt;xsl:value-of select=&quot;Lastname&quot;/&gt;
                &lt;/td&gt;
             &lt;/tr&gt;
           &lt;/table&gt;
        &lt;/body&gt;
&lt;/html&gt;
&lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;



The output I want is basically a single html file
that includes a table with 2 columns

Column1                    Column2
Firstname1      Lastname1      (info from file1)
Firstname2      Lastname2      (info from file2)
Firstname3      Lastname3      (info from file3)


etc...

Not clear this is possible.  I could code it in Java / C# to iterate
the docs but kinda feels like it should be possible with just XSLT
Any insight or reading would be appreciated.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324320.html</link>
</item><item>
<title>Re: [xsl] XQuery 3.0 and maps in Saxon - 1/28/2012 9:29:00 PM</title>
<description><![CDATA[<pre>It seems to me that the OP wants to be provided with a simple but
complete working XQuery example, that uses Saxon's maps.

He seems to have syntactic difficulties.

Or, is the maps feature implemented only in the XSLT processor?

Cheers,

Dimitre Novatchev.

On Sat, Jan 28, 2012 at 11:30 AM, Michael Kay &lt;mike@saxonica.com&gt; wrote:
&gt;
&gt; On 28/01/2012 16:34, Jakub Maly wrote:
&gt;&gt;
&gt;&gt; I would like to experiment with map features in Saxon (http://www.saxonica.com/documentation/expressions/xpath30maps.xml), but I am unable to get past query compilation. Maybe I am missing some parameter or I use a wrong namespace, but I just can't find the right answer. This is my query code:
&gt;&gt;
&gt;&gt;
&gt; Unfortunately, maps as implemented in Saxon-PE 9.4 (both XSLT and XQuery) are not documented either in any published W3C working draft, nor in the Saxon documentation. I have remedied this by placing a specification at:
&gt;
&gt; http://dev.saxonica.com/blog/mike/2012/01/#000188
&gt;
&gt; Any resemblance to any spec that might be published by some future W3C working group is entirely serendipitous.
&gt;
&gt; Michael Kay
&gt; Saxonica
&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#194;&#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324311.html</link>
</item><item>
<title>Re: [xsl] XQuery 3.0 and maps in Saxon - 1/28/2012 7:31:00 PM</title>
<description><![CDATA[<pre>On 28/01/2012 16:34, Jakub Maly wrote:
&gt; I would like to experiment with map features in Saxon (http://www.saxonica.com/documentation/expressions/xpath30maps.xml), but I am unable to get past query compilation. Maybe I am missing some parameter or I use a wrong namespace, but I just can't find the right answer. This is my query code:
&gt;
&gt;
Unfortunately, maps as implemented in Saxon-PE 9.4 (both XSLT and 
XQuery) are not documented either in any published W3C working draft, 
nor in the Saxon documentation. I have remedied this by placing a 
specification at:

http://dev.saxonica.com/blog/mike/2012/01/#000188

Any resemblance to any spec that might be published by some future W3C 
working group is entirely serendipitous.

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324310.html</link>
</item><item>
<title>Re: [xsl] XQuery 3.0 and maps in Saxon - 1/28/2012 4:40:00 PM</title>
<description><![CDATA[<pre>Jakub Maly wrote:
&gt;
&gt; I would like to experiment with map features in Saxon (http://www.saxonica.com/documentation/expressions/xpath30maps.xml), but I am unable to get past query compilation. Maybe I am missing some parameter or I use a wrong namespace, but I just can't find the right answer. This is my query code:
&gt;
&gt; xquery version &quot;3.0&quot;;

This is the XSL mailing list, I don't think XQuery is on topic here. 
There is an XQuery mailing list and Saxon also has its own mailing list 
where you can ask.


-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324308.html</link>
</item><item>
<title>[xsl] XQuery 3.0 and maps in Saxon - 1/28/2012 4:35:00 PM</title>
<description><![CDATA[<pre>I would like to experiment with map features in Saxon (http://www.saxonica.com/documentation/expressions/xpath30maps.xml), but I am unable to get past query compilation. Maybe I am missing some parameter or I use a wrong namespace, but I just can't find the right answer. This is my query code:
 
xquery version &quot;3.0&quot;;
(: i have also tried http://www.w3.org/2005/xpath-functions/map, no difference :) 
import module namespace map = &quot;http://ns.saxonica.com/map&quot;;
map:get(map { 1 := 'aaa'}, 1)
 
invoked from command line:
&quot;c:\Program Files\Saxonica\SaxonEE9.4N\bin\Query.exe&quot; -s:play.xml -q:play2.xq&quot; -qversion:3.0
 
The commands ends with error:
Cannot locate module for namespace &quot;http://ns.saxonica.com/map&quot;
When I leave out the module namespace map declaration, the error is 
Prefix map has not been declared, 
so I assume the namespace declaration must be there...

________________________________________
Jakub Mal&#195;&#189;
Ph. D. candidate
XML Research Group
Department of Software Engineering
Faculty of Mathematics and Physics
Charles University in Prague, Czech Republic 
www.jakubmaly.cz

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324307.html</link>
</item><item>
<title>Re: [xsl] To self or not to self - 1/27/2012 3:25:00 PM</title>
<description><![CDATA[<pre>&gt; //figure/preceding-sibling::*[1][figure]

The default axis is &quot;child::&quot;, so this should be the same as

//figure/preceding-sibling::*[1][child::figure]


But you said you want the &lt;figure&gt; that has an immediate preceeding
sibling. The path

//figure/preceding-sibling::*[1][self::figure]

picks up the preceding sibling itself, not the &lt;figure&gt; that has the
preceding sibling. Perhaps you want something like

//figure[preceding-sibling::*[1][self::figure]]


&gt; I wanted to isolate the figure element that has a figure as an
&gt; immediate preceding sibling.
&gt; 
&gt;        &lt;section role=&quot;All_models&quot;&gt;
&gt;             &lt;title&gt;All models&lt;/title&gt;
&gt;             &lt;figure role=&quot;Harness_multi-plug&quot;&gt;
&gt;                 &lt;title&gt;ECU harness multi-plug&lt;/title&gt;
&gt;                 &lt;mediaobject&gt;
&gt;                     &lt;imageobject&gt;
&gt;                         &lt;imagedata fileref=&quot;78650&quot;/&gt;
&gt;                     &lt;/imageobject&gt;
&gt;                 &lt;/mediaobject&gt;
&gt;             &lt;/figure&gt;
&gt;             &lt;figure role=&quot;Circuit_diagram&quot;&gt;
&gt;                 &lt;title&gt;System circuit diagram&lt;/title&gt;
&gt;                 &lt;mediaobject&gt;
&gt;                     &lt;imageobject&gt;
&gt;                         &lt;imagedata fileref=&quot;31544&quot;/&gt;
&gt;                     &lt;/imageobject&gt;
&gt;                 &lt;/mediaobject&gt;
&gt;             &lt;/figure&gt;
&gt;         &lt;/section&gt;
&gt; 
&gt; I settled on //figure/preceding-sibling::*[1][figure] but it gave back
&gt; nothing and would only work when I used the explicit form of the self
&gt; axis.
&gt; 
&gt; I settled on //figure/preceding-sibling::*[1][self::figure]
&gt; 
&gt; However if I want the title element immediately preceding figure I
&gt; don't need to use the explicit form. This works
&gt; 
&gt; //figure/preceding-sibling::*[1][title]
&gt; 
&gt; So what is going on in this particular case (because I don't
&gt; understand the difference), and in general when is explicit self
&gt; required.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324300.html</link>
</item><item>
<title>Re: [xsl] To self or not to self - 1/27/2012 3:22:00 PM</title>
<description><![CDATA[<pre>ihe onwuka wrote:
&gt; I wanted to isolate the figure element that has a figure as an
&gt; immediate preceding sibling.
&gt;
&gt;         &lt;section role=&quot;All_models&quot;&gt;
&gt;              &lt;title&gt;All models&lt;/title&gt;
&gt;              &lt;figure role=&quot;Harness_multi-plug&quot;&gt;
&gt;                  &lt;title&gt;ECU harness multi-plug&lt;/title&gt;
&gt;                  &lt;mediaobject&gt;
&gt;                      &lt;imageobject&gt;
&gt;                          &lt;imagedata fileref=&quot;78650&quot;/&gt;
&gt;                      &lt;/imageobject&gt;
&gt;                  &lt;/mediaobject&gt;
&gt;              &lt;/figure&gt;
&gt;              &lt;figure role=&quot;Circuit_diagram&quot;&gt;
&gt;                  &lt;title&gt;System circuit diagram&lt;/title&gt;
&gt;                  &lt;mediaobject&gt;
&gt;                      &lt;imageobject&gt;
&gt;                          &lt;imagedata fileref=&quot;31544&quot;/&gt;
&gt;                      &lt;/imageobject&gt;
&gt;                  &lt;/mediaobject&gt;
&gt;              &lt;/figure&gt;
&gt;          &lt;/section&gt;
&gt;
&gt; I settled on //figure/preceding-sibling::*[1][figure] but it gave back
&gt; nothing and would only work when I used the explicit form of the self
&gt; axis.

Well [figure] checks wether there is a child element named figure, not 
whether the element itself is a figure element.

&gt; I settled on //figure/preceding-sibling::*[1][self::figure]
&gt;
&gt; However if I want the title element immediately preceding figure I
&gt; don't need to use the explicit form. This works
&gt;
&gt; //figure/preceding-sibling::*[1][title]
&gt;
&gt; So what is going on in this particular case (because I don't
&gt; understand the difference), and in general when is explicit self
&gt; required.

The same here, [title] checks whether there is a child element named 
&quot;title&quot;, only in your XML that is the case.


-- 

	Martin Honnen --- MVP Data Platform Development
	http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324299.html</link>
</item><item>
<title>[xsl] To self or not to self - 1/27/2012 3:18:00 PM</title>
<description><![CDATA[<pre>I wanted to isolate the figure element that has a figure as an
immediate preceding sibling.

       &lt;section role=&quot;All_models&quot;&gt;
            &lt;title&gt;All models&lt;/title&gt;
            &lt;figure role=&quot;Harness_multi-plug&quot;&gt;
                &lt;title&gt;ECU harness multi-plug&lt;/title&gt;
                &lt;mediaobject&gt;
                    &lt;imageobject&gt;
                        &lt;imagedata fileref=&quot;78650&quot;/&gt;
                    &lt;/imageobject&gt;
                &lt;/mediaobject&gt;
            &lt;/figure&gt;
            &lt;figure role=&quot;Circuit_diagram&quot;&gt;
                &lt;title&gt;System circuit diagram&lt;/title&gt;
                &lt;mediaobject&gt;
                    &lt;imageobject&gt;
                        &lt;imagedata fileref=&quot;31544&quot;/&gt;
                    &lt;/imageobject&gt;
                &lt;/mediaobject&gt;
            &lt;/figure&gt;
        &lt;/section&gt;

I settled on //figure/preceding-sibling::*[1][figure] but it gave back
nothing and would only work when I used the explicit form of the self
axis.

I settled on //figure/preceding-sibling::*[1][self::figure]

However if I want the title element immediately preceding figure I
don't need to use the explicit form. This works

//figure/preceding-sibling::*[1][title]

So what is going on in this particular case (because I don't
understand the difference), and in general when is explicit self
required.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324298.html</link>
</item><item>
<title>Re: [xsl] Different Font Size in a block - 1/24/2012 11:41:00 PM</title>
<description><![CDATA[<pre>Am 24.01.2012 23:19, schrieb Jesse Schaaf:
&gt; There has to be a simple answer to this one.
&gt; I have a block statement as such:
&gt; &lt;fo:block&gt;&amp;#x2022; = Utilization Management (UM) &lt;/fo:block&gt;
&gt;
&gt; However the bullet(or &amp;#x2022;) needs to be in a larger font. I know I 
&gt; can add font-size to the block statement but that would increase the 
&gt; other text inside the block which I do not want to do.
&gt;
&gt; I know this is not correct but here is what I am trying to do:
&gt; &lt;fo:block&gt;&lt;FONT line-height=&quot;13pt&quot; font-size=&quot;15pt&quot;&gt; &amp;#x2022;&lt;/FONT&gt; = 
&gt; Utilization Management (UM)&lt;/fo:block&gt;
&gt;
&gt; I tried using another block but it forces a line break. I know I can 
&gt; use a table with two cells however I have to believe there is a simple 
&gt; tag I can use for this?
&gt;
&gt;
Try fo:inline (http://www.w3schools.com/xslfo/obj_inline.asp)

Best regards,

Christian

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324288.html</link>
</item><item>
<title>[xsl] Different Font Size in a block - 1/24/2012 10:20:00 PM</title>
<description><![CDATA[<pre>There has to be a simple answer to this one.
I have a block statement as such:
&lt;fo:block&gt;&amp;#x2022; = Utilization Management (UM)		&lt;/fo:block&gt;

However the bullet(or &amp;#x2022;) needs to be in a larger font. I know I 
can add font-size to the block statement but that would increase the 
other text inside the block which I do not want to do.

I know this is not correct but here is what I am trying to do:
&lt;fo:block&gt;&lt;FONT line-height=&quot;13pt&quot; font-size=&quot;15pt&quot;&gt; &amp;#x2022;&lt;/FONT&gt; = 
Utilization Management (UM)&lt;/fo:block&gt;

I tried using another block but it forces a line break. I know I can use 
a table with two cells however I have to believe there is a simple tag I 
can use for this?


-- 
Jesse Schaaf
Schaafnet Consulting
www.schaafnet.com
952-463-7625

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324287.html</link>
</item><item>
<title>Re: [xsl] XSL:FO - How to group on a preceeding-sibling value - 1/24/2012 8:40:00 PM</title>
<description><![CDATA[<pre>Hi Chris,

If using XSLT 2.0 (and why not?), you should look up xsl:for-each-group, 
which as the name implies is designed to support grouping.

If you are using XSLT 1.0 and don't have this option, there are several 
others, all of which share a single characteristic: they are less 
graceful than xsl:for-each-group.

The method you are attempting might be one of them, except for one 
thing. XPath ($nodesetA != $nodesetB) returns true if any member of 
$nodesetA is unequal to any member of $nodesetB.

You want not(mainGroupCodes = preceding-sibling::*/mainGroupCodes), 
which returns false as long as the value of mainGroupCodes is equal to 
the value of any of preceding-sibling::*/mainGroupCodes.

There is a subtle but important difference there.

Cheers,
Wendell

On 1/24/2012 10:17 AM, Chris Booth wrote:
&gt; Hi,
&gt;
&gt; I am after a litte bit guidance and help please.
&gt;
&gt; Using XSL:FO I need to be able to group parts of my data together.
&gt;
&gt;&gt; From the XML below, I am looking for a way where I loop over Lines/Line and based on the value in LineGroup/GroupCode, if it's the first occurance then display the GroupDescription.
&gt;
&gt; I am trying all sorts of variations on the below but with no joy-
&gt; &lt;xsl:if test=&quot;mainGroupCodes != preceding-sibling::*/mainGroupCodes&quot;&gt;
&gt; DISPLAY GROUP DESC
&gt; &lt;/xsl:if&gt;
&gt;
&gt; REQUIRED OUTPUT:
&gt; Main Group One
&gt; 	LINE DATA
&gt; 	LINE DATA
&gt;
&gt;
&gt; Main Group Three
&gt; 	LINE DATA
&gt; 	LINE DATA
&gt;
&gt; Sub Group 1
&gt; 	LINE DATA
&gt; 	LINE DATA
&gt;
&gt; SAMPLE XML:
&gt; &lt;Lines Type=&quot;Quote&quot;&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;1.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;14.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;1&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;1&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;14.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;1&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Main Group One&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;1&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;2&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;8000.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;8000.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;31.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;16.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;10&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;3&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;16.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;3&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Main Group Three&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;3&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;4&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;518.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;3806.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;2.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;16.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;11&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;3&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;16.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;3&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Main Group Three&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;3&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;4&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;518.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;3806.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;13.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;12&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;14.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;13&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;15.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;14&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;17.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;15&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;23.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;16&lt;/LineDisplaySequence&gt;
&gt; 		&lt;OriginalOrderLine&gt;0.00&lt;/OriginalOrderLine&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;24.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;20.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;17&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;20.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4.2&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Subgroup 2&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;0.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;25.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;20.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;18&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;20.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4.2&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Subgroup 2&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;0.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;9.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;21.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;19&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;21.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4.3&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Sub group 3&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;500.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;20.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;14.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;2&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;1&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;14.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;1&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Main Group One&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;1&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;2&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;8000.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;8000.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; 	&lt;Line Type=&quot;Quote&quot;&gt;
&gt; 		&lt;DocumentLine&gt;8.00&lt;/DocumentLine&gt;
&gt; 		&lt;LineGroup&gt;18.00&lt;/LineGroup&gt;
&gt; 		&lt;LineDisplaySequence&gt;20&lt;/LineDisplaySequence&gt;
&gt; 		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
&gt; 		&lt;LineGroup&gt;
&gt; 			&lt;GroupId&gt;18.00&lt;/GroupId&gt;
&gt; 			&lt;GroupCode&gt;4&lt;/GroupCode&gt;
&gt; 			&lt;GroupDescription&gt;Main Group 4&lt;/GroupDescription&gt;
&gt; 			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
&gt; 			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
&gt; 			&lt;SubGroupLineValueTotal&gt;1574.00&lt;/SubGroupLineValueTotal&gt;
&gt; 			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
&gt; 		&lt;/LineGroup&gt;
&gt; 	&lt;/Line&gt;
&gt; &lt;/Lines&gt;

-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324286.html</link>
</item><item>
<title>[xsl] XSL:FO - How to group on a preceeding-sibling value - 1/24/2012 3:18:00 PM</title>
<description><![CDATA[<pre>Hi,

I am after a litte bit guidance and help please.

Using XSL:FO I need to be able to group parts of my data together.

From the XML below, I am looking for a way where I loop over Lines/Line and based on the value in LineGroup/GroupCode, if it's the first occurance then display the GroupDescription.

I am trying all sorts of variations on the below but with no joy-  
&lt;xsl:if test=&quot;mainGroupCodes != preceding-sibling::*/mainGroupCodes&quot;&gt;
DISPLAY GROUP DESC
&lt;/xsl:if&gt;

REQUIRED OUTPUT: 
Main Group One
	LINE DATA
	LINE DATA


Main Group Three
	LINE DATA
	LINE DATA

Sub Group 1
	LINE DATA
	LINE DATA

SAMPLE XML:
&lt;Lines Type=&quot;Quote&quot;&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;1.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;14.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;1&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;1&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;14.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;1&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Main Group One&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;1&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;2&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;8000.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;8000.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;31.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;16.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;10&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;3&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;16.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;3&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Main Group Three&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;3&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;4&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;518.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;3806.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;2.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;16.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;11&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;3&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;16.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;3&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Main Group Three&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;3&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;4&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;518.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;3806.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;13.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;12&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;14.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;13&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;15.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;14&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;17.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;15&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;23.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;19.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;16&lt;/LineDisplaySequence&gt;
		&lt;OriginalOrderLine&gt;0.00&lt;/OriginalOrderLine&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;19.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4.1&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Sub group 1&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;4960.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;24.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;20.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;17&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;20.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4.2&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Subgroup 2&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;0.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;25.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;20.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;18&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;20.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4.2&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Subgroup 2&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;0.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;9.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;21.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;19&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;21.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4.3&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Sub group 3&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;500.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;20.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;14.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;2&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;1&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;14.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;1&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Main Group One&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;1&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;2&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;8000.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;8000.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
	&lt;Line Type=&quot;Quote&quot;&gt;
		&lt;DocumentLine&gt;8.00&lt;/DocumentLine&gt;
		&lt;LineGroup&gt;18.00&lt;/LineGroup&gt;
		&lt;LineDisplaySequence&gt;20&lt;/LineDisplaySequence&gt;
		&lt;mainGroupCodes&gt;4&lt;/mainGroupCodes&gt;
		&lt;LineGroup&gt;
			&lt;GroupId&gt;18.00&lt;/GroupId&gt;
			&lt;GroupCode&gt;4&lt;/GroupCode&gt;
			&lt;GroupDescription&gt;Main Group 4&lt;/GroupDescription&gt;
			&lt;FloorGroup&gt;4&lt;/FloorGroup&gt;
			&lt;CeilingGroup&gt;5&lt;/CeilingGroup&gt;
			&lt;SubGroupLineValueTotal&gt;1574.00&lt;/SubGroupLineValueTotal&gt;
			&lt;AllGroupLineValueTotal&gt;7034.00&lt;/AllGroupLineValueTotal&gt;
		&lt;/LineGroup&gt;
	&lt;/Line&gt;
&lt;/Lines&gt;


________________________________________________________________________
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
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324285.html</link>
</item><item>
<title>Re: [xsl] Creating Bookmarks and 508 compliance - 1/24/2012 7:44:00 AM</title>
<description><![CDATA[<pre>You can use bookmark-tree
That works with FOP 1.0 (not sure it was supported earlier)
I definitely use that in FOP 1

&lt;fo:bookmark-tree&gt;
   &lt;fo:bookmark internal-destination=&quot;front-page-id&quot;&gt;
      &lt;fo:bookmark-title&gt;
        &lt;xsl:text&gt;Front Page Title&lt;/xsl:text&gt;
     &lt;/fo:bookmark-title&gt;
  &lt;/fo:bookmark&gt;
......

A bookmark has a title, an internal-destination (make sure the block 
you point to has a matching id)
and a bookmark can have other bookmarks as well (to make a hierarchical tree)

There is a way to set the bookmark tree to open with the document, 
but I need to check what that is exactly if that is important

cheers

Geert


At 02:13 24/01/2012, you wrote:
&gt;I am using FOP Apache to generate and publish a pdf from XML and 
&gt;need to create bookmarks so when you open the pdf in adobe the left 
&gt;menu will show links to sections in the document.
&gt;
&gt;I am told that the only way to do this is by using the extension 
&gt;fox:OUTLINE and fox:label elements. Are there any other options 
&gt;without using these extensions?
&gt;
&gt;This really is an effort to become 508 compliant. Basically this is 
&gt;a Government Standard that says any PDF that is published should be 
&gt;designed for the hearing impaired and the 508 compliance is a set of 
&gt;standards to adhere to. One of the requirements is that you have 
&gt;bookmarks on pdfs over 9 pages.
&gt;
&gt;
&gt;--
&gt;Jesse Schaaf
&gt;Schaafnet Consulting
&gt;www.schaafnet.com
&gt;952-463-7625
&gt;
&gt;--~------------------------------------------------------------------
&gt;XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt;To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt;or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt;--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324282.html</link>
</item><item>
<title>[xsl] Creating Bookmarks and 508 compliance - 1/24/2012 1:14:00 AM</title>
<description><![CDATA[<pre>I am using FOP Apache to generate and publish a pdf from XML and need to 
create bookmarks so when you open the pdf in adobe the left menu will 
show links to sections in the document.

I am told that the only way to do this is by using the extension 
fox:OUTLINE and fox:label elements. Are there any other options without 
using these extensions?

This really is an effort to become 508 compliant. Basically this is a 
Government Standard that says any PDF that is published should be 
designed for the hearing impaired and the 508 compliance is a set of 
standards to adhere to. One of the requirements is that you have 
bookmarks on pdfs over 9 pages.


-- 
Jesse Schaaf
Schaafnet Consulting
www.schaafnet.com
952-463-7625

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324281.html</link>
</item><item>
<title>Re: [xsl] monthNumber from monthName - 1/23/2012 7:27:00 PM</title>
<description><![CDATA[<pre>Hi,

On 1/21/2012 2:13 PM, was written:
&gt;
&gt; &lt;xsl:function as=&quot;xs:string&quot; name=&quot;d:getMonthName&quot;&gt;
&gt;     &lt;xsl:param name=&quot;monthName&quot;/&gt;
&gt;     &lt;xsl:variable name=&quot;monthNames&quot;
&gt;         select=&quot;('january','february','march','april','may','june','july','august','september','october','november','december')&quot;/&gt;
&gt;     &lt;xsl:sequence
&gt;         select=&quot;format-number(if (index-of($monthNames,$monthName) castable as xs:integer)
&gt;                             then index-of($monthNames,$monthName)
&gt;                             else 0,'00')&quot;
&gt;     /&gt;
&gt; &lt;/xsl:function&gt;

A bit of refactoring:

select=&quot;format-number((index-of($monthNames,$monthName),0)[1],'00')&quot;

It works since index-of() returns an empty sequence if the item argument 
is not included in the sequence argument.

Cheers,
Wendell

======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324279.html</link>
</item><item>
<title>Re: [xsl] how to achieve this ? - 1/23/2012 5:45:00 PM</title>
<description><![CDATA[<pre>In your future postings to XSL-List please provide an informative title or subject line. Good subject lines - those that describe the subject matter of your message - not only increase the chances that you will receive answers to questions or responses to comments, they also make your message and any replies to it accessible in the list archives.

A good way to write a subject line is to write the message first and then form the subject line from the phrase(s) in the text of the message that most clearly identify your topic. 

In this case, &quot;How to get unique IDs&quot; would have been far better than &quot;how to achieve this ?&quot;.

-- Tommie Usdin
   XSL-List Owner



On Jan 23, 2012, at 2:26 AM, Roelof Wobben wrote:

&gt; 
&gt; Hello, 
&gt; 
&gt; 
&gt; 
&gt; For a menu I have to take care that every &lt;menu class&gt; get a unique id.
&gt; 
&gt; I thought this would work : 
&gt; 
&gt; 
&gt; 
&gt; &lt;xsl:template match=&quot;year&quot;&gt;
&gt; &lt;ul class=&quot;menu&quot; id= &quot;concat ('menu', @value)&quot; &gt;
&gt;    &lt;li&gt;
&gt;    &lt;a href=&quot;#&quot;&gt; &lt;xsl:value-of select=&quot;@value&quot;/&gt; &lt;/a&gt;
&gt;      &lt;ul class=&quot;acitem&quot;&gt;
&gt;             &lt;xsl:apply-templates select=&quot;month&quot; /&gt;
&gt;      &lt;/ul&gt;
&gt;     &lt;/li&gt;
&gt; &lt;/ul&gt;
&gt; &lt;/xsl:template&gt;
&gt; 
&gt; 
&gt; But it don't work.
&gt; 
&gt; Do I have to use here &lt;xsl:value-of&gt; or is there a better way ?
&gt; 
&gt; 
&gt; 
&gt; Roelof
&gt; 
&gt; 
&gt;  		 	   		  
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt; 

====================================================================== 
B. Tommie Usdin                        mailto:btusdin@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com    
17 West Jefferson Street                           Phone: 301/315-9631 
Suite 207                                    Direct Line: 301/315-9634 
Rockville, MD  20850                                 Fax: 301/315-8285 
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML               
======================================================================


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324278.html</link>
</item><item>
<title>RE: [xsl] how to achieve this ? - 1/23/2012 11:10:00 AM</title>
<description><![CDATA[<pre>My apologies, disregard my previous email; it was a mistake.

Vojtech

&gt; -----Original Message-----
&gt; From: vojtech.toman@emc.com [mailto:vojtech.toman@emc.com]
&gt; Sent: Monday, January 23, 2012 12:02 PM
&gt; To: xsl-list@lists.mulberrytech.com
&gt; Subject: RE: [xsl] how to achieve this ?
&gt; 
&gt; :) Ty jsi ale plna dobrych napadu :)
&gt; 
&gt; &gt; -----Original Message-----
&gt; &gt; From: Andrew Welch [mailto:andrew.j.welch@gmail.com]
&gt; &gt; Sent: Monday, January 23, 2012 11:56 AM
&gt; &gt; To: xsl-list@lists.mulberrytech.com
&gt; &gt; Subject: Re: [xsl] how to achieve this ?
&gt; &gt;
&gt; &gt; On 23 January 2012 10:44, Michel Hendriksen &lt;michel.hendriksen@42.nl&gt;
&gt; &gt; wrote:
&gt; &gt; &gt; Sounds like HTML/javascript problem, is another list.
&gt; &gt;
&gt; &gt; Yeah it's not for this list... however I've been doing some html5 and
&gt; &gt; css3 recently (with jquery) and it's pretty amazing stuff.  It's a
&gt; &gt; huge leap forward.
&gt; &gt;
&gt; &gt; To bring it back to XSLT, I'm guessing there will be some new
&gt; &gt; serialisation options in 3.0 to accommodate it.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; --
&gt; &gt; Andrew Welch
&gt; &gt; http://andrewjwelch.com
&gt; &gt;
&gt; &gt; --~------------------------------------------------------------------
&gt; &gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; &gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; &gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; &gt; --~--
&gt; &gt;
&gt; 
&gt; 
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt; 


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324277.html</link>
</item><item>
<title>RE: [xsl] how to achieve this ? - 1/23/2012 11:02:00 AM</title>
<description><![CDATA[<pre>:) Ty jsi ale plna dobrych napadu :)

&gt; -----Original Message-----
&gt; From: Andrew Welch [mailto:andrew.j.welch@gmail.com]
&gt; Sent: Monday, January 23, 2012 11:56 AM
&gt; To: xsl-list@lists.mulberrytech.com
&gt; Subject: Re: [xsl] how to achieve this ?
&gt; 
&gt; On 23 January 2012 10:44, Michel Hendriksen &lt;michel.hendriksen@42.nl&gt;
&gt; wrote:
&gt; &gt; Sounds like HTML/javascript problem, is another list.
&gt; 
&gt; Yeah it's not for this list... however I've been doing some html5 and
&gt; css3 recently (with jquery) and it's pretty amazing stuff.  It's a
&gt; huge leap forward.
&gt; 
&gt; To bring it back to XSLT, I'm guessing there will be some new
&gt; serialisation options in 3.0 to accommodate it.
&gt; 
&gt; 
&gt; 
&gt; --
&gt; Andrew Welch
&gt; http://andrewjwelch.com
&gt; 
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt; 


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324276.html</link>
</item><item>
<title>Re: [xsl] how to achieve this ? - 1/23/2012 10:56:00 AM</title>
<description><![CDATA[<pre>On 23 January 2012 10:44, Michel Hendriksen &lt;michel.hendriksen@42.nl&gt; wrote:
&gt; Sounds like HTML/javascript problem, is another list.

Yeah it's not for this list... however I've been doing some html5 and
css3 recently (with jquery) and it's pretty amazing stuff.  It's a
huge leap forward.

To bring it back to XSLT, I'm guessing there will be some new
serialisation options in 3.0 to accommodate it.



-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324275.html</link>
</item><item>
<title>Re: [xsl] how to achieve this ? - 1/23/2012 10:45:00 AM</title>
<description><![CDATA[<pre>Sounds like HTML/javascript problem, is another list.

On 1/23/12, Roelof Wobben &lt;rwobben@hotmail.com&gt; wrote:
&gt;
&gt; Thanks,
&gt;
&gt;
&gt;
&gt; It solved the id problem but the menu still don't work right.
&gt;
&gt; It still don't work as as accordian menu. See http://test.tamarawobben.nl
&gt;
&gt;
&gt;
&gt; Roelof
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
&gt; ---------------------------------------- &gt; From: bbosgoed@bkwi.nl &gt; Date:
&gt; Mon, 23 Jan 2012 08:35:36 +0100 &gt; To: xsl-list@lists.mulberrytech.com &gt;
&gt; Subject: Re: [xsl] how to achieve this ? &gt; &gt; &gt; Op 23 jan 2012, om 08:26
&gt; heeft Roelof Wobben het volgende geschreven: &gt; &gt; Not knowing how the input
&gt; looks like, i would say that: &gt; &lt;ul class=&quot;menu&quot; id={concat('menu',
&gt; @value)}&gt; &gt; &gt; should do it for you, its a short notation for xsl:value-of
&gt; select &gt; &gt; &gt; &gt; For a menu I have to take care that every &lt;menu class&gt; get a
&gt; unique id. &gt; &gt; &gt; &gt; I thought this would work : &gt; &gt; &gt; &gt; &lt;xsl:template
&gt; match=&quot;year&quot;&gt; &gt; &gt; &lt;ul class=&quot;menu&quot; id= &quot;concat ('menu', @value)&quot; &gt; &gt; &gt; &lt;li&gt;
&gt;&gt; &gt; &lt;a href=&quot;#&quot;&gt; &lt;xsl:value-of select=&quot;@value&quot;/&gt; &lt;/a&gt; &gt; &gt; &lt;ul
&gt; class=&quot;acitem&quot;&gt; &gt; &gt; &lt;xsl:apply-templates select=&quot;month&quot; /&gt; &gt; &gt; &lt;/ul&gt; &gt; &gt;
&gt; &lt;/li&gt; &gt; &gt; &lt;/ul&gt; &gt; &gt; &lt;/xsl:template&gt; &gt; &gt; &gt; &gt; But it don't work. &gt; &gt; &gt; &gt; Do I
&gt; have to use here &lt;xsl:value-of&gt; or is there a better way ? &gt; &gt; &gt;
&gt; --~------------------------------------------------------------------ &gt;
&gt; XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list &gt; To
&gt; unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ &gt; or e-mail:
&gt; &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt; &gt; --~-- &gt; 		 	   		
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324274.html</link>
</item><item>
<title>RE: [xsl] how to achieve this ? - 1/23/2012 7:42:00 AM</title>
<description><![CDATA[<pre>Thanks,

 

It solved the id problem but the menu still don't work right.

It still don't work as as accordian menu. See http://test.tamarawobben.nl

 

Roelof

 

 

 

 

---------------------------------------- &gt; From: bbosgoed@bkwi.nl &gt; Date: Mon, 23 Jan 2012 08:35:36 +0100 &gt; To: xsl-list@lists.mulberrytech.com &gt; Subject: Re: [xsl] how to achieve this ? &gt; &gt; &gt; Op 23 jan 2012, om 08:26 heeft Roelof Wobben het volgende geschreven: &gt; &gt; Not knowing how the input looks like, i would say that: &gt; &lt;ul class=&quot;menu&quot; id={concat('menu', @value)}&gt; &gt; &gt; should do it for you, its a short notation for xsl:value-of select &gt; &gt; &gt; &gt; For a menu I have to take care that every &lt;menu class&gt; get a unique id. &gt; &gt; &gt; &gt; I thought this would work : &gt; &gt; &gt; &gt; &lt;xsl:template match=&quot;year&quot;&gt; &gt; &gt; &lt;ul class=&quot;menu&quot; id= &quot;concat ('menu', @value)&quot; &gt; &gt; &gt; &lt;li&gt; &gt; &gt; &lt;a href=&quot;#&quot;&gt; &lt;xsl:value-of select=&quot;@value&quot;/&gt; &lt;/a&gt; &gt; &gt; &lt;ul class=&quot;acitem&quot;&gt; &gt; &gt; &lt;xsl:apply-templates select=&quot;month&quot; /&gt; &gt; &gt; &lt;/ul&gt; &gt; &gt; &lt;/li&gt; &gt; &gt; &lt;/ul&gt; &gt; &gt; &lt;/xsl:template&gt; &gt; &gt; &gt; &gt; But it don't work. &gt; &gt; &gt; &gt; Do I have to use here &lt;xsl:value-of&gt; or is there a better way ? &gt; &gt; &gt; --~------------------------------------------------------------------ &gt; XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list &gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ &gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt; &gt; --~-- &gt; 		 	   		  
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324273.html</link>
</item><item>
<title>Re: [xsl] how to achieve this ? - 1/23/2012 7:36:00 AM</title>
<description><![CDATA[<pre>Op 23 jan 2012, om 08:26 heeft Roelof Wobben het volgende geschreven:

Not knowing how the input looks like, i would say that:
&lt;ul class=&quot;menu&quot; id={concat('menu', @value)}&gt;

should do it for you, its a short notation for xsl:value-of select
 

&gt; For a menu I have to take care that every &lt;menu class&gt; get a unique id.
&gt; 
&gt; I thought this would work : 
&gt; 
&gt; &lt;xsl:template match=&quot;year&quot;&gt;
&gt; &lt;ul class=&quot;menu&quot; id= &quot;concat ('menu', @value)&quot; &gt;
&gt;    &lt;li&gt;
&gt;    &lt;a href=&quot;#&quot;&gt; &lt;xsl:value-of select=&quot;@value&quot;/&gt; &lt;/a&gt;
&gt;      &lt;ul class=&quot;acitem&quot;&gt;
&gt;             &lt;xsl:apply-templates select=&quot;month&quot; /&gt;
&gt;      &lt;/ul&gt;
&gt;     &lt;/li&gt;
&gt; &lt;/ul&gt;
&gt; &lt;/xsl:template&gt;
&gt; 
&gt; But it don't work.
&gt; 
&gt; Do I have to use here &lt;xsl:value-of&gt; or is there a better way ?


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324272.html</link>
</item><item>
<title>[xsl] how to achieve this ? - 1/23/2012 7:26:00 AM</title>
<description><![CDATA[<pre>Hello, 

 

For a menu I have to take care that every &lt;menu class&gt; get a unique id.

I thought this would work : 

 

&lt;xsl:template match=&quot;year&quot;&gt;
 &lt;ul class=&quot;menu&quot; id= &quot;concat ('menu', @value)&quot; &gt;
    &lt;li&gt;
    &lt;a href=&quot;#&quot;&gt; &lt;xsl:value-of select=&quot;@value&quot;/&gt; &lt;/a&gt;
      &lt;ul class=&quot;acitem&quot;&gt;
             &lt;xsl:apply-templates select=&quot;month&quot; /&gt;
      &lt;/ul&gt;
     &lt;/li&gt;
&lt;/ul&gt;
&lt;/xsl:template&gt;


But it don't work.

Do I have to use here &lt;xsl:value-of&gt; or is there a better way ?

 

Roelof


  		 	   		  
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324271.html</link>
</item><item>
<title>Re: [xsl] XSLT translated into C/C++ - 1/22/2012 3:48:00 PM</title>
<description><![CDATA[<pre>On 22/01/2012 14:18, Michel Hendriksen wrote:
&gt; What about translets, or are these not really compiled?
&gt;
&gt;
That's what XSLTC calls its generated code, but I don't tend to use the 
term because I assume no-one is likely to know what it means.


Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324269.html</link>
</item><item>
<title>Re: [xsl] XSLT translated into C/C++ - 1/22/2012 2:19:00 PM</title>
<description><![CDATA[<pre>What about translets, or are these not really compiled?

On Sat, Jan 21, 2012 at 9:00 PM, Michael Kay &lt;mike@saxonica.com&gt; wrote:
&gt; On 20/01/2012 18:36, Rand McRanderson wrote:
&gt;&gt;
&gt;&gt; Hi Everyone,
&gt;&gt;
&gt;&gt; I was curious about if there was any implementation of XSLT which
&gt;&gt; translated it first into a compiled language. Any one know of any
&gt;&gt; commercial or open source projects along these lines? How about any
&gt;&gt; implementations that compile a stylesheet into Java bytecode?
&gt;&gt;
&gt;&gt;
&gt; Way back in 1999, a very early version of Saxon included Java source code
&gt; generation for a subset of XSLT - with the translation from XSLT to Java
&gt; being written in XSLT, no less. It wasn't very useful (it generated really
&gt; bad code) and was quickly abandoned.
&gt;
&gt; More recently, in Saxon 9.4 released last month, Saxon-EE now does
&gt; on-the-fly bytecode generation for selected parts of your stylesheet, mixing
&gt; compiled code and interpreted code freely so either can call the other.
&gt;
&gt; This isn't exactly new, though: the XSLTC product, which became part of
&gt; Xalan, was probably the first to make a major feature of code generation.
&gt;
&gt; For a discussion of what to expect from code generation, at least in Saxon,
&gt; see
&gt;
&gt; http://www.balisage.net/Proceedings/vol7/html/Delpratt01/BalisageVol7-Delpratt01.html
&gt;
&gt; Michael Kay
&gt; Saxonica
&gt;
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324268.html</link>
</item><item>
<title>Re: [xsl] monthNumber from monthName - 1/21/2012 10:56:00 PM</title>
<description><![CDATA[<pre>On Sat, Jan 21, 2012 at 07:19:26PM +0000, James Cummings scripsit:
&gt; Ah, index-of() that was the thing I was vaguely remembering!  Many thanks!

You're welcome.

But please consider bookmarking

http://www.w3schools.com/xsl/xsl_functions.asp

and

http://www.w3schools.com/xpath/xpath_functions.asp

(or their various friends and relations).  It might not save you any
sanity -- enough functions will start pushing you in the direction of
having to begin to understand the schema type model -- but it will
probably be a net gain for your productivity. :)

-- Graydon

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324264.html</link>
</item><item>
<title>[xsl] RE: cell height xsl - 1/21/2012 9:23:00 PM</title>
<description><![CDATA[<pre>There are many solutions, but setting the top padding on the bullet cell's
block to a negative value is the one I tend to use ... like this (see
padding-top is -3pt (difference between 12pt text and 15pt bullet):

				&lt;fo:table&gt;
					&lt;fo:table-column
column-width=&quot;16pt&quot;/&gt;
					&lt;fo:table-column /&gt;
					&lt;fo:table-body&gt;
						&lt;fo:table-row&gt;
							&lt;fo:table-cell
border=&quot;1pt solid black&quot;&gt;
								&lt;fo:block
font-size=&quot;15pt&quot;&gt;&amp;#x2022;&lt;/fo:block&gt;
							&lt;/fo:table-cell&gt;
							&lt;fo:table-cell
border=&quot;1pt solid black&quot;&gt;
	
&lt;fo:block&gt;This is some additional text that is in a different point
size.&lt;/fo:block&gt;
							&lt;/fo:table-cell&gt;
						&lt;/fo:table-row&gt;
						&lt;fo:table-row&gt;
							&lt;fo:table-cell
border=&quot;1pt solid black&quot;&gt;
								&lt;fo:block
font-size=&quot;15pt&quot; padding-top=&quot;-3pt&quot;&gt;&amp;#x2022;&lt;/fo:block&gt;
							&lt;/fo:table-cell&gt;
							&lt;fo:table-cell
border=&quot;1pt solid black&quot;&gt;
	
&lt;fo:block&gt;This is some additional text that is in a different point size
setting the padding to shift the bullet.&lt;/fo:block&gt;
							&lt;/fo:table-cell&gt;
						&lt;/fo:table-row&gt;

						&lt;fo:table-row&gt;
							&lt;fo:table-cell
border=&quot;1pt solid black&quot;&gt;
								&lt;fo:block
font-size=&quot;15pt&quot; padding-top=&quot;-3pt&quot;&gt;&amp;#x2022;&lt;/fo:block&gt;
							&lt;/fo:table-cell&gt;
							&lt;fo:table-cell
border=&quot;1pt solid black&quot;&gt;
	
&lt;fo:block&gt;This is some additional text that is in a different point size
setting the padding to shift the bullet.&lt;/fo:block&gt;
							&lt;/fo:table-cell&gt;
						&lt;/fo:table-row&gt;
					&lt;/fo:table-body&gt;
				&lt;/fo:table&gt;

Kevin Brown
RenderX

**********************************************


Date: Fri, 20 Jan 2012 21:14:54 -0600
To: xsl-list@lists.mulberrytech.com
From: Jesse Schaaf &lt;schajx@schaafnet.com&gt;
Subject: cell height xsl
Message-ID: &lt;4F1A2DAE.9020603@schaafnet.com&gt;

&gt; I realize 15pt is likely higher then the row height but its possible for 
other cells in this row to wrap and I want those cells to dictate the 
height.

Im sure there is an easy solution to this but I am fairly new to xslt.

Here is the code that I have for the cell involved.

&lt;snip/&gt;



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324263.html</link>
</item><item>
<title>Re: [xsl] XSLT translated into C/C++ - 1/21/2012 8:01:00 PM</title>
<description><![CDATA[<pre>On 20/01/2012 18:36, Rand McRanderson wrote:
&gt; Hi Everyone,
&gt;
&gt; I was curious about if there was any implementation of XSLT which
&gt; translated it first into a compiled language. Any one know of any
&gt; commercial or open source projects along these lines? How about any
&gt; implementations that compile a stylesheet into Java bytecode?
&gt;
&gt;
Way back in 1999, a very early version of Saxon included Java source 
code generation for a subset of XSLT - with the translation from XSLT to 
Java being written in XSLT, no less. It wasn't very useful (it generated 
really bad code) and was quickly abandoned.

More recently, in Saxon 9.4 released last month, Saxon-EE now does 
on-the-fly bytecode generation for selected parts of your stylesheet, 
mixing compiled code and interpreted code freely so either can call the 
other.

This isn't exactly new, though: the XSLTC product, which became part of 
Xalan, was probably the first to make a major feature of code generation.

For a discussion of what to expect from code generation, at least in 
Saxon, see

http://www.balisage.net/Proceedings/vol7/html/Delpratt01/BalisageVol7-Delpratt01.html

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324262.html</link>
</item><item>
<title>Re: [xsl] monthNumber from monthName - 1/21/2012 7:20:00 PM</title>
<description><![CDATA[<pre>On Sat, Jan 21, 2012 at 19:13, Graydon &lt;graydon@marost.ca&gt; wrote:
&gt; On Sat, Jan 21, 2012 at 06:43:57PM +0000, James Cummings scripsit:
&gt; [snip]
&gt; &lt;xsl:function as=&quot;xs:string&quot; name=&quot;d:getMonthName&quot;&gt;
&gt; &#194;&#160; &lt;xsl:param name=&quot;monthName&quot;/&gt;
&gt; &#194;&#160; &lt;xsl:variable name=&quot;monthNames&quot;
&gt; &#194;&#160; &#194;&#160; &#194;&#160; select=&quot;('january','february','march','april','may','june','july','august','september','october','november','december')&quot;/&gt;
&gt; &#194;&#160; &lt;xsl:sequence
&gt; &#194;&#160; &#194;&#160; &#194;&#160; select=&quot;format-number(if (index-of($monthNames,$monthName) castable as xs:integer)
&gt; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; then index-of($monthNames,$monthName)
&gt; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; &#194;&#160; else 0,'00')&quot;
&gt; &#194;&#160; /&gt;
&gt; &lt;/xsl:function&gt;

Ah, index-of() that was the thing I was vaguely remembering!  Many thanks!

&gt; This is insanely fragile unless you have strict checking to enforce case,
&gt; spelling, and language of month names.

Sure, as is the original. I'm regularising things from a very messy
text (but fairly consistent in the dates it has on page headings), so
when things don't match precise patterns I'm marking them and moving
on. It is a case of getting some automated markup in there to give
others a leg up in manually correcting the remaining ones.

&gt; If you're in a situation where you're going to get January, jan., jan, Janvier,
&gt; etc. you can take your original version and add tests, which has the advantage
&gt; of simplicity and ease of maintenance, or you can stuff all those tests into a
&gt; returnMonthName function, which has the advantage of abstraction and
&gt; compactness of expression. &#194;&#160;But either way this sort of thing with
&gt; unconstrained string data month names is a pain.

Yeah, see what you mean.  But thanks for reminding me of index-of()!

-James

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324261.html</link>
</item><item>
<title>Re: [xsl] monthNumber from monthName - 1/21/2012 7:13:00 PM</title>
<description><![CDATA[<pre>On Sat, Jan 21, 2012 at 06:43:57PM +0000, James Cummings scripsit:
[snip]
&gt; &lt;xsl:function name=&quot;jc:getMonth&quot; as=&quot;xs:string&quot;&gt;&lt;xsl:param name=&quot;month&quot;/&gt;
&gt;     &lt;xsl:choose&gt;
&gt;         &lt;xsl:when test=&quot;$month='january'&quot;&gt;01&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='february'&quot;&gt;02&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='march'&quot;&gt;03&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='april'&quot;&gt;04&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='may'&quot;&gt;05&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='june'&quot;&gt;06&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='july'&quot;&gt;07&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='august'&quot;&gt;08&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='september'&quot;&gt;09&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='october'&quot;&gt;10&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='november'&quot;&gt;11&lt;/xsl:when&gt;
&gt;         &lt;xsl:when test=&quot;$month='november'&quot;&gt;12&lt;/xsl:when&gt;
&gt;         &lt;xsl:otherwise&gt;00&lt;/xsl:otherwise&gt;
&gt;     &lt;/xsl:choose&gt;&lt;/xsl:function&gt;
&gt; 
&gt; 
&gt; But in the back of my head, since the result is just a leading-zero
&gt; sequence number in a potential list of values.... I can't help
&gt; thinking there is a better way to do this.

&lt;xsl:function as=&quot;xs:string&quot; name=&quot;d:getMonthName&quot;&gt;
   &lt;xsl:param name=&quot;monthName&quot;/&gt;
   &lt;xsl:variable name=&quot;monthNames&quot;
       select=&quot;('january','february','march','april','may','june','july','august','september','october','november','december')&quot;/&gt;
   &lt;xsl:sequence
       select=&quot;format-number(if (index-of($monthNames,$monthName) castable as xs:integer) 
                           then index-of($monthNames,$monthName) 
                           else 0,'00')&quot;
   /&gt;
&lt;/xsl:function&gt;

This is insanely fragile unless you have strict checking to enforce case,
spelling, and language of month names.

If you're in a situation where you're going to get January, jan., jan, Janvier,
etc. you can take your original version and add tests, which has the advantage
of simplicity and ease of maintenance, or you can stuff all those tests into a
returnMonthName function, which has the advantage of abstraction and
compactness of expression.  But either way this sort of thing with
unconstrained string data month names is a pain.

-- Graydon

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324260.html</link>
</item><item>
<title>[xsl] monthNumber from monthName - 1/21/2012 6:44:00 PM</title>
<description><![CDATA[<pre>Hiya,

I have an xslt2 function which gets a lower-case month name as a
string and gives back its numerical equivalent. This is really
trivially done as:

&lt;xsl:function name=&quot;jc:getMonth&quot; as=&quot;xs:string&quot;&gt;&lt;xsl:param name=&quot;month&quot;/&gt;
    &lt;xsl:choose&gt;
        &lt;xsl:when test=&quot;$month='january'&quot;&gt;01&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='february'&quot;&gt;02&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='march'&quot;&gt;03&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='april'&quot;&gt;04&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='may'&quot;&gt;05&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='june'&quot;&gt;06&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='july'&quot;&gt;07&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='august'&quot;&gt;08&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='september'&quot;&gt;09&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='october'&quot;&gt;10&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='november'&quot;&gt;11&lt;/xsl:when&gt;
        &lt;xsl:when test=&quot;$month='november'&quot;&gt;12&lt;/xsl:when&gt;
        &lt;xsl:otherwise&gt;00&lt;/xsl:otherwise&gt;
    &lt;/xsl:choose&gt;&lt;/xsl:function&gt;


But in the back of my head, since the result is just a leading-zero
sequence number in a potential list of values.... I can't help
thinking there is a better way to do this.

If it was the month number I had and I wanted the month name, that'd
be easy as just grabbing that item from the sequence.

Suggestions?

-James

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324259.html</link>
</item><item>
<title>Re: [xsl] cell height xsl - 1/21/2012 4:47:00 PM</title>
<description><![CDATA[<pre>Thank you Christian, your advice worked perfectly!!

Jesse Schaaf
Schaafnet Consulting
www.schaafnet.com
952-463-7625

On 1/21/2012 4:04 AM, Christian Kirchhoff wrote:
&gt; Am 21.01.2012 04:14, schrieb Jesse Schaaf:
&gt;&gt; I realize 15pt is likely higher then the row height but its possible
&gt;&gt; for other cells in this row to wrap and I want those cells to dictate
&gt;&gt; the height.
&gt;&gt;
&gt; I can only talk from my experience in CSS. The height of the cell is
&gt; calculated according to the height of it's contents. The content - a
&gt; fo:block - again has a height that is calculated based on what's in that
&gt; block. The text in the block has a line-height, and that line-height is
&gt; calculated depending on the font-size(s) in that line.
&gt;
&gt; One character with a larger font (the bullet) triggers an increase of
&gt; the line-height, which changes the height of the block and by thus of
&gt; the cell.
&gt;
&gt; So I would try to define a fixed line-height for the fo:block, hoping
&gt; that now the bigger bullet won't have the undesired influence on the
&gt; line-height.
&gt;
&gt; I hope it helps.
&gt;
&gt; Best regards
&gt;
&gt; Christian
&gt;
&gt; Editura GmbH &amp; Co. KG
&gt; Tempelhofer Damm 2 &#183; 12101 Berlin
&gt; Telefon: +49 (30) 7 89 59 49-68
&gt; Fax: +49 (30) 7 89 59 49-90
&gt; www.editura.de
&gt; AG Berlin-Charlottenburg &#183; HRA 43189 B &#183; USt.Id. DE217180548
&gt; Gesch&#228;ftsf&#252;hrer: Stefan Krause &#183; Ralf Szymanski
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;
&gt;

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324258.html</link>
</item><item>
<title>Re: [xsl] cell height xsl - 1/21/2012 10:05:00 AM</title>
<description><![CDATA[<pre>Am 21.01.2012 04:14, schrieb Jesse Schaaf:
&gt; I realize 15pt is likely higher then the row height but its possible 
&gt; for other cells in this row to wrap and I want those cells to dictate 
&gt; the height.
&gt;
I can only talk from my experience in CSS. The height of the cell is 
calculated according to the height of it's contents. The content - a 
fo:block - again has a height that is calculated based on what's in that 
block. The text in the block has a line-height, and that line-height is 
calculated depending on the font-size(s) in that line.

One character with a larger font (the bullet) triggers an increase of 
the line-height, which changes the height of the block and by thus of 
the cell.

So I would try to define a fixed line-height for the fo:block, hoping 
that now the bigger bullet won't have the undesired influence on the 
line-height.

I hope it helps.

Best regards

Christian

Editura GmbH &amp; Co. KG
Tempelhofer Damm 2 &#183; 12101 Berlin
Telefon: +49 (30) 7 89 59 49-68
Fax: +49 (30) 7 89 59 49-90
www.editura.de
AG Berlin-Charlottenburg &#183; HRA 43189 B &#183; USt.Id. DE217180548
Gesch&#228;ftsf&#252;hrer: Stefan Krause &#183; Ralf Szymanski

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324256.html</link>
</item><item>
<title>[xsl] cell height xsl - 1/21/2012 3:15:00 AM</title>
<description><![CDATA[<pre>So I have a table that contains a cell of which I need to display the 
bullet(&amp;#x2022;). The problem I am having is that I need to make the 
bullet larger so I used a font-size = 15pt. This solved the issue and 
the bullet displays at the right size however one side effect is that my 
row that this bullet exists in expands in height.

I realize 15pt is likely higher then the row height but its possible for 
other cells in this row to wrap and I want those cells to dictate the 
height.

Im sure there is an easy solution to this but I am fairly new to xslt.

Here is the code that I have for the cell involved.


   &lt;fo:table-cell  padding = &quot;.5mm&quot; border-width=&quot;.2mm&quot; border=&quot;solid&quot; 
border-right-width=&quot;0mm&quot; border-bottom-width=&quot;.2mm&quot; 
border-top-width=&quot;.2mm&quot;  text-align=&quot;center&quot;&gt;
								&lt;xsl:for-each select=&quot;MEDDST&quot;&gt; 				
																						&lt;fo:block font-size=&quot;15pt&quot;&gt;
													&lt;xsl:value-of select=&quot;'&amp;#x2022;'&quot; /&gt;       		 				
												&lt;/fo:block&gt;
											
							  &lt;/fo:table-cell &gt;


-- 
Jesse Schaaf
Schaafnet Consulting
www.schaafnet.com
952-463-7625

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324253.html</link>
</item><item>
<title>Re: [xsl] XSLT translated into C/C++ - 1/21/2012 2:11:00 AM</title>
<description><![CDATA[<pre>On Fri, 2012-01-20 at 13:36 -0500, Rand McRanderson wrote:
&gt; Hi Everyone,
&gt; 
&gt; I was curious about if there was any implementation of XSLT which
&gt; translated it first into a compiled language. Any one know of any
&gt; commercial or open source projects along these lines? How about any
&gt; implementations that compile a stylesheet into Java bytecode?

Saxon does some bytecode translation as I understand it.

Are you interested for the sake of performance or for obfuscation?

Liam

-- 
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324252.html</link>
</item><item>
<title>Re: [xsl] How to compare two (possibly dissimilar) XML's (XSLT1.0) - 1/20/2012 8:31:00 PM</title>
<description><![CDATA[<pre>Hi Mark,

Assuming the element names are as given, and that hence each element has 
a unique name, probably the most straightforward approach would be to 
key the elements by retrieval using their names. This is largely because 
your requirements identify two elements as &quot;the same&quot; if they have the 
same name, and can ignore their positions in the document (at least 
until it comes to writing your reports).

For purposes of exposition, here's an XSLT 2.0 solution:

&lt;xsl:key name=&quot;element-by-name&quot; match=&quot;*&quot; use=&quot;name()&quot;/&gt;

&lt;xsl:variable name=&quot;B&quot; select=&quot;document('wheredoyoufind/B.xml')&quot;/&gt;

Then you traverse A to report where elements are missing:

&lt;xsl:template match=&quot;*&quot;&gt;
   &lt;xsl:if test=&quot;empty(key('element-by-name',name(),$B)&quot;&gt;
      ... the element is missing from B ...
   &lt;/xsl:if&gt;
   &lt;xsl:apply-templates/&gt;
&lt;/xsl:template&gt;

Next to report if values are different. Since you only want to do this 
on leaf nodes, use a separate template to match only those:

&lt;xsl:template match=&quot;*[empty(*)]&quot;&gt;
   &lt;xsl:if test=&quot;. != key('element-by-name',name(),$B)&quot;&gt;
      ... A has a different value from B ...
   &lt;/xsl:if&gt;
   &lt;xsl:next-match/&gt;
&lt;/xsl:template&gt;

The next-match instruction here will (would) then apply the first 
template also to the elements that match the second one, so its test is 
also performed.

To rewrite this in XSLT 1.0, you have to do two things:

* Since key() can't take a third argument to define the scope of 
retrieval, you have to work extra to use the key on document B. So:

&lt;xsl:template match=&quot;*&quot;&gt;
   &lt;xsl:variable name=&quot;n&quot; select=&quot;name()&quot;/&gt;
   &lt;xsl:for-each select=&quot;$B&quot;&gt;
     &lt;xsl:if test=&quot;not(key('element-by-name',$n)&quot;&gt;
      ... the element is missing from B ...
     &lt;/xsl:if&gt;
   &lt;/xsl:for-each&gt;
   &lt;xsl:apply-templates/&gt;
&lt;/xsl:template&gt;

Do similarly for the other template.

* Since xsl:next-match is not available in XSLT 1.0, work around this by 
giving the template matching * a name, which you can call (by name) from 
the other template.

I hope this helps.

Cheers,
Wendell

On 1/20/2012 1:57 PM, Mark Anderson wrote:
&gt; Hi Guys
&gt;
&gt; I have an XML comparison XSL that works well for identical XML's; however, I need to create a version that will compare two slightly dissimilar XML's (whose structure I do not know--other than root element's name).
&gt;
&gt; One will always be a superset of the other (if different).
&gt;
&gt; For example
&gt;
&gt; A contains
&gt;
&gt; &lt;elements&gt;
&gt;      &lt;element1&gt;
&gt;          &lt;element1a&gt;1a&lt;/element1a&gt;
&gt;          &lt;element1b&gt;1b&lt;/element1b&gt;
&gt;          &lt;element1c&gt;1c&lt;/element1c&gt;
&gt;      &lt;/element1&gt;
&gt;      &lt;element2&gt;
&gt;          &lt;element2a&gt;2a&lt;/element2a&gt;
&gt;          &lt;element2b&gt;2b&lt;/element2b&gt;
&gt;          &lt;element2c&gt;2c&lt;/element2c&gt;
&gt;      &lt;/element2&gt;
&gt;      &lt;element3&gt;
&gt;          &lt;element3a&gt;3a&lt;/element3a&gt;
&gt;          &lt;element3b&gt;3b&lt;/element3b&gt;
&gt;          &lt;element3c&gt;3c&lt;/element3c&gt;
&gt;      &lt;/element3&gt;
&gt; &lt;/elements&gt;
&gt;
&gt;
&gt; B Contains
&gt;
&gt; &lt;elements&gt;
&gt;      &lt;element1&gt;
&gt;          &lt;element1a&gt;1a&lt;/element1a&gt;
&gt;          &lt;element1b&gt;1b&lt;/element1b&gt;
&gt;          &lt;element1c&gt;1c&lt;/element1c&gt;
&gt;      &lt;/element1&gt;
&gt;      &lt;element3&gt;
&gt;          &lt;element3a&gt;4a&lt;/element3a&gt;
&gt;          &lt;element3c&gt;4c&lt;/element3c&gt;
&gt;      &lt;/element3&gt;
&gt; &lt;/elements&gt;
&gt;
&gt; I want to iterate through every element and attribute in A, find the corresponding element in B (if it exists) and compare their values.
&gt;
&gt; For example, the output needs to indicate the following:
&gt;
&gt; element2 is missing
&gt; element2/element2a is missing
&gt; element2/element2b is missing
&gt; element2/element2c is missing
&gt; element3/element3b is missing
&gt; element3a's value is different
&gt; element3b's value is different
&gt;
&gt; Any help greatly appreciated


-- 
======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324242.html</link>
</item><item>
<title>[xsl] How to compare two (possibly dissimilar) XML's (XSLT1.0) - 1/20/2012 6:59:00 PM</title>
<description><![CDATA[<pre>Hi Guys

I have an XML comparison XSL that works well for identical XML's; however, I need to create a version that will compare two slightly dissimilar XML's (whose structure I do not know--other than root element's name). 

One will always be a superset of the other (if different).

For example 

A contains

&lt;elements&gt;
    &lt;element1&gt;
        &lt;element1a&gt;1a&lt;/element1a&gt;
        &lt;element1b&gt;1b&lt;/element1b&gt;
        &lt;element1c&gt;1c&lt;/element1c&gt;
    &lt;/element1&gt;
    &lt;element2&gt;
        &lt;element2a&gt;2a&lt;/element2a&gt;
        &lt;element2b&gt;2b&lt;/element2b&gt;
        &lt;element2c&gt;2c&lt;/element2c&gt;
    &lt;/element2&gt;
    &lt;element3&gt;
        &lt;element3a&gt;3a&lt;/element3a&gt;
        &lt;element3b&gt;3b&lt;/element3b&gt;
        &lt;element3c&gt;3c&lt;/element3c&gt;
    &lt;/element3&gt;
&lt;/elements&gt;


B Contains

&lt;elements&gt;
    &lt;element1&gt;
        &lt;element1a&gt;1a&lt;/element1a&gt;
        &lt;element1b&gt;1b&lt;/element1b&gt;
        &lt;element1c&gt;1c&lt;/element1c&gt;
    &lt;/element1&gt;
    &lt;element3&gt;
        &lt;element3a&gt;4a&lt;/element3a&gt;
        &lt;element3c&gt;4c&lt;/element3c&gt;
    &lt;/element3&gt;
&lt;/elements&gt;

I want to iterate through every element and attribute in A, find the corresponding element in B (if it exists) and compare their values.

For example, the output needs to indicate the following:

element2 is missing
element2/element2a is missing
element2/element2b is missing
element2/element2c is missing 
element3/element3b is missing
element3a's value is different
element3b's value is different

Any help greatly appreciated

Regards

Mark


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324236.html</link>
</item><item>
<title>[xsl] XSLT translated into C/C++ - 1/20/2012 6:36:00 PM</title>
<description><![CDATA[<pre>Hi Everyone,

I was curious about if there was any implementation of XSLT which
translated it first into a compiled language. Any one know of any
commercial or open source projects along these lines? How about any
implementations that compile a stylesheet into Java bytecode?

Sincerely,
John Thomas

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324235.html</link>
</item><item>
<title>Re: [xsl] All OK? - 1/20/2012 7:57:00 AM</title>
<description><![CDATA[<pre>Time of the year.. Just getting over the Christmas Fun...
Anyway, Its good to see people missing the XSL list :)

On 20 January 2012 01:07, Norias Anoria &lt;noriasanoria@gmail.com&gt; wrote:
&gt; Hey XSL-List! Everyting OK? Awfully quiet.
&gt;
&gt; NORIAS
&gt;
&gt; --~------------------------------------------------------------------
&gt; XSL-List info and archive: &#160;http://www.mulberrytech.com/xsl/xsl-list
&gt; To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
&gt; or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
&gt; --~--
&gt;



-- 
Vasu Chakkera
NodeLogic Limited
Oxford
www.node-logic.com
==============

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324223.html</link>
</item><item>
<title>[xsl] All OK? - 1/19/2012 7:38:00 PM</title>
<description><![CDATA[<pre>Hey XSL-List! Everyting OK? Awfully quiet.

NORIAS

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324219.html</link>
</item><item>
<title>[xsl] Balisage 2012 Call for Participation - 1/17/2012 5:12:00 PM</title>
<description><![CDATA[<pre>It's a new year and time to plan for Balisage 2012! Balisage is where people interested in descriptive markup meet each year in August for informed technical discussion, occasionally impassioned debate, good coffee, and the incomparable ambience of one of North America's greatest cities, Montreal. We welcome anyone interested in discussing the use of descriptive markup to build strong, lasting information systems.  

Practitioner or theorist, tool-builder or tool-user, student or lecturer -- you are invited to submit a paper proposal for Balisage 2012. As always, papers at Balisage can address any aspect of the use of markup and markup languages to represent information and build information systems. Possible topics include but are not limited to:

    * XML and related technologies
    * Non-XML markup languages
    * Implementation experience with XML parsing, XSLT processors, XQuery processors, 
      XML databases, Topic Map engines, XProc integrations, or any markup-related technology
    * Semantics, overlap, and other complex fundamental issues for markup languages
    * Case studies of markup design and deployment
    * Quality of information in markup systems
    * JSON and XML
    * Efficiency of Markup Software
    * Markup systems in and for the mobile web
    * The future of XML and of descriptive markup in general
    * Interesting applications of markup

In addition, please consider becoming a Peer Reviewer. Reviewers play a critical role towards the success of Balisage. They review blind submissions -- on topics that interest them -- for technical merit, interest, and applicability.  Your comments and recommendations can assist the Conference Committee in creating the program for Balisage 2012!

How:
    * Submit full papers in XML to &lt;info@balisage.net&gt;
    * See the Instructions for Authors (http://www.balisage.net/authorinstructions.html)
      and Tag Set and Submission Guidelines (http://www.balisage.net/tagset.html) for details.
    * Apply to the Peer Review panel (http://www.balisage.net/peer/ReviewAppForm.html)

Schedule:
    16 March 2012 -  Peer review applications due
    20 April 2012 -  Paper submissions due
    20 April 2012 -  Applications due for student support awards due
    28 May 2012   -  Speakers notified
    13 July 2012  -  Final papers due
    	
    6 August 2012 -  Pre-conference Symposium
    7-10 August 2012 - Balisage: The Markup Conference

Help us make Balisage your favorite XML Conference. See you in Montreal!


-- The Balisage 2012 Conference Committee

======================================================================
Balisage: The Markup Conference 2012          mailto:info@balisage.net
August 7-10, 2012                               http://www.balisage.net
Preconference Symposium on August 6, 2012
======================================================================


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324206.html</link>
</item><item>
<title>RE: [xsl] merging sequences - 1/16/2012 3:27:00 PM</title>
<description><![CDATA[<pre>Hi David.
Thanks for taking the time to fix it, David.

Best regards,
Fabien


-----Message d'origine-----
De&#160;: David Carlisle [mailto:davidc@nag.co.uk] 
Envoy&#233;&#160;: lundi 16 janvier 2012 11:58
&#192;&#160;: xsl-list@lists.mulberrytech.com
Cc&#160;: Fabien Tillier
Objet&#160;: Re: [xsl] merging sequences

On 16/01/2012 08:47, Fabien Tillier wrote:
&gt; When David's output is

sorry the last clause in my merge function had what the polite might 
call a premature optimisation, or the honest would call a bug...

it should not try to output the first element of both lists in the last 
case, fixing that produces the output you expected:

$ saxon9 -it m merge.xsl
N112 N100 N107 P2010 N109 P2014 P2015 N108 N203 N306 N206 N307 N311

&gt; Regarding my specific needs, Ken's solution fits better since the order is exactly as expected
&gt; N112,N100,N107,P2010,N109,P2014,P2015,N108,N203,N306,N206,N307,N311

David




&lt;xsl:stylesheet version=&quot;2.0&quot;
		xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;
		xmlns:f=&quot;data:,f&quot;
		&gt;

&lt;xsl:output method=&quot;text&quot;/&gt;

&lt;xsl:variable name=&quot;a&quot; select=&quot;
'N112','N100','N107','P2010','N109','P2014','P2015','N108','N203', 
   'N206','N311'
&quot;/&gt;

&lt;xsl:variable name=&quot;b&quot; select=&quot;
'N112','N100', 
'P2014','P2015','N108','N203','N306','N206','N307','N311'
&quot;/&gt;

&lt;xsl:template name=&quot;m&quot;&gt;

&lt;xsl:sequence select=&quot;f:merge($a,$b)&quot;/&gt;
&lt;/xsl:template&gt;

&lt;xsl:function name=&quot;f:merge&quot;&gt;
&lt;xsl:param name=&quot;a&quot;/&gt;
&lt;xsl:param name=&quot;b&quot;/&gt;
&lt;xsl:choose&gt;
  &lt;xsl:when test=&quot;empty($a)&quot;&gt;
   &lt;xsl:sequence select=&quot;$b&quot;/&gt;
  &lt;/xsl:when&gt;
  &lt;xsl:when test=&quot;empty($b)&quot;&gt;
   &lt;xsl:sequence select=&quot;$a&quot;/&gt;
  &lt;/xsl:when&gt;
  &lt;xsl:when test=&quot;$a[1]=$b[1]&quot;&gt;
   &lt;xsl:sequence 
select=&quot;$a[1],f:merge($a[position()!=1],$b[position()!=1])&quot;/&gt;
  &lt;/xsl:when&gt;
  &lt;xsl:when test=&quot;$a[1]=$b&quot;&gt;
   &lt;xsl:sequence select=&quot;f:merge($a[position()!=1],$b)&quot;/&gt;
  &lt;/xsl:when&gt;
  &lt;xsl:when test=&quot;$b[1]=$a&quot;&gt;
   &lt;xsl:sequence select=&quot;f:merge($a,$b[position()!=1])&quot;/&gt;
  &lt;/xsl:when&gt;
  &lt;xsl:otherwise&gt;
   &lt;xsl:sequence select=&quot;$a[1],f:merge($a[position()!=1],$b)&quot;/&gt;
  &lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:function&gt;
&lt;/xsl:stylesheet&gt;


-- 
google plus: https:/profiles.google.com/d.p.carlisle

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324204.html</link>
</item><item>
<title>Re: [xsl] Correct handling of namespaces with Sablotron? - 1/16/2012 1:33:00 PM</title>
<description><![CDATA[<pre>On Mon, Jan 16, 2012 at 7:37 AM, David Carlisle &lt;davidc@nag.co.uk&gt; wrote:

&gt; An XSLT 1 processor is allowed to use any prefix it wants in the output,

&gt; You may give the system a stronger hint by using unprefixed literal result

Thanks, David! The above were two key omissions in my learning so far.
My frustration level is now down below the level of the ceiling, and
I'm smiling again.

Best wishes, Charles

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: &lt;mailto:xsl-list-unsubscribe@lists.mulberrytech.com&gt;
--~--</pre>]]></description>
<link>http://www.altova.com/list/xsl-list/201201/msg1000324203.html</link>
</item><item>
<title>Re: [xsl] Correct handling of namespaces with Sablotron? - 1/16/2012 12:38:00 PM</title>
<description><![CDATA[<pre>An XSLT 1 processor is allowed to use any prefix it wants in the output, 
prefixes used in the source or in the stylesheet are only mild hints. So 
using ns_1 would be conformant but not what people usually want. (In 
theory if you only process the file with namespace aware tools and never 
look at it, the prefix shouldn't
