|
Subject: Re: [xsl] system call? From: TGolshan@xxxxxxxxxxxx Date: Mon, 19 Sep 2005 11:24:54 -0700 |
Thanks Jay! This is exactly what I was looking for. -troy
JBryant@xxxxxxxxx
09/19/2005 11:06 AM
Please respond to
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
cc
Subject
Re: [xsl] system call?
I have a comment and an idea:
<xsl:variable name="year">
<xsl:value-of select="article/fm/hdr/hdr2/pdt/yr"/>
</xsl:variable>
can be just
<xsl:variable name="year" elect="article/fm/hdr/hdr2/pdt/yr"/>
Also, I strongly suspect that you need / in front of that select string.
Now for the idea:
If you use an XSLT 2.0 processor (such as Saxon 8), you can get the
current year as follows:
<xsl:variable name="thisyear" select="format-date(current-date(),
'[Y0001]')"/>
Then you can use
<xsl:if test="$year = $thisyear">
The FAQ has information about getting the current date in XSLT 1.0:
http://www.dpawson.co.uk/xsl/sect2/dates.html
Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)
TGolshan@xxxxxxxxxxxx
09/19/2005 12:30 PM
Please respond to
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
cc
Subject
[xsl] system call?
I am trying to disable URL links from legacy files. I am not sure how to
do this without hard-coding the $year to the current year, 2005. Any
better ideas? I have heard that one might be able to do a system call, but
that completely escaped me.
Thanks in advance,
troy
**************************
XML file
<hdr2>
<obi>
<volno></volno>
<issno></issno>
</obi>
<pdt>
<mo></mo>
<yr>2005</yr>
</pdt>
<pp</pp>
</hdr2>
<p><url>URL TEXT HERE</url></p>
Code
<xsl:variable name="year">
<xsl:value-of select="article/fm/hdr/hdr2/pdt/yr"/>
</xsl:variable>
<xsl:template match="url">
<xsl:if test="$year='2005'">
<a>
<xsl:choose>
<xsl:when test="
substring(text(),1,5)='http:'">
<xsl:attribute name="href
"><xsl:value-of select="text()"/></xsl:attribute>
</xsl:when>
<xsl:when test="
substring(text(),1,4)='ftp:'">
<xsl:attribute name="href
"><xsl:value-of select="text()"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="href
"><xsl:value-of select="concat('http://',text())"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:attribute name="target">blank
</xsl:attribute>
<xsl:apply-templates/>
</a>
</xsl:if>
<xsl:if test="$year!='2005'">
<xsl:apply-templates/>
</xsl:if>
</xsl:template>
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] system call?, JBryant | Thread | RE: [xsl] system call?, Michael Kay |
| [xsl] next sibling - newbie questio, nitin mulimani | Date | Re: [xsl] next sibling - newbie que, Joris Gillis |
| Month |