[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: An (almost) identity stylesheet

Subject: RE: An (almost) identity stylesheet
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 10 Apr 2008 13:16:37 +0100
RE:  An (almost) identity stylesheet
I know it's embarrassing to post your code when you're a novice, but it's
the best way we have to see where your misunderstandings lie, and therefore
the most efficient way for you to get up the learning curve. This is a very
simple transformation, so there's clearly something basic that you haven't
grasped (which to be honest, is what happens when you try to learn by
blindly copying things - which is the way that some online tutorials try to
teach you).

You can do this with a simple template rule such as

<xsl:template match="date">
  <date attrib1="{@attrib1}" attrib2="0">
    <xsl:value-of select="."/>
  </date>
</xsl:template>

That assumes of course that when you process the bar element you do the
standard thing of apply-templates to the children, and similarly for foo.

As for recommendations, whenever I have to learn a language the first thing
I do is buy a good book on it. The 4th edition of my XSLT Programmer's
Reference from Wrox comes out in a couple of weeks. The book goes to a lot
of trouble to explain all the basic concepts of the language, as well as the
detailed syntax and semantics.

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

-----Original Message-----
From: Karol Krenski [mailto:mimooh@xxxxxxxxxxxxxxx] 
Sent: 10 April 2008 09:40
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  An (almost) identity stylesheet

Hi list,

I am a novice to XSLT, learned mainly form online tutorials. This XSLT
thing is killing me. Can't figure out how to transform my doc.xml:

<?xml version="1.0" encoding="UTF-8"?>
<foo>
    <bar>
        <date attrib1='aaaaaaa' attrib2='bbbbbb'>25-02-08</date>
                                         ^
        <name attrib3='null'>AAAAAAAAAAAAAAA</name>
    </bar>
    <bar>
        <date attrib1='cccccc' attrib2='dddddd'>26-02-08</date>
                                        ^
        <name attrib4='null'>BBBBBBBBBBBBBBB</name>
    </bar>
</foo>


into


<?xml version="1.0" encoding="UTF-8"?>
<foo>
    <bar>
        <date attrib1='aaaaaaa' attrib2='0'>25-02-08</date>
                                         ^
        <name attrib3='null'>AAAAAAAAAAAAAAA</name>
    </bar>
    <bar>
        <date attrib1='cccccc' attrib2='0'>26-02-08</date>
                                        ^
        <name attrib4='null'>BBBBBBBBBBBBBBB</name>
    </bar>
</foo>

Can somebody please suggest the correct stylesheet?

I am blindly typing mainly 'copy' or 'copy-of' in my templates and the
output generation mechanics make little sense to me. The docs, comparing
to other programing documentation seems hard to understand. Could
somebody suggest good docs, please?

Regards,
Karol

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.