我正在使用 xslt 文件进行样式设置。我正在以表格格式显示一些内容。我需要从预定义的键值对中动态填充一列。请看下面的例子
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Sample Transformation</h2>
<table border="1">
<xyz>msgprop</xyz>
<tr bgcolor="#9acd32">
<th>Id</th>
<th>Name</th>
<th>City</th>
</tr>
<xsl:for-each select="en:MyEvent">
<tr>
<td><xsl:value-of select="en:id"/></td>
<td><xsl:value-of select="en:name"/></td>
<td><xsl:value-of select="en:country"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
问题是我收到国家名称代替城市,我想用正确的城市填充城市列,为此我需要映射国家及其城市。有没有办法在键值对中预定义国家及其城市,当收到国家名称时,它将被城市名称替换(如果不存在,它将显示国家名称)。有什么功能可以做到吗?如果你提供一个片段会很有帮助。
编辑:这是xml
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<id>Empire Burlesque</id>
<Name>Bob Dylan</Name>
<country>USA</country>
</cd>
<cd>
<id>Hide your heart</id>
<name>Bonnie Tyler</name>
<country>UK</country>
</cd>
<cd>
<id>Greatest Hits</id>
<name>Dolly Parton</name>
<country>USA</country>
</cd>
<cd>
<id>Still got the blues</id>
<name>Gary Moore</name>
<country>UK</country>
</cd>
</catalog>
我需要一个映射,这样每当国家名称为英国时,它将被替换为与其他国家相同的首都伦敦。是否有某种方法可以将 UK 定义为键,将 London 定义为值,这样每当我收到作为 UK 的键时,它将被其值替换。请帮忙。