我怎样才能减少;什么时候;XSLT中的语句
您好,我正在编写一个XSLT语句,其中需要实现1500条条件语句,如-我怎样才能减少;什么时候;XSLT中的语句,xslt,Xslt,您好,我正在编写一个XSLT语句,其中需要实现1500条条件语句,如- <xsl:when test="ID = '51'"> <br> <xsl:text>background: url('rightcolumn_seniorliv.jpg') no-repeat;</xsl:text> <br> </xsl:when> <br> <xsl:when test="ID = '52'">
<xsl:when test="ID = '51'">
<br>
<xsl:text>background: url('rightcolumn_seniorliv.jpg') no-repeat;</xsl:text>
<br>
</xsl:when>
<br>
<xsl:when test="ID = '52'">
<br>
<xsl:text>background: url('rightcolumn_seniorliv.jpg') no-repeat;</xsl:text>
<br>
</xsl:when>
背景:url('rightcolumn_seniorliv.jpg')不重复;
背景:url('rightcolumn_seniorliv.jpg')不重复;
如果我这样写语句,那么我的页面将非常慢。如何减少代码并以智能的方式编写此语句?我看不到您的所有案例,但如果前两个案例的模式继续,并且您希望IDs 51到1551使用相同的“rightcolumn_Senioriv.jpg”,那么
<xsl: when test="ID>'50' and ID<'1552'">
听起来这些ID案例远远超出了逻辑,进入了数据领域。很明显,我对你的应用程序一无所知,但也许可以在某个地方(可能是数据库)映射到imagename的ID。根据生成XML文件的过程(第一个,在XSLT转换之前),您可能希望通过此映射显式地设置图像名称(或缺少图像名称)。然后当全部我看不到您的所有案例时,丢失
,但是如果前两个案例的模式继续,并且您希望IDs 51到1551使用相同的“rightcolumn_Senioriv.jpg”,那么
<xsl: when test="ID>'50' and ID<'1552'">
<xsl:variable name="idlist">
<ids>
<id>50</id>
<id>59</id>
<id>66</id>
...
</ids>
</xsl:variable>
<xsl:key name="idk" match="id" use="."/>
<xsl:when test="key('idk', ID, $idlist)">...
听起来这些ID案例远远超出了逻辑,进入了数据领域。很明显,我对你的应用程序一无所知,但也许可以在某个地方(可能是数据库)映射到imagename的ID。根据生成XML文件的过程(第一个,在XSLT转换之前),您可能希望通过此映射显式地设置图像名称(或缺少图像名称)。然后当
全部
<xsl:variable name="idlist">
<ids>
<id>50</id>
<id>59</id>
<id>66</id>
...
</ids>
</xsl:variable>
<xsl:key name="idk" match="id" use="."/>
<xsl:when test="key('idk', ID, $idlist)">...
50
59
66
...
...
这是XSLT2.0,但可以调整为与1.0一起使用。
50
59
66
...
...
这是XSLT 2.0,但可以调整为与1.0一起使用。它总是完全相同的图片吗?为什么必须使用ID进行筛选?Bkz基于ID我想加载不同的图片background@user499365-如果我理解正确,您在测试ID和图像之间有一些大的映射,对吗?我们有没有可能看到更多的地图,尤其是其他地方?对于哪种测试,将什么图像设置为背景的一般规则是什么?i、 例如,您的工作要求是什么?总是完全相同的图片吗?为什么您必须使用ID进行过滤?Bkz基于ID我想加载不同的图像background@user499365-如果我理解正确,您在测试ID和图像之间有一些大的映射,对吗?我们有没有可能看到更多的地图,尤其是其他地方?对于哪种测试,将什么图像设置为背景的一般规则是什么?i、 例如,你的工作要求是什么?谢谢你的回答,但是ID是随机的,不是按序列的,比如ID=5150345458943。如果我这样说的话,它会工作得更快吗?背景:url('rightcolumn_seniorliv.jpg')不重复@user499365:
包含('3 51 59 66 69 70 74 546 60 63 67 68 140 75 77 147 115 149 92 169 170 171 549 172 519 1260 173 144 146 46 40 39 43',concat('',ID'))
谢谢你的回答,但是ID是随机的,不像序列ID=5150345458943如果我这样说的话,它会工作得更快吗?背景:url('rightcolumn_seniorliv.jpg')不重复@user499365:包含('3 51 59 66 69 70 74 546 60 63 67 68 140 75 77 147 115 149 92 169 170 171 549 172 519 1260 173 144 146 46 40 39 43',concat('',ID'')
您的解决方案对我来说很好,让我们试试。如果我的服务器再次因大量语句而过载,我会感到害怕。你的解决方案对我来说很好,让我们试试。如果我的服务器再次因大量语句而过载,我会感到害怕。