如何在XSLT2.0中对数字进行排序?
我有以下输入XML如何在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 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>