XML数据库联盟XSL 我想用可扩展标记语言( XML )和可扩展样式表语言( XSL )创建简单数据库联盟。目的是开发一个 SimpleCode数据库联盟,可以以简单的形式显示,以生成 联盟 , 足球俱乐部 / 联盟和锦标赛信息。
创建基础代码: XML文件:
<League>
<Team id="Name_Team_id">
<Team_Name>Manchester United</Team_Name>
<description>Info of the Team Database League Premier League</description>
<City>Londres </City>
<Stadium>Teatro de los Sueños </Stadium>
<Players>
<person>
<first_name>W. Rooney</first_name>
<Country_birth>Inglaterra</Country_birth>
<Position>DC, FW</Position>
</person>
</Players>
</Team>
</League>
XSL文件:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" version="4.0"/>
<!-- Definimos Template Root de la hoja completa -->
<xsl:template match="/">
<html>
<head>
<title>XML Database League XSL</title>
</head>
<body>
<h1>XML Database League</h1>
<xsl:apply-templates select="League/Team">
<xsl:sort select="@id"/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<!-- Fin Template Root de la hoja completa -->
<!-- Definimos Template XSL & Buscamos Los Teams del XML -->
<xsl:template match="Team">
<div>
<h2>
<xsl:value-of select="Team_Name"/>
(
<xsl:value-of select="@id"/>
)
</h2>
<!-- Buscamos descripcion de los Teams del XML -->
<xsl:for-each select="description">
<p>
<xsl:value-of select="."/>
</p>
</xsl:for-each>
<!-- Definimos & Buscamos Los Players del XML, Generamos Tabla Estadisticas -->
<table border="1">
<tr bgcolor="#2282b1">
<th>Name</th>
<th>Country</th>
<th>Position</th>
</tr>
<xsl:for-each select="Players/person">
<tr bgcolor="#a9b8c2">
<td><xsl:value-of select="first_name"/></td>
<td><xsl:value-of select="Country_birth"/></td>
<td><xsl:value-of select="Position"/></td>
</tr>
</xsl:for-each>
</table>
<!-- Fin de Los Players del XML -->
</div>
<!-- Fin Template XSL match="Team" -->
</xsl:template>
</xsl:stylesheet>
注意:代码高于正常,可以在该链接中测试: http://xml.we11.net/ligapremier.xml但是当使用代码发布图像时,如:徽标小组,玩家其不显示或显示图片? ... 例如哥伦比亚带图像的代码仅供测试:
文件带有Id团队的XML 和图片支持。
<League>
<Team id="ManchesterUnited" img="colombia.png">
<Team_Name>Manchester United</Team_Name>
<description>Info of the Team Database League Premier League</description>
<City>Londres </City>
<Stadium>Teatro de los Sueños </Stadium>
<Players>
<person>
<first_name>W. Rooney</first_name>
<Country_birth>Inglaterra</Country_birth>
<Position>DC, FW</Position>
</person>
</Players>
</Team>
</League>
为什么不显示具有团队ID的图像?
我迷失了代码...
任何帮助或任何建议或协作者都是欢迎...
可以在链接中测试...不显示团队的图像! :(
先谢谢你的帮助!
学习 Xml &amp; Xsl :)
答案 0 :(得分:0)
如果您询问如何生成<img>
,@src
指向Team/@img
中的图片:
对@src
值使用Attribute Value Template更简单,更简洁,如下所示:
<xsl:template match="Team">
<div>
<h2>
<img src="{@img}"/>
<xsl:value-of select="Team_Name"/>
(
<xsl:value-of select="@id"/>
)
</h2>
您还可以使用更详细的xsl:attribute
:
<img>
<xsl:attribute name="src">
<xsl:value-of select="@img"/>
<xsl:attribute>
</img>
当然,如果XML文件的相对路径无法解析,您需要弄清楚如何构建图像的正确URL。
例如:
<img src="http://xml.we11.net/images/{@img}"/>