最近的更新我已经包括一个样品XSL和电流输出:)XSL TR和TD元素
示例XML
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="xsl">
>
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:template match="/Report">
<xsl:text disable-output-escaping='yes'><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
</xsl:text>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>My Report</title>
</head>
<body>
<xsl:element name="table" namespace="">
<xsl:element name="tr" namespace="">
<xsl:attribute name="id">123</xsl:attribute>
<xsl:element name="td" namespace="">
<xsl:attribute name="style">width: 15%;</xsl:attribute>
<xsl:element name="div" namespace="">
mememe
</xsl:element>
</xsl:element>
<xsl:element name="td" namespace="">
<xsl:element name="div" namespace="">
hi there
</xsl:element>
</xsl:element>
<xsl:element name="td" namespace="">
<xsl:attribute name="style">width: 3%; text-align:center; padding:0px;</xsl:attribute>
<xsl:element name="div" namespace="">
no chance
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
电流输出
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My Report</title>
</head>
<body>
<table xmlns="">
<tr id="123">
<td style="width: 15%;">
<div>
mememe
</div>
</td>
<td>
<div>
hi there
</div>
</td>
<td style="width: 3%; text-align:center; padding:0px;">
<div>
no chance
</div>
</td>
</tr>
</table>
</body>
</html>
问题 xmlns =“”打破了我严格的HTML验证以及所有后续的CSS。我如何摆脱它?谢谢!
,除非你想看看它是如何开始
编辑我需要tr标签的属性id
,因为我需要分配值,所以我可以使用它,不要向下滚动作为一个定位点。
CODE
<xsl:template match="Details">
<xsl:element name="tr">
<xsl:attribute name="id">
<xsl:value-of select="following-sibling::PluginID"></xsl:value-of>
<xsl:element name="td">Mall 3</xsl:element>
<xsl:element name="td">00003</xsl:element>
<td class="medium">
<div>
<a href="#top">
<xsl:apply-templates select="text()"/>
</a>
</div>
</td>
<td class="darkstyle" style="width: 3%; text-align:center; padding:0px;">
<div>
<a href="#top">Top</a>
</div>
</td>
</xsl:attribute>
</xsl:element>
</xsl:template>
发行
我不能使用xsl:element
添加<td>
,我也不能使用html <td>
标签。 那么我该如何做?有TD有类和其他风格需要应用inline
,他们应该都有一个<div>
其中有一些价值。
除非是否有另一种方法将PluginID
的值赋值为<tr>
?
然后我该如何添加实际的<div>
以及它的价值?
任何帮助或建议,将不胜感激!
编辑我得到的类应用和它转换没有错误,但CSS <style>
标签没有被应用,只有类的风格是!有任何想法吗?
<xsl:element name="tr">
<xsl:attribute name="id">
<xsl:value-of select="following-sibling::PluginID"></xsl:value-of>
</xsl:attribute>
<xsl:element name="td">
<xsl:attribute name="class">
medium
</xsl:attribute>
<xsl:attribute name="style">
width: 15%;
</xsl:attribute>
<xsl:element name="div">
<xsl:value-of select="following-sibling::RiskDesc"/>
</xsl:element>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">
medium
</xsl:attribute>
<xsl:element name="div">
<xsl:apply-templates select="text()"/>
</xsl:element>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">
darkstyle
</xsl:attribute>
<xsl:attribute name="style">
width: 3%; text-align:center; padding:0px;
</xsl:attribute>
<xsl:element name="div">
Top
</xsl:element>
</xsl:element>
</xsl:element>
电流输出
<tr xmlns="" id="10026">
<td class=" 					medium 				" style=" 					width: 15%; 				">
<div>Medium</div>
</td>
<td class=" 					medium 				">
<div>Derp Derp</div>
</td>
<td class=" 					darkstyle 				" style=" 					width: 3%; text-align:center; padding:0px; 				">
<div>
Top
</div>
</td>
</tr>
编辑简单的例子:
<xsl:element name="div">
<xsl:attribute name="class">
darkstyle
</xsl:attribute>
<!-- THE ISSUE IS THAT THIS STYLE ATTRIBUTE IS NOT BEING APPLIED! -->
<xsl:attribute name="style">
width: 3%; text-align:center; padding:0px;
</xsl:attribute>
<xsl:element name="div">
Top
</xsl:element>
</xsl:element>
ASSOCIATED CSS
.darkstyle{
vertical-align: text-top;
background:#666;
}
UPDATE的一个问题是,我有这正在变成转义字符选项卡上ONE线使用
<xsl:attribute name="class">darkstyle</xsl:attribute>
,它会创建适当的HTML。
我设法跟踪突破至<tr>
标签,上面的代码,生成以下内容:
<tr xmlns="" id="10020">
正是这种xmls=""
,打破我所有的CSS的。 我能做些什么?仅供参考:我尝试将namespace=""
添加到tr
,但这并不妨碍它。
XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
exclude-result-prefixes="yes"
>
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:template match="/Report">
<xsl:text disable-output-escaping='yes'><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
</xsl:text>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
你为什么试图在属性内的下几个元素? –
@Jim Garrison我需要为'tr'指定一个id值,并且我需要创建具有应用样式的'td's'。我不明白你的问题。你能解释一下你的意思吗? – codeCompiler77
也许您可以向我们提供我们可以用来重现错误的输入 –