最近的更新我已經包括一個樣品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
也許您可以向我們提供我們可以用來重現錯誤的輸入 –