This is something that is routine so appreciate a more elegant
solution. I'll give this a try.
Many thanks J.
Regards
Dave
On Wednesday, April 2, 2003, at 12:23 PM, J.Pietschmann wrote:
David Pratt wrote:
I have about a hundred attributes to replace in docs and trying to
find a
more efficient way of doing this. I am currently doing this below
but there must be a better way.
<xsl:template match="para/@meta[.='cc_gen_desc']">
<xsl:attribute name="meta">description</xsl:attribute>
</xsl:template>
...
If this is an one-shot task I'd investigate a stream editor first.
For an XML solution, you can define a file with replacements:
<replacements>
<replace from="cc_gen_desc" to="description"/>
...
</replacements>
Use it as follows:
<xsl:variable name="replacements"
select="document('replacements.xml')/replacements"/>
<xsl:template match="para/@meta">
<xsl:variable name="replacement"
select="$replacements/replace[(_at_)from=current()]"/>
<xsl:choose>
<xsl:when test="$replacement">
<xsl:attribute name="meta">
<xsl:value-of select="$replacement/@to"/>
</xsl:attribute name="meta">
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Beware, untested.
J.Pietschmann
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list