Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样才能减少;什么时候;XSLT中的语句_Xslt - Fatal编程技术网

我怎样才能减少;什么时候;XSLT中的语句

我怎样才能减少;什么时候;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'">

您好,我正在编写一个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'">
  <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&gt;'50' and ID&lt;'1552'">



听起来这些ID案例远远超出了逻辑,进入了数据领域。很明显,我对你的应用程序一无所知,但也许可以在某个地方(可能是数据库)映射到imagename的ID。根据生成XML文件的过程(第一个,在XSLT转换之前),您可能希望通过此映射显式地设置图像名称(或缺少图像名称)。然后当全部

我看不到您的所有案例时,丢失
,但是如果前两个案例的模式继续,并且您希望IDs 51到1551使用相同的“rightcolumn_Senioriv.jpg”,那么

<xsl: when test="ID&gt;'50' and ID&lt;'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'')
您的解决方案对我来说很好,让我们试试。如果我的服务器再次因大量语句而过载,我会感到害怕。你的解决方案对我来说很好,让我们试试。如果我的服务器再次因大量语句而过载,我会感到害怕。