Subject: RE: call-template from href NO SERVER INVOLVED ???
From: Patricia LaRue <pdlarue@xxxxxxxxx>
Date: Tue, 18 Nov 2003 13:41:54 -0800 (PST)
|
Oh my gosh! Michael Kay...I'm honored that you
responded (seriously). I'm digesting every morsel of
your message and have been studying your book for
days. There is just so-o-o-o-o-o much information on
the subject. We finally came to the conclusion that
we need an XSLT processor and have been trying to
implement a command line call using Xalan. We'll keep
on trying. Thanks, again, so much for responding.
Have a great day,
Patricia
--- Michael Kay <mhk@xxxxxxxxx> wrote:
> >
> > HELP! This brick wall is too big and I'm running
> out
> > of time.
>
> You will need to find more time. You're nowhere near
> finished on this.
> In fact, you've hardly started.
>
>
> I've included my .xsl file below. The first
> > template displays the names of the worksheet as
> > hyperlinks.
> >
> > I need to link to the second template to display
> the
> > worksheet and my href doesn't appear to be
> working.
>
> Templates don't display anything. They create result
> documents, in your
> case HTML documents. How you get the documents
> displayed is another
> matter entirely.
>
> Your second template starts out by producing an
> <html> element. But this
> isn't going in a new document, it is going in the
> middle of the <a>
> element that's being generated when it's called. An
> <html> element in
> the middle of an <a> element doesn't make sense in
> HTML, the browser
> won't know what to do with it.
> >
> > Right now all of the worksheets are in one xml
> file.
> > There is no server involved. Everything is
> happening
> > on the client. Do I need an XSLT source such as
> Saxon
> > or MSXML?
>
> You obviously need an XSLT processor, and if you are
> doing everything in
> the client then you need one that runs in your
> chosen web browser, which
> I assume is MSXML.
>
> In a client-side transformation in MSXML, you can't
> generate two HTML
> documents from a single transformation. You have to
> generate one HTML
> document in a first transformation, and the
> hyperlinks that it contains
> have to be such that when the user clicks on them,
> another
> transformation is fired off to produce another HTML
> document. There are
> examples of this in my book XSLT Programmer's
> Reference and no doubt in
> other XSLT books as well. You have to be prepared to
> write Javascript
> code to run within the HTML page to control the
> transformation.
>
> I hope this points you in the right direction.
>
> Michael Kay
>
>
> >
> > Thank you so much,
> > Patricia
> >
> > **************************************************
> >
> > <?xml version="1.0"?>
> > <xsl:stylesheet version="1.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> >
>
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
> > xmlns:xlink="http://www.w3.org/1999/xlink"
> > xmlns:xptr="http://www.w3.org/TR/xptr">
> > <xsl:variable
> >
>
name="file">T1_CKHSJ7_50k-120@xxxxxxxxxxxxxxxxxxxxxxx</xsl:variable>
> > <xsl:output method="html"/>
> > <xsl:template match="/">
> > <h2>
> > <xsl:value-of select="$file"/>
> > </h2>
> > <TABLE BORDER="1" CELLPADDING="5">
> > <THEAD>
> > <TH>Worksheet Name</TH>
> > </THEAD>
> > <xsl:for-each select="ss:*/ss:Worksheet">
> > <TR ALIGN="CENTER">
> > <TD>
> >
> > <xsl:apply-templates select="Worksheet"/>
> > <a>
> >
> > <xsl:attribute name="href">
> >
> > <xsl:call-template name="worksheetdata">
> >
> > <xsl:with-param name="sheetname"
> > select="@ss:Name"/>
> >
> </xsl:call-template>
> >
> </xsl:attribute>
> >
> <xsl:value-of select="@ss:Name"/>
> > </a>
> > </TD>
> > </TR>
> > </xsl:for-each>
> > </TABLE>
> > </xsl:template>
> >
> > <xsl:template name="worksheetdata">
> > <xsl:param name="sheetname"/>
> > <html>
> > <body>
> > <center>
> > <table border="2" width="100%">
> > <xsl:for-each select="ss:*/ss:Worksheet">
> > <xsl:if test="@ss:Name=string($sheetname)">
> > <h1>This is a test</h1>
> > <xsl:for-each select="ss:Table/ss:Row">
> > <tr>
> > <xsl:for-each select="ss:Cell">
> > <td>
> > <xsl:value-of
> > select="ss:Data"/><xsl:text></xsl:text>
> > </td>
> > </xsl:for-each>
> > </tr>
> > </xsl:for-each>
> > </xsl:if>
> > </xsl:for-each>
> > </table>
> > </center>
> > </body>
> > </html>
> > </xsl:template>
> >
> > </xsl:stylesheet>
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Protect your identity with Yahoo! Mail
> AddressGuard
> > http://antispam.yahoo.com/whatsnewfree
> >
> > XSL-List info and
> > archive: http://www.mulberrytech.com/xsl/xsl-list
> >
>
>
> XSL-List info and archive:
> http://www.mulberrytech.com/xsl/xsl-list
>
=====
Patricia's Fancy
Visit my eBay store for great deals on terrific items! I specialize in pretty things for the girl inside of women and boy toys for the boy inside of men, but also have a variety of life's little necessities. If you play music, check out Rainbow Music Outlet. Bookmark these stores as we are always adding new merchandise for your shopping pleasure.
__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|