Re: [xsl] nested templates?

Subject: Re: [xsl] nested templates?
From: "Kurt Cagle" <cagle@xxxxxxxxx>
Date: Wed, 16 May 2001 14:37:40 -0500
On the latter part:

<xsl:stylesheet ... exclude-result-prefixes="fo">
<xsl:output ... omit-xml-declaration="yes"/>

-- Kurt Cagle
----- Original Message -----
From: "Alex Black" <enigma@xxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, May 16, 2001 2:58 PM
Subject: Re: [xsl] nested templates?


> below is a real world example of for-each. (first 'document')
> this works.
>
> which is fine, but I far prefer nested templates, because that implies
that
> I can _import_ those templates wherever I like, and build up complex
> documents out of little sub-formatters.
>
> Thus the "<field>" -> <input type="foo"> example.
>
> Or, if you use the XML below, an example:
>
> what if I wanted an external handler for the element "bookmark" because it
> occurs in 100 of my templates? I read a little on the import syntax, but I
> need a little extra push :)
>
> I'm warming up to this language rapidly, after you get over the amazing
> verbosity of the syntax, it works quite well, actually :)
>
>
> Oh, minor:
> does anyone know how to make sablot freaking _not_ output a full xml
header
> declaration, _and_ put xmlns attributes in _every_ tag? Also, as you can
see
> in the output html, there is no preservation of whitespace, and no
apparent
> way of having comments sent out unless you wrap them in !CDATA.
>
> Gotta get rid of those ns declarations, bigtime code bloat :)
>
> (look at the bottom)
>
> _alex
>
> -------------------------------------------------------
>
> <?xml version="1.0" ?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> xmlns:fo="http://www.w3.org/1999/XSL/Format";>
>
> <!-- template ::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
> <xsl:template match="/">
>
> <!-- select each folder -->
> <xsl:for-each select="//folder">
> <!-- section - - - - - - - - - - - - - - - - - - -->
> <table border="0" cellpadding="1" cellspacing="0" bgcolor="#FF6600"
> width="100%"><tr><td valign="top">
> <table border="0" cellpadding="4" cellspacing="0" width="100%"
> bgcolor="#DEDEDE"><tr><td valign="top">
> <a>
> <xsl:attribute name="href"><xsl:value-of select="@name"/></xsl:attribute>
> <xsl:value-of select="@name"/>
> </a><br />
> </td></tr></table></td></tr></table>
> <p/>
>
> <!-- select each bookmark -->
> <xsl:for-each select="bookmark">
> <img src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/>
> <a>
> <xsl:attribute name="href"><xsl:value-of select="href"/></xsl:attribute>
> <xsl:value-of select="title"/>
> </a>
> <br/>
> </xsl:for-each>
> <!-- /select each bookmark -->
> <p/>
>
> </xsl:for-each>
> <!-- /select each folder -->
>
> </xsl:template>
> <!-- /template ::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
>
> </xsl:stylesheet>
>
>
>
> -------------------------------------------------------
>
>
> <?xml version="1.0"?>
>
> <bookmarks>
>     <folder name="books">
>         <bookmark>
>             <title>Foo</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Wired</title>
>             <href>http://www.wired.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Fee</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Fah</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Man</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Chala</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>poofoo</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>     </folder>
>     <folder name="movies">
>         <bookmark>
>             <title>Cheesehead</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>mangles</title>
>             <href>http://www.wired.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Fatso</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Beefy-kitty</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Attick-GOPHER</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>Foobar</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>         <bookmark>
>             <title>hell!</title>
>             <href>http://www.yahoo.com</href>
>         </bookmark>
>     </folder>
> </bookmarks>
>
>
> -------------------------------------------------------
>
>
>
> <?xml version="1.0" encoding="UTF-8"?><table
> xmlns:fo="http://www.w3.org/1999/XSL/Format"; border="0" cellpadding="1"
> cellspacing="0" bgcolor="#FF6600" width="100%"><tr><td valign="top"><table
> border="0" cellpadding="4" cellspacing="0" width="100%"
> bgcolor="#DEDEDE"><tr><td valign="top"><a
> href="books">books</a><br/></td></tr></table></td></tr></table><p
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Foo</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.wired.com";>Wired</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Fee</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Fah</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Man</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Chala</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>poofoo</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><p
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><table
> xmlns:fo="http://www.w3.org/1999/XSL/Format"; border="0" cellpadding="1"
> cellspacing="0" bgcolor="#FF6600" width="100%"><tr><td valign="top"><table
> border="0" cellpadding="4" cellspacing="0" width="100%"
> bgcolor="#DEDEDE"><tr><td valign="top"><a
> href="movies">movies</a><br/></td></tr></table></td></tr></table><p
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Cheesehead</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.wired.com";>mangles</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Fatso</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Beefy-kitty</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Attick-squirill</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>Foobar</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><img
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> src="/resources/images/binarycloud/misc/000000.gif" alt="-" width="3"
> height="3" hspace="2" vspace="2" border="0" align="middle"/><a
> xmlns:fo="http://www.w3.org/1999/XSL/Format";
> href="http://www.yahoo.com";>hell!</a><br
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/><p
> xmlns:fo="http://www.w3.org/1999/XSL/Format"/>
>
>
>
>
>
> --
> alex black, ceo
> enigma@xxxxxxxxxxxxxxxx
>
> the turing studio, inc.
> http://www.turingstudio.com
>
> vox+510.666.0074
> fax+510.666.0093
>
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread