Я оптимизирую счет для xml, и я хочу, чтобы последние 4 символа были только переменной. Эта переменная может иметь различную длину символов для каждого полученного мной счета, но в результате я хочу получить только последние 4 символа.
Я уже пробовал это с кодом подстроки, но затем мне нужно указать конкретную длину, в которой код должен получить последние 4 символа.
Код, который я использовал:
<xsl:template match="/">
<xsl:for-each select="/x:Invoice">
<xsl:if test="."><xsl:value-of select="substring(translate(cbc:Note,' ',''),27,4)"/></xsl:if>
</xsl:for-each>
</xsl:template>
это код счета:
<UBLVersionID>2.0</UBLVersionID>
<CustomizationID>1.0</CustomizationID>
<ProfileID>PowerOnline</ProfileID>
<ID>194545</ID>
<IssueDate>2019-05-16</IssueDate>
<InvoiceTypeCode>1</InvoiceTypeCode>
<Note>FB - bestelling voor HH7416</Note>
<TaxPointDate>2019-05-16</TaxPointDate>
<DocumentCurrencyCode>EUR</DocumentCurrencyCode>
<LineCountNumeric>7</LineCountNumeric>
<OrderReference>
<ID>Invoice of an supplier</ID>
<SalesOrderID>19538</SalesOrderID>
<IssueDate>2019-04-30</IssueDate>
Ожидаемый результат - последние 4 символа / x: Invoice / cbc: Примечание, так что 7416. Иногда примечание может быть FB - HH6464, поэтому я всегда хочу иметь последние 4 символа этого cbc: Примечание