与css相比,xsl需要什么?
那么我碰巧遇到了一些代码片段,并不能理解使用css可以完成同样的事情时对xsl的需求。 例如与css相比,xsl需要什么?
<?xml-stylesheet type = "text/css" href = "6a.css" ?>
<ENG-COLLEGE>
<XYZ>
<USN>145456</USN>
<NAME>ABC</NAME>
<COLLEGE>TYUIT</COLLEGE>
<BRANCH>ISE</BRANCH>
<YEAR>2003</YEAR>
<EMAIL>[email protected]</EMAIL>
</XYZ>
<ENG-COLLEGE>
为
USN{font-family:'sans serif';color:orange;font-size:15pt;}
NAME{font-family:'arial';color:red;font-size:15pt;}
COLLEGE{font-family:'Times New Roman';color:lime;font-size:15pt;}
BRANCH{font-family:'Comic Sans MS';color:gray;font-size:15pt;}
YEAR{font-family:'Century Gothic';color:blue;font-size:15pt;}
EMAIL{font-family:'Georgia';color:green;font-size:15pt;}
Althought相同的造型可以使用XSL,其中涉及的多行代码
<xsl:stylesheet version = "1.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
xmlns = "">
<xsl:template match = "ENG-COLLEGE">
<html><head><title>Test XSL</title>
</head><body bgcolor="lightgreen">
<center><h2>INFORMATION </h2>
<table border="1">
<tr><td>USN</td><td>NAME</td><td>COLLEGE</td><td>BRANCH</td><td>YEAR</td> <td>EMAIL</td></tr>
<xsl:for-each select ="VTU">
<tr>
<td> <xsl:value-of select = "USN" /></td>
<td><xsl:value-of select = "NAME" /></td>
<td><xsl:value-of select = "COLLEGE" /></td>
<td> <xsl:value-of select = "BRANCH" /></td>
<td><xsl:value-of select = "YEAR" /></td>
<td><xsl:value-of select = "EMAIL" /></td>
</tr>
</xsl:for-each>
</table>
</center>
</body></html>
</xsl:template>
</xsl:stylesheet>
以及我失去了实现造型等效CSS代码这里的一些东西,我的意思是为什么任何人使用xsl时,CSS可以使这项工作如此简单。
嗯,我碰巧经过一些 代码段运行并且不可能了解 对XSL的需求当一回事 可以使用CSS来完成。例如,
对于那些面向CSS的示例而言,真实情况并非如此。 如果输入XML包含了许多<XYZ>
元素:
<ENG-COLLEGE>
<XYZ>
<USN>145456</USN>
<NAME>ABC</NAME>
<COLLEGE>TYUIT</COLLEGE>
<BRANCH>ISE</BRANCH>
<YEAR>2003</YEAR>
<EMAIL>[email protected]</EMAIL>
</XYZ>
<XYZ>
<USN>145456</USN>
<NAME>DEF</NAME>
...
</XYZ>
etc.
</ENG-COLLEGE>
,你需要产生这些记录的表,由NAME
元素的内容进行排序,忽略那些YEAR
是2000年以前,与EMAIL
地址被一个“mailto”链接包围......你如何在CSS中做到这一点?
+1一个很好的答案。 – 2010-11-11 03:20:10
是的,但请注意,除了排序(不知道“mailto:”链接,因为它可以与propietary CSS posible)其他的东西可以用CSS来完成。 – 2010-11-11 16:09:59
@Alej:我没有意识到CSS可以过滤文本节点的值。 – LarsH 2010-11-12 02:44:53
嗯...我不认为这是一个正确的问题。很明显,OP从发布的例子知道什么是CSS和XSLT。所以这是一种主观的“相对”问题。 – 2010-11-10 19:26:14
我认为这是一个足够真正的问题:如果OP认为CSS可以完成XSLT所能做的一切,那么OP并不真正了解XSLT的用途。 – LarsH 2010-11-10 21:53:46
@LarsH:我不同意。如果OP的意图是理解他/她没有意识到的某些用例,那么这个问题就不会被称为“相对”的问题。作为一个关于如何不帮助其他人的证明,请运行一个关于'[xslt]'标签的搜索,你会在列表顶部找到一些混淆结果的问题。 – 2010-11-11 16:17:33