У меня есть этот XML-документ: теперь я хочу заменить LineNo, чтобы на выходе была строка no will 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 в том же формате, что и в паре случаев, когда он не дает ожидаемого формата.
Любая помощь будет оценена по достоинству.
<LineNo>000010</LineNo>
на<LineNo>1</LineNo>
, потому что хотите удалить все0
цифры или потому что его родительский элементOrder
является первым в своей группе? - person Martin Honnen   schedule 14.11.2016xsl:for-each-group
? - person michael.hor257k   schedule 14.11.2016