2
我對xslt比較陌生,一直在嘗試使用xml結構創建表,但是我發現很難限制每行中字段的數量..xslt - 限制xslt轉換中的行
<report>
<status>
<statuscheck>
<node>node1</node>
<RAG>red</RAG>
<url>http://www.google.com</url>
<area>area1</area>
</statuscheck>
<statuscheck>
<node>node2</node>
<RAG>red</RAG>
<url>http://www.google.com</url>
<area>area1</area>
</statuscheck>
<statuscheck>
<node>node3</node>
<RAG>red</RAG>
<url>http://www.google.com</url>
<area>area1</area>
</statuscheck>
<statuscheck>
<node>node4</node>
<RAG>red</RAG>
<url>http://www.google.com</url>
<area>area1</area>
</statuscheck>
<statuscheck>
<node>node5</node>
<RAG>red</RAG>
<url>http://www.google.com</url>
<area>area1</area>
</statuscheck>
<statuscheck>
<node>node1</node>
<RAG>red</RAG>
<url>http://www.google.com</url>
<area>area2</area>
</statuscheck>
</status>
<area>
<area_name>area1</area_name>
<area_name>area2</area_name>
</area>
我有以下XSLT,但有什麼辦法,我可以得到它的每4個項目後開始一個新行?實際的xml將有多達20個組件每個區域。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<style>
</style>
</head>
<body style="font-family: Sky Text;">
<xsl:for-each select="/report/area/area_name">
<div style="font-size: 20px; font-weight: bold; margin: 10px 0 10px 0;"><xsl:value-of select="."/></div>
<table style="font-family: Sky Text; border-collapse: collapse; width: 960px;">
<tbody>
<xsl:variable name="active_area" select="./text()"></xsl:variable>
<xsl:for-each select="/report/status/statuscheck[area/text() = $active_area]">
<td style="width: 240px; border: 1px solid black; text-align: center;" valign="middle">
<xsl:attribute name="class">
<xsl:value-of select="RAG"/>
</xsl:attribute>
<div style="margin: 10px; font-size: 16px;">
<a>
<xsl:attribute name="href">
<xsl:value-of select="url"/>
</xsl:attribute>
<xsl:value-of select="node"/>
</a>
</div>
</td>
</xsl:for-each>
</tbody>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
在此先感謝 加文
參見[XSLT 1.0分組主要針對不同的節點和元素(https://stackoverflow.com/q/7061614/ 205233)提出了一個非常類似的問題。 [相關搜索](https://www.google.com/search?q=site%3Astackoverflow.com+xslt+group+by+key)以及更多類似的問題。 – Filburt
有什麼理由你真的需要這是一張桌子?誠實地從你的HTML看起來,你最好爲每個'statuscheck'創建一個div塊,然後用CSS放置這些塊。 – Flynn1179
謝謝..我對html很新,但使用了CSS佈局,看起來像它會做我所需要的。謝謝 – gav1nb