xsl-list
[Top] [All Lists]

Re: [xsl] Transform some attributes into HTML span elements with delimiters (specific format)

2010-05-27 03:57:45
I think, I would have done this as following:

<xsl:template match="InspectionReportInput">
  <span id="firstName"><xsl:value-of select="@firstName"
/></span>&#160;<span id="lastName"><xsl:value-of select="@lastName"
/><xs:text>,&#160;</xsl:text><xsl:value-of select="@city" />
</xsl:template>

and have invoked this template as following:

<xsl:apply-template select="InspectionReportInput" />

On Thu, May 27, 2010 at 12:58 PM, Philipp Kursawe
<phil(_dot_)kursawe(_at_)gmail(_dot_)com> wrote:
Hello,

I have this XML

<InspectionReportInput
 city="Some"
 firstName="Jon"
 lastName="Doe
 ...
 >
</InspectionReportInput>

and would like to get this (partial) HTML output:
<span id="firstName">Jon</span> <span id="lastName">Doe</span>, <span
id="city">Some</span>

So I want to put a space delimited between firstName and lastName and
after lastName a ",".
Currently my XSLT looks like this:

<xsl:call-template name="span"><xsl:with-param name="id"
select="//@firstName"></xsl:with-param></xsl:call-template>
     <xsl:call-template name="span"><xsl:with-param name="id"
select="//@lastName"></xsl:with-param></xsl:call-template>,
     <xsl:call-template name="span"><xsl:with-param name="id"
select="//@city"></xsl:with-param></xsl:call-template>

<xsl:template name="span" match="attribute::node()">
   <xsl:param name="id"></xsl:param>
   <xsl:element name="span"><xsl:attribute name="id"><xsl:value-of
select="name($id)"/></xsl:attribute><xsl:value-of
select="$id"/></xsl:element>
 </xsl:template>

As you can see its very verbose. I would like to have it a little less
verbose if possible. Something like this:
spans for the following "//@firstname //@lastName, //@city"
So I already give the charachters that should be emitted after the
template "span" is called.

Thanks!
Phil



-- 
Regards,
Mukul Gandhi

--~------------------------------------------------------------------
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>
--~--