Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
.net 使用xslt创建空间填充模板_.net_Xml_Whitespace_Xslt 1.0 - Fatal编程技术网

.net 使用xslt创建空间填充模板

.net 使用xslt创建空间填充模板,.net,xml,whitespace,xslt-1.0,.net,Xml,Whitespace,Xslt 1.0,我需要创建两个单独的模板来填充空间。一个占49个空间,另一个占549个空间。我在模板上找到了我认为可能有用的东西,但我真的不知道它在做什么,我对xml是新手 <!-- Template Filler--> <xsl:template name="Filler"> <xsl:param name="fillercount" select="1"/> <xsl:if test="$fillercount > 0">

我需要创建两个单独的模板来填充空间。一个占49个空间,另一个占549个空间。我在模板上找到了我认为可能有用的东西,但我真的不知道它在做什么,我对xml是新手

<!-- Template Filler-->
  <xsl:template name="Filler">
    <xsl:param name="fillercount" select="1"/>
    <xsl:if test="$fillercount > 0">
      <table class="tabledetails">
        <tr>
          <td>
            <xsl:value-of select="translate(' ', ' ', '&#160;')"/>
          </td>
        </tr>
      </table>
      <xsl:call-template name="Filler">
        <xsl:with-param name="fillercount" select="$fillercount - 1"/>
      </xsl:call-template>
    </xsl:if>
  </xsl:template>

这就是我所需要的,用
select=“49”
来称呼它,还是我读错了。
如果这就是我现在需要的,我如何才能实现这一点?

您还没有说您想要什么输出。如果使用参数49调用此模板,则输出将包含49个表,每个表包含一行和一列,单元格内容为不间断空格字符。生成不间断空格字符的方法非常奇怪:translate()调用将空格字符作为输入,然后通过用不间断空格替换所有空格来处理它。据推测,这是一个精简版的代码,在某个阶段做了一些更明智的事情

代码的基本结构是一个递归模板,它接受一个参数,比如49,输出一个“东西”(在本例中是一个单例表),然后调用自己再次N-1次执行相同的操作。这是在XSLT1.0中执行N次操作的适当方法。(在2.0中,您可以使用
,这对于使用命令式语言的程序员来说更直观。)