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

Re: moving presentation logic from ASP script to XSL

Subject: Re: moving presentation logic from ASP script to XSL template
From: Geert Josten <Geert.Josten@xxxxxxxxxxx>
Date: Sat, 06 Nov 2004 16:41:35 +0100
moving presentation
Hi Gabriel,

Nobody answered this question as far as I can see. So let me try..

Yes, you could pass a parameter and use that in a certain template (for instance match="/") to decide for one or the other presentation logic. You can prevent conflicts with same matche rules by adding a mode to the templates. Note that you will have to add the same mode to all templates that belong together and will have to specify that mode in each apply-templates as well.

Basically it would look like:

<xsl:param name="presentation-mode" select="'pc'" />
<!-- default 'pc', to be overruled from outside the script -->

<xsl:template match="/">
  <xsl:choose>
    <xsl:when test="string($presentation-mode) = 'pocketpc'">
      <xsl:apply-templates select="." mode="pocketpc" />
    <xsl:when>
    <xsl:otherwise>
      <xsl:apply-templates select="." mode="pc" />
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

<xsl:template match="/" mode="pc">
  <html>
    ...
      <xsl:apply-templates select="node()" mode="pc" />
    ...
  </html>
</xsl:template>

<xsl:template match="/" mode="pocketpc">
  <wap>
    ...
      <xsl:apply-templates select="node()" mode="pocketpc" />
    ...
  </wap>
</xsl:template>

Hope this helps, good luck!

Grtz,
Geert

Hello!
My question is illustrated at http://gabbah.no-ip.org/XSL_question.jpg

Currently, I let my asp script check what sort of client made the request, and then transform the XML retrieved from a COM object, with one of two possible XSL-files; pc-templates.xsl and pocketpc-templates.xsl. These xsl files include all of the templates needed. This is case one.

My goal is to have ALL presentation logic in XSL only, as you can see in case 2. How could I achive this?

(I guess I need to pass a parameter somehow, and use it in the XSL. However, the templates for PC have the same match criteria as the pocketpc have, so there would still be a match conflict for all the nodes in the XML...? )

Thanks in advance,
/Gabriel





--
Geert.Josten@xxxxxxxxxxx
IT-consultant at Daidalos BV, Zoetermeer (NL)

http://www.daidalos.nl/
tel:+31-(0)79-3316961
fax:+31-(0)79-3316464

GPG: 1024D/12DEBB50

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.