gpt4 book ai didi

html - 将图像从 XML 插入到 XSL 文档

转载 作者:数据小太阳 更新时间:2023-10-29 02:03:02 24 4
gpt4 key购买 nike

我想知道是否有任何方法可以使用元素或属性在 XML 文件中声明一个图像,然后在 XSL 文件中使用该图像将其输入到表中,而不必在 XSL 中创建表和将图像一张一张地输入到表格单元格中。这是我当前的 XML 文档(不完整,因为我只是在测试它)。

<?xml version= "1.0"?>
<?xml-stylesheet type="text/xsl" href="stylesheet4.xsl"?>
<countries>
<country>
<countryname>United States</countryname>
<countryflag>bg_locale.jpg</countryflag>
</country>

<country>
<countryname>United Kingdom</countryname>
</country>

<country>
<countryname>Deutschland</countryname>
</country>
</countries>

这是我创建的 XSL 文件和我尝试使用的方法:

<?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="/countries">
<html>
<body bgcolor="black">

<div id="container" style="100%">

<div id="header" style="background-color:black; height:60px"></div>


<div id="content_container" align="center">
<div id="content" align="left" style="background: url('bg_locale.jpg');height:845px;width:848px">
Content goes here
<img src="logo_timber.jpg" align="left"/><br/>
<br/>
<br/>
<br/>
<table border="1">

<tr>
<xsl:apply-templates/>
</tr>

</table>
</div>

</div>

</div>
</body>
</html>

</xsl:template>

<xsl:template match="country">
<tr><td><xsl:value-of select="countryflag"/></td></tr>
</xsl:template>

</xsl:stylesheet>

如您所见,我创建了一个表格,并希望 XSL 从 XML 文件中获取图像,然后使用它,以便每个国家/地区的国旗图像都在表格中一一显示。

最佳答案

这不是精确的解决方案,但我正在向您演示如何使用 for-each 来复制不同的标志!

 <xsl:template match="/countries">
<table>
<xsl:for-each select="country">
<tr>
<td>
<xsl:value-of select="countryname"/>
</td>
<td>
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="countryflag"/>
</xsl:attribute>
<xsl:attribute name="align">left</xsl:attribute>
</xsl:element>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>

这将在不同行中复制不同国家/地区标志的值!

Ps: 这只是一个示例代码!我不检查 countryflag 是否存在。我假设它会一直在那里..在创建 img 标签之前,您需要检查 countryflag 是否存在/null 在更安全的一端,否则它可能会创建 img 标签,src 为 null..

编辑:没有<xsl:element>的更简单的解决方案标签..

 <xsl:template match="/countries">
<table>
<xsl:for-each select="country">
<tr>
<td>
<xsl:value-of select="countryname"/>
</td>
<td>
<img src="{countryflag}" align="left"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>

关于html - 将图像从 XML 插入到 XSL 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13780145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com