在 XSLT 中替换值

In XSLT replace value

我有这个 XML 文档:现在我想替换 LineNo 以便输出第 1 ,2 行。我试过这样的事情。

<xsl:value-of select="replace( '000010',1)"/>
<Rder> 
   <Order>
      <OrderNo>458</OrderNo>
      <LineNo>000010</LineNo>
      <SerialNO>96</SerialNO>
       <VNo>543</VNo>
      </Order>
     <Order>
     <OrderNo>458</OrderNo>
     <LineNo>000020</LineNo>
     <SerialNO>32</SerialNO>
     <VNo>543</VNo>
     </Order>
</Rder>
I want to replace the value of LineNo= 000010 ,000020 by 1,2 in XSLT below  one i  have tried.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" indent="yes" />
<xsl:key name="orders" match="Order" use="OrderNo" />
<xsl:template match="/*">
      <SalesOrders>
        <xsl:for-each select="Rder/Order[generate-id() = generate-id(key('orders', OrderNo)[1])]">
          <Order VNo="{VNo}" OrderNo="{OrderNo}"> 
            <OrderLines>
              <xsl:apply-templates select="key('orders', OrderNo)" />
            </OrderLines>
          </Order>
        </xsl:for-each>
      </SalesOrders>
    </xsl:template>
<xsl:template match="Order">
        <OrderLine  LineNo="{LineNo}" SerialNO="{SerialNO}"/>
    </xsl:template>
</xsl:stylesheet>

实际上,我以相同的格式获取那些 lineno 详细信息,我已经尝试了几个案例,它没有提供预期的格式。

如有任何帮助,我们将不胜感激。

你为什么不简单地做:

<xsl:template match="Order">
    <OrderLine  LineNo="{position()}" SerialNO="{SerialNO}"/>
</xsl:template>

或:

<xsl:template match="Order">
    <OrderLine  LineNo="{number(LineNo) div 10}" SerialNO="{SerialNO}"/>
</xsl:template>