什么<ext:do =“”in =“”xslt?=“”

时间:2018-02-09 10:13:35

标签: xml xslt

=“”

XSLT新手,无法使用Google找到答案。

我需要编写一个基于现有XSLT的新XSLT,他们使用的XSLT&lt; ext:根据我的理解在生成的XML中添加新标签。

我在哪里可以找到对此的解释?

这是好习惯吗?

这是XSLT的一部分:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ax="http://schemas.microsoft.com/dynamics/2008/01/documents/Message" xmlns:purchaserequisition="http://schemas.microsoft.com/dynamics/2008/01/documents/PurchaseRequisition" xmlns:ext="IgepaFormat" version="1.0" exclude-result-prefixes="ext ax purchaserequisition">
        <xsl:output method="xml" encoding="ISO-8859-1" version="1.0" standalone="yes" indent="yes" omit-xml-declaration="no" /> 
        <xsl:namespace-alias stylesheet-prefix="ext" result-prefix="#default" /> 
        <xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" /> 
        <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> 
        <xsl:template match="ax:Envelope">
            <xsl:for-each select="ax:Body/ax:MessageParts/purchaserequisition:PurchaseRequisition">
                <ext:ORDERS>
                    <ext:Envelop>
                        <ext:RecordType>ENV</ext:RecordType>
                    <ext:OrderHeader>
                        <ext:OrderNumber>
                            <ext:BuyerOrderNumber>
                                <xsl:value-of select="purchaserequisition:VendPurchOrderJour/purchaserequisition:PurchId" />
                            </ext:BuyerOrderNumber>
                            <ext:ListOfMessageID>
                                <ext:MessageID>
                                    <ext:IDNumber>
                                        <xsl:value-of select="purchaserequisition:VendPurchOrderJour/purchaserequisition:PurchId" />
                                    </ext:IDNumber>
                                    <ext:IDAssignedBy>
                                        <IDAssignedByCoded>1</IDAssignedByCoded>
                                    </ext:IDAssignedBy>
                                </ext:MessageID>
                            </ext:ListOfMessageID>              
                        </ext:OrderNumber> 

1 个答案:

答案 0 :(得分:1)

您需要阅读XML“命名空间”

ext:是名称空间前缀。如果你查看样式表的第一行,你应该看到这个声明

xmlns:ext="IgepaFormat" 

因此,元素<ext:ORDERS>表示ORDERS元素属于命名空间“IgepaFormat”。注意,在这种情况下,前缀“ext”是任意的。名称空间URI非常重要。

关于命名空间,这不是一个好的做法问题。如果您输出的XML需要它们,则使用它们(例如,使用您生成的XML的应用程序要求元素位于特定命名空间中)

以下是您可以在https://www.xml.com/pub/a/1999/01/namespaces.html

上阅读的一个潜在链接