У меня есть опыт работы с XSLT для проекта, и я просто пытаюсь разобраться с использованием некоторых функций XSLT, чтобы получить желаемый результат, и столкнулся с небольшой проблемой, которую я пытаюсь решить. Я видел различные посты о замене, но ни один до сих пор не рассматривал эту, казалось бы, простую проблему.
Учитывая этот XML:
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country><font size='8pt' name='Verdana' color='navy'/>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
Я пытаюсь получить ожидаемый результат (без США):
<div>
<b>Empire Burlesque</b>
<p>
<i>
<a href="wwww.google.com.au">GOOGLE </a>
</i>
</p>
</div>
Но вместо этого я получаю ниже дополнительный текст "США".
<div>
<b>Empire Burlesque</b>
<p>
<i>
<a href="wwww.google.com.au">GOOGLE </a>
</i>USA
</p>
</div>
Это XSLT, который я написал
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="cd">
<div>
<xsl:apply-templates select="title"/>
<xsl:apply-templates select="country"/>
</div>
</xsl:template>
<xsl:template match="country">
<p>
<xsl:call-template name="replacement">
<xsl:with-param name="txt" select="."/>
</xsl:call-template>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template name="replacement">
<i><a href="wwww.google.com.au">GOOGLE </a> </i>
</xsl:template>
<xsl:template match="title">
<b><xsl:value-of select="."/></b>
</xsl:template>
</xsl:stylesheet>
Может кто-нибудь дать мне несколько советов о том, как получить желаемый результат без текста США элемента страны?
Приветствия