This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: How dynamic is XSL?
- To: xsl-list at mulberrytech dot com
- Subject: RE: How dynamic is XSL?
- From: Carlos Araya <elrond at valinor dot sjsu dot edu>
- Date: Thu, 10 Aug 2000 13:56:18 -0700 (PDT)
- Reply-To: xsl-list at mulberrytech dot com
The missing </img> tag shouldn't do anything. You can use shorthand for
that. something like
<img align=center" />
and that will be considered both the opening and the ending of the tag.
Carlos
On Thu, 10 Aug 2000, [iso-8859-1] Søren Neigaard wrote:
|Date: Thu, 10 Aug 2000 21:53:47 +0200
|Ok - great. But where does the missing "</img>" go?
|--------REPOST OF FILES---------
|<?xml version="1.0"?>
|<?xml-stylesheet href="example.xsl" type="text/xsl" media="explorer"?>
|<?cocoon-process type="xslt"?>
|<card>
| <cardid>index</cardid>
| <cardtitle>WAP XML Test</cardtitle>
| <img>
| <imgalign>center</imgalign>
| <imgsrc>Graphics/header.wbmp</imgsrc>
| <imgalt>Header</imgalt>
| </img>
| <text>
| <textalign>left</textalign>
| <value>Choose a link:</value>
| </text>
| <link>
| <linkalign>left</linkalign>
| <linkhref>Sub02-A1.jhtml</linkhref>
| <linktitle>Coastlines</linktitle>
| </link>
| <link>
| <linkalign>left</linkalign>
| <linkhref>#about</linkhref>
| <linktitle>About</linktitle>
| </link>
|</card>
|
|<?xml version="1.0"?>
|<xsl:stylesheet version="1.0"
|xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
| <xsl:template match="/"> <!-- root of XML document -->
| <xsl:processing-instruction
|name="cocoon-format">type="text/html"</xsl:processing-instruction>
| <wml>
|
| <template>
| <do type="prev" label="Back">
| <prev/>
| </do>
| </template>
|
| <xsl:for-each select="card">
| <card>
| <xsl:attribute name="id">
| <xsl:value-of select="cardid"/>
| </xsl:attribute>
| <xsl:attribute name="title">
| <xsl:value-of select="cardtitle"/>
| </xsl:attribute>
|
| <xsl:apply-templates/>
|
| </card>
| </xsl:for-each>
| </wml>
| </xsl:template>
|
| <xsl:template match="img">
| <p>
| <xsl:attribute name="align">
| <xsl:value-of select="imgalign"/>
| </xsl:attribute>
| <img>
| <xsl:attribute name="src">
| <xsl:value-of select="imgsrc"/>
| </xsl:attribute>
| <xsl:attribute name="alt">
| <xsl:value-of select="imgalt"/>
| </xsl:attribute>
| </img>
| </p>
| </xsl:template>
|
| <xsl:template match="link">
| <p>
| <xsl:attribute name="align">
| <xsl:value-of select="linkalign"/>
| </xsl:attribute>
| <a>
| <xsl:attribute name="href">
| <xsl:value-of select="linkhref"/>
| </xsl:attribute>
| <xsl:value-of select="linktitle"/>
| </a>
| </p>
| </xsl:template>
|
| <xsl:template match="text">
| <p>
| <xsl:attribute name="align">
| <xsl:value-of select="textalign"/>
| </xsl:attribute>
| <xsl:value-of select="value"/>
| </p>
| </xsl:template>
|
|</xsl:stylesheet>
|---------------------------------------
|
|And I expected this result:
|
|---------------------------------------
|<wml>
| <template>
| <do type="prev" label="Back">
| <prev/>
| </do>
| </template>
| <card id="index" title="WAP XML Test">
| <p align="center">
| <img src="Graphics/header.wbmp" alt="Header">
| </p>
| <p align="left">
| Choose a link:
| </p>
| <p align="left">
| <a href="Sub02-A1.jhtml">Coastlines</a>
| </p>
| <p align="left">
| <a href="#about">About</a>
| </p>
| </card>
|</wml>
|---------------------------------------
|
|But I got this instead:
|
|---------------------------------------
|<wml>
| <template>
| <do label="Back" type="prev">
| <prev></prev>
| </do>
| </template>
| <card id="index" title="WAP XML Test">
| index
| WAP XML Test
| <p align="center">
| <img alt="Header" src="Graphics/header.wbmp">
| </p>
| <p align="left">
| Choose a link:
| </p>
| <p align="left">
| <a href="Sub02-A1.jhtml">Coastlines</a>
| </p>
| <p align="left">
| <a href="#about">About</a>
| </p>
| </card>
|</wml>
|--------REPOST OF FILES---------
|
|-----Original Message-----
|From: owner-xsl-list@mulberrytech.com
|[mailto:owner-xsl-list@mulberrytech.com]On Behalf Of Ben Robb
|Sent: 10. august 2000 20:29
|To: 'xsl-list@mulberrytech.com'
|Subject: RE: How dynamic is XSL?
|
|
|Within your XML you have the following:
|
|<card>
| <cardid>index</cardid>
| <cardtitle>WAP XML Test</cardtitle>
|...
|</card>
|
|Your "apply-templates" sees the cardid and cardtitle tags, and, failing to
|find a matching template, moves on. However, there is also a default
|template for text elements, which has the form of:
|
|<xsl:template match="text()">
| <xsl:value-of select="." />
|</xsl:template>
|
|This prints out the value of any text elements it finds.
|
|So, either negate the default by putting this line in:
|
|<xsl:template match="text()"/>
|
|or, specify empty templates for <cardid> and <cardtitle>
|
|<xsl:template match="cardid"/>
|<xsl:template match="cardtitle"/>
|
|
|or, if you can play with the DTD/ Schema of the incoming XML, make it so
|that it has the following structure (which is probably the best solution):
|
|<card id="index" title="WAP XML Test">
| ...
|</card>
|
|Rgs,
|
|Ben
|
|
|
| XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
|
| XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
--
p |Carlos E. Araya
- |WebCT Project Coordinator - New Media Specialist
G |Alquist Center for Instrucctional Development
email : araya@sjsu.edu (prefered) | Phone (408) 924 2859
Web : http://valinor.sjsu.edu/~elrond/ | fax (408) 924 2439
http://www.silverwolf-net.net (under construction)
finger elrond@valinor.sjsu.edu for PGP key
--
LIFE: You can't control the length, but you can control the depth and
width. -- From Randal Schwartz picture archive
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list