Thanks Jay! This is exactly what I was looking for. -troy
JBryant(_at_)s-s-t(_dot_)com
09/19/2005 11:06 AM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)computer(_dot_)org
09/19/2005 12:30 PM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--