This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: *[@new='yes']
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] *[@new='yes']
- From: Richard Lander <rlander at microsoft dot com>
- Date: Tue, 6 Feb 2001 07:26:38 -0800
- Reply-To: xsl-list at lists dot mulberrytech dot com
Morning,
I believe that you have three options:
<xsl:template match="p[@new='yes']
|h[@new='yes']"
>
<!--do something -->
</xsl:template>
or
<xsl:variable name="defaultCSS" select="'color=red'"/>
<xsl:template match="p[@new='yes']">
<p style="font-size:12pt;{defaultCSS};">
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="h[@new='yes']">
<h1 style="font-size:18pt;{defaultCSS};">
<xsl:apply-templates/>
</h1>
</xsl:template>
or (best IMO)
<xsl:template match="/"
<HTML>
<HEAD>
<STYLE type="text/css">
h1 {font-size:18pt}
p {font-size:12pt}
h1,p {color:red}
</STYLE>
</HEAD>
<xsl:apply-templates/>
</HTML>
</xsl:template>
<xsl:template match="p[@new='yes']">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="h[@new='yes']">
<h1>
<xsl:apply-templates/>
</h1>
</xsl:template>
Hope that helps,
Rich
-----Original Message-----
From: Gustaf Liljegren [mailto:gustaf.liljegren@xml.se]
Sent: Tuesday, February 06, 2001 3:03 AM
To: xsl-list-digest@lists.mulberrytech.com
Subject: [xsl] *[@new='yes']
Hello,
I'm been playing with a sample where I'm trying to get all new parts of a
document to show up in red, using XSL FO. There are headers, paragraphs and
other typical document elements. All of them can have a new attribute with
the value "yes", like this:
<?xml version="1.0"?>
<test>
<h>This is a header, but it's not new.</h>
<p>This paragraph is not new.</p>
<p>This paragraph isn't new either.</p>
<p new="yes">This paragraph is new.</p>
<p>This isn't.</p>
<h new="yes">This header is new</h>
<p>Another paragraph. Not new.</p>
<p new="yes">Another paragraph. New.</p>
</test>
The problem is that both headers and paragraphs has their default
appearance too, and I haven't found a good way to just add the attribute
color="red". Of course I could make separate templates, like p[@new='yes']
and h[@new='yes'], but this means I must define their default appearance
twice.
Regards,
Gustaf Liljegren
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list