" NSL"在XSL文件中的含义

时间:2017-06-12 09:12:00

标签: xml xslt soa

我是XSL文件的新手,我在解密以下代码片段时遇到了一些麻烦。我在互联网上搜索过,找不到任何东西可以告诉我什么" nsl"完全是指。 有人可以为我阐明一下吗? 这是SOA系统的一部分。

                <xsl:when test='ns1:Payment/ns1:PaymentHeader/ns1:ConsolidationType = "STANDARD"'>
                    <xsl:for-each select="ns1:Payment/ns1:PaymentModeDetail/ns1:GenericDetail/ns1:GenericLineItem">
                       <ns0:ApInvoiceLinesInterface>
                          <ns0:invoiceLineId>
                             <xsl:value-of select="oraext:sequence-next-val('AP_INVOICE_LINES_INTERFACE_S',$CONN)"/>
                          </ns0:invoiceLineId>
                          <xsl:choose>
                             <xsl:when test="ns1:CommonInvoiceLineElements/ns1:AdjustmentReasonGid/ns1:Gid/ns1:Xid!=''">                                 
                                <ns0:lineTypeLookupCode>
                                   <xsl:text disable-output-escaping="no">MISCELLANEOUS</xsl:text>
                                </ns0:lineTypeLookupCode>
                             </xsl:when>
                             <xsl:otherwise>
                                <ns0:lineTypeLookupCode>
                                   <xsl:text disable-output-escaping="no">FREIGHT</xsl:text>
                                </ns0:lineTypeLookupCode>
                             </xsl:otherwise>
                          </xsl:choose>
                          <ns0:amount>
                             <xsl:value-of select="ns1:CommonInvoiceLineElements/ns1:FreightRate/ns1:FreightCharge/ns1:FinancialAmount/ns1:MonetaryAmount"/>
                          </ns0:amount>
                          <ns0:description>
                             <xsl:value-of select='concat(substring-after(../../../ns1:PaymentHeader/ns1:InvoiceRefnum[ns1:InvoiceRefnumQualifierGid/ns1:Gid/ns1:Xid="INVOICE_DESCRIPTION"]/ns1:InvoiceRefnumValue,"BNM."),ns1:CostTypeGid/ns1:Gid/ns1:Xid)'/>
                          </ns0:description>
                          <ns0:taxClassificationCode>
                             <xsl:value-of select='concat(../../../ns1:PaymentHeader/ns1:VatAnalysis/ns1:VatCodeGid/ns1:Gid/ns1:Xid,"%")'/>
                          </ns0:taxClassificationCode>
                          <ns0:distCodeConcatenated>
                             <xsl:value-of select="ns1:CommonInvoiceLineElements/ns1:GeneralLedgerGid/ns1:Gid/ns1:Xid"/>
                          </ns0:distCodeConcatenated>
                       </ns0:ApInvoiceLinesInterface>
                    </xsl:for-each>
                 </xsl:when>

我最想了解的是:

<ns0:amount>
  <xsl:value-of select="ns1:CommonInvoiceLineElements/ns1:FreightRate/ns1:FreightCharge/ns1:FinancialAmount/ns1:MonetaryAmount"/>
</ns0:amount>

我想要理解这一点的原因是因为我相信这个块的以下代码段在传递给它的负数时返回一个正值。

提前致谢!

1 个答案:

答案 0 :(得分:2)

ns1是用于选择命名空间中的元素的前缀。在样式表的某处,有一个名称空间声明,将此前缀绑定到名称空间URI,格式为:

xmlns:ns1="some/string"

在源XML中的某处,有一个类似的名称空间声明,将其部分或全部元素放在此命名空间中。您需要使用绑定到同一名称空间URI的前缀,以便选择此名称空间中的元素。

  

我相信这个块的以下代码段正在返回一个   传递负数时的数字的正值   它。

我认为没有这种信念的基础。为什么不发布显示问题的(最小化)示例。