- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要帮助来设置 XSL 文件的 HTML 输出,以根据节点元素值的更改生成具有交替背景颜色的行结果。数据来自SQL Server 2008,查询结果按“DivisionName”节点元素排序。
SELECT
d.DivisionName,
CASE
WHEN t.ActualFinish is not NULL
THEN convert(varchar, datepart(mm, t.ActualFinish))+ '/' + convert(varchar, datepart(dd, t.ActualFinish)) + '/' + convert(varchar, datepart(yyyy, t.ActualFinish))
ELSE ' '
END AS "Date",
r.RegionName,
t.Name,
CASE
WHEN t.ScheduleByElement is not NULL
THEN t.ScheduleByElement
ELSE ' '
END AS "ScheduleByElement",
'' AS "Activity",
'' AS "Team",
CASE
WHEN t.WatchStatus is not NULL
THEN convert(varchar, datepart(mm, t.WatchStatus))+ '/' + convert(varchar, datepart(dd, t.WatchStatus)) + '/' + convert(varchar, datepart(yyyy, t.WatchStatus))
ELSE ' '
END AS "Status"
FROM
dbo.Tasks AS t
INNER JOIN dbo.Division AS d
ON t.fk_DivisionID = d.DivisionID
INNER JOIN dbo.Region AS r
ON t.fk_RegionID = r.RegionID
WHERE
(t.OutlineLevel = 3)
AND (t.ScheduleByElement <> '')
AND (t.FileName LIKE 'NVDE%')
AND (t.ActualFinish is not NULL)
ORDER BY d.DivisionName, t.ActualFinish, r.RegionName
FOR XML PATH('DivisonName'), ROOT('CCDN')
XSL文件的完整内容如下:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/ROOT">
<table border="1" cellpadding="6">
<tr bgcolor="#9acd32">
<td>Division</td>
<td>Date</td>
<td>Region</td>
<td>System Name</td>
<td>Schedule by/Plan by Element</td>
<td>Activity</td>
<td>Deployment Engineering Team</td>
<td>Status</td>
</tr>
<xsl:for-each select="CCDN/DivisonName [not(preceding-sibling::DivisionName[1]/@DivisionNameID = @DivisionNameID)]">
<xsl:variable name="DivisionNameID" select="@DivisionNameID" />
<xsl:variable name="bgcolor">
<xsl:choose>
<xsl:when test="position() mod 2 = 1">#FFFFCC</xsl:when>
<xsl:otherwise>#CCFFFF</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:for-each select=".|following-sibling::DivisionName[@DivisionNameID = $DivisionNameID]">
<tr bgcolor="{$bgcolor}">
<xsl:for-each select="./*">
<td>
<xsl:value-of select="." />
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</xsl:for-each>
</table>
</xsl:template>
我在您的网站上搜索了与此类似的其他问题,但没有找到在特定节点元素的变化值上定义颜色的示例。目前,结果是表格在#FFFFCC 和#CCFFFF 之间交替每隔一行的背景颜色,而不管 DivisionName 的值如何。
以下 HTML 可能更好地说明了我正在寻找的结果。这些行根据分区 A、B、C 和 D 升序排列。与第一个分区相关联的所有行都是一种阴影(白色)或颜色,与下一个相关联的所有行都是另一种阴影或颜色,并且然后从那一点开始重复。如果没有为 A 返回任何行,则 B 将为白色和交替。没有为特定分度值定义特定阴影或颜色的硬编码。无论返回的除法如何,它都会改变,只关心除法值是否发生变化。
<style type="text/css">
table.mystyle
{
border-width: 0 0 1px 1px;
border-spacing: 0;
border-collapse: collapse;
border-style: solid;
}
.mystyle td, .mystyle th
{
margin: 0;
padding: 4px;
border-width: 1px 1px 0 0;
border-style: solid;
}
tr.oddcolor
{
Background-color:#FFFFFF;
}
tr.evencolor
{
Background-color:#CCCCCC;
}
</style>
<table class="mystyle">
<tr>
<b>
<td>Division</td>
<td>Date</td>
<td>Region</td>
<td>System Name</td>
<td>Schedule by/Plan by Element</td>
<td>Activity</td>
<td>Deployment Engineering Team</td>
<td>Status</td>
</b>
</tr>
<tr bgcolor="#FFFFCC">
<td>A</td>
<td>3/2/2012</td>
<td>region</td>
<td>xxx</td>
<td>xxxx</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr bgcolor="#FFFFCC">
<td>A</td>
<td>4/12/2012</td>
<td>region</td>
<td>xxx</td>
<td>xxxx</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr bgcolor="#FFFFCC">
<td>A</td>
<td>4/12/2012</td>
<td>region</td>
<td>xxx</td>
<td>xxxx</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr bgcolor="#CCFFFF">
<td>B</td>
<td>4/27/2012</td>
<td>region</td>
<td>xxx</td>
<td>xxxx</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr bgcolor="#CCFFFF">
<td>B</td>
<td>5/1/2012</td>
<td>region</td>
<td>xxx</td>
<td>xxxx</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr bgcolor="#FFFFCC">
<td>C</td>
<td>5/15/2012</td>
<td>region</td>
<td>xxx</td>
<td>xxxx</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr bgcolor="#FFFFCC">
<td>C</td>
<td>5/24/2012</td>
<td>region</td>
<td>xxx</td>
<td>xxxx</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr bgcolor="#CCFFFF">
<td>D</td>
<td>5/25/2012</td>
<td>region</td>
<td>xxx</td>
<td>xxxx</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
谢谢。
最佳答案
那我再来一场狂欢吧。此方法依赖于已按部门排序的数据。
XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
<row division="a">Data</row>
<row division="a">D1123ta</row>
<row division="b">Da123ta</row>
<row division="b">Da14ta</row>
<row division="b">Da12312ta</row>
<row division="c">Da123ta</row>
<row division="c">Dat123a</row>
<row division="c">Da123ta</row>
<row division="c">Dat123a</row>
<row division="d">Da123ta</row>
<row division="d">Dat123a</row>
</root>
XSL
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output indent="yes"/>
<xsl:key name="arb" match="/root/row" use="@division"/>
<xsl:template match="/">
<!-- <table>
<xsl:for-each select="root/row">
<xsl:if test="generate-id(.) = generate-id(key('arb',@division))">
<tr><td>New Colour</td></tr>
</xsl:if>
<tr><td><xsl:value-of select="."/></td></tr>
</xsl:for-each>
</table>-->
<html>
<body>
<table>
<xsl:for-each select="root/row[generate-id(.) = generate-id(key('arb',@division))]">
<xsl:variable name="local_div" select="@division"/>
<tbody>
<xsl:if test="position() mod 2 = 0">
<xsl:attribute name="bgcolor">red</xsl:attribute>
</xsl:if>
<xsl:for-each select="../row[@division=$local_div]">
<tr><td><xsl:value-of select="@division"/></td><td><xsl:value-of select="."/></td></tr>
</xsl:for-each>
</tbody>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
产品
<html>
<body>
<table>
<tbody>
<tr>
<td>a</td>
<td>Data</td>
</tr>
<tr>
<td>a</td>
<td>D1123ta</td>
</tr>
</tbody>
<tbody bgcolor="red">
<tr>
<td>b</td>
<td>Da123ta</td>
</tr>
<tr>
<td>b</td>
<td>Da14ta</td>
</tr>
<tr>
<td>b</td>
<td>Da12312ta</td>
</tr>
</tbody>
<tbody>
<tr>
<td>c</td>
<td>Da123ta</td>
</tr>
<tr>
<td>c</td>
<td>Dat123a</td>
</tr>
<tr>
<td>c</td>
<td>Da123ta</td>
</tr>
<tr>
<td>c</td>
<td>Dat123a</td>
</tr>
</tbody>
<tbody bgcolor="red">
<tr>
<td>d</td>
<td>Da123ta</td>
</tr>
<tr>
<td>d</td>
<td>Dat123a</td>
</tr>
</tbody>
</table>
</body>
</html>
关于html - HTML 行结果的 XSL 替代背景颜色基于 SQL 查询填充的节点元素的变化值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12485067/
我正在阅读 java swing,但在理解它时遇到问题。 Color 是一个类吗? Color[] col= {Color.RED,Color.BLUE}; 这在java中是什么意思? 最佳答案 Is
我正在研究用 python 编写的 pacman 程序。其中一个模块是处理吃 bean 游戏的图形表示。这当然是一些主机颜色。列表如下: GHOST_COLORS = [] ## establishe
本网站:http://pamplonaenglishteacher.com 源代码在这里:https://github.com/Yorkshireman/pamplona_english_teache
我最近将我的手机更新为 Android Marshmallow 并在其上运行了我现有的应用程序,但注意到颜色行为有所不同:将更改应用到 View (可绘制)的背景时,共享相同背景的所有 View (引
所有 X11/w3c 颜色代码在 Android XML 资源文件格式中是什么样的? I know this looks a tad ridiculous as a question, but giv
试图让 ffmpeg 创建音频波形,同时能够控制图像大小、颜色和幅度。我已经尝试过这个(以及许多变体),但它只是返回无与伦比的 "。 ffmpeg -i input -filter_complex "
我很好奇你是否有一些关于 R 中颜色酿造的技巧,对于许多独特的颜色,以某种方式使图表仍然好看。 我需要大量独特的颜色(至少 24 种,可能需要更多,~50 种)用于堆叠区域图(所以不是热图,渐变色不起
我看到的许多 WPF 示例和示例似乎都有硬编码的颜色。这些指南 - http://msdn.microsoft.com/en-us/library/aa350483.aspx建议不要硬编码颜色。在构建
我想更改文件夹的默认蓝色 如何设置? 最佳答案 :hi Directory guifg=#FF0000 ctermfg=red 关于Vim NERDTree 颜色,我们在Stack Overflow上
是否有关于如何将任意字符串哈希为 RGB 颜色值的最佳实践?或者更一般地说:3 个字节。 你问:我什么时候需要这个?这对我来说并不重要,但想象一下任何 GitHub 上的那些管图 network pa
我正在尝试将默认颜色设置为自定义窗口小部件。 这是有问题的代码。 class ReusableCard extends StatelessWidget { ReusableCard({this.
import javax.swing.*; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.Ta
我有一个 less 文件来定义一堆颜色/颜色。每个类名都包含相关颜色的名称,例如 .colourOrange{..} 或 .colourBorderOrange{..} 或 navLeftButtOr
我有一个RelativeLayout,我需要一个黑色背景和一个位于其中间的小图像。我使用了这段代码: 其中@drawable/bottom_box_back是: 这样我就可以将图像居中了。但背
我需要设置 浅色 的 JPanel 背景,只是为了不覆盖文本(粗体黑色)。 此刻我有这个: import java.util.Random; .... private Random random =
我正在尝试制作一个自定义文本编辑器,可以更改特定键入单词的字体和颜色。如何更改使用光标突出显示的文本的字体和/或颜色? 我还没有尝试过突出显示部分。我尝试获取整个 hEdit(HWND) 区域并更改字
我想改变我整个应用程序的颜色。 在我的 AndroidManfiest.xml 中,我有正确的代码: 在 values 文件夹中,我有 app_theme.xml: @style/MyAc
是否可以使用 android 数据绑定(bind)从 xml 中引用颜色? 这很好用: android:textColor="@{inputValue == null ? 0xFFFBC02D : 0
有没有办法在 Android 应用程序中设置“空心”颜色? 我的意思是我想要一个带有某种背景的框,而文本实际上会导致背景透明。换句话说,如果整个 View 在蓝色背景上,文本将是蓝色的,如果它是红色的
我用CGContextStrokePath画在白色背景图片中的一条直线上,描边颜色为红色,alpha为1.0画线后,为什么点不是(255, 0, 0),而是(255, 96, 96)为什么不是纯红色?
我是一名优秀的程序员,十分优秀!