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
如何在XSLT2.0中对数字进行排序?_Xslt_Xslt 2.0 - Fatal编程技术网

如何在XSLT2.0中对数字进行排序?

如何在XSLT2.0中对数字进行排序?,xslt,xslt-2.0,Xslt,Xslt 2.0,我有以下输入XML <?xml version="1.0" encoding="UTF-8"?> <Workers> <Worker> <id>1234</id> <loc>New York</loc> <Days>1</Days> <StartDate>2019-01-26</StartDate> </Worker> &

我有以下输入XML

<?xml version="1.0" encoding="UTF-8"?>
<Workers>
<Worker>
    <id>1234</id>
    <loc>New York</loc>
    <Days>1</Days>
    <StartDate>2019-01-26</StartDate>
</Worker>
<Worker>
    <id>2345</id>
    <loc>Boston</loc>
    <Batch>A</Batch>
    <Days>3</Days>
    <Units>2</Units>
    <StartDate>2019-02-01</StartDate>
</Worker>
</Workers>

有人能帮我找出我还可以尝试获取正确序列号的其他方法吗(
请?

只需定义一个变量来保存
值,并在复制
单位时将其添加到
参数中即可

<xsl:variable name="days" select="Days" />
<xsl:for-each select="1 to Units">
  <xsl:apply-templates select="$currElem" mode="replicate">
    <xsl:with-param name="dayNo" select=". + $days"/>
  </xsl:apply-templates>
</xsl:for-each>

只要定义一个变量来保存
Days
值,并在复制
单位时将其添加到
dayNo
参数中即可

<xsl:variable name="days" select="Days" />
<xsl:for-each select="1 to Units">
  <xsl:apply-templates select="$currElem" mode="replicate">
    <xsl:with-param name="dayNo" select=". + $days"/>
  </xsl:apply-templates>
</xsl:for-each>

<?xml version="1.0" encoding="UTF-8"?>
<Workers>
<Worker>
    <id>1234</id>
    <loc>New York</loc>
    <Days>1</Days>
    <StartDate>2019-01-26</StartDate>
</Worker>
<Worker>
    <id>2345</id>
    <loc>Boston</loc>
    <RecordNumber>1</RecordNumber>
    <WorkerDays>1</WorkerDays>
    <StartDate>2019-02-01</StartDate>
</Worker>
<Worker>
    <id>2345</id>
    <loc>Boston</loc>
    <RecordNumber>2</RecordNumber>
    <WorkerDays>1</WorkerDays>
    <StartDate>2019-02-02</StartDate>
</Worker>
<Worker>
    <id>2345</id>
    <loc>Boston</loc>
    <RecordNumber>3</RecordNumber>
    <WorkerDays>1</WorkerDays>
    <StartDate>2019-02-03</StartDate>
</Worker>
<Worker>
    <id>2345</id>
    <loc>Boston</loc>
    <RecordNumber>4</RecordNumber>
    <WorkerDays>1</WorkerDays>
    <StartDate>2019-02-01</StartDate>
</Worker>
<Worker>
    <id>2345</id>
    <loc>Boston</loc>
    <RecordNumber>5</RecordNumber>
    <WorkerDays>1</WorkerDays>
    <StartDate>2019-02-02</StartDate>
</Worker>
 </Workers>
<xsl:variable name="days" select="Days" />
<xsl:for-each select="1 to Units">
  <xsl:apply-templates select="$currElem" mode="replicate">
    <xsl:with-param name="dayNo" select=". + $days"/>
  </xsl:apply-templates>
</xsl:for-each>