Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt xml到xml转换-尝试合并两个XSL_Xslt - Fatal编程技术网

Xslt xml到xml转换-尝试合并两个XSL

Xslt xml到xml转换-尝试合并两个XSL,xslt,Xslt,我正在尝试使用xsl将一个xml转换为另一个xml 将输入XML的“name”属性的值从“Code”更改为“id” 将输入XML的“name”属性的值从“name”更改为“name” 将json:object下outpur xml中json:array下的所有节点复制为 显示在输出xml中 我能够使用两个单独的XSL实现我所需要的功能,并试图找到如何合并这两个XSL的方法,能否请您审阅并帮助我 xsl1: xsl2: 输入XML: <json:object xmlns:soapen

我正在尝试使用xsl将一个xml转换为另一个xml

  • 将输入XML的“name”属性的值从“Code”更改为“id”
  • 将输入XML的“name”属性的值从“name”更改为“name”

  • 将json:object下outpur xml中json:array下的所有节点复制为 显示在输出xml中

  • 我能够使用两个单独的XSL实现我所需要的功能,并试图找到如何合并这两个XSL的方法,能否请您审阅并帮助我

    xsl1:

    
    
    xsl2:

    
    
    输入XML:

    <json:object xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:json="http://www.ibm.com/xmlns/prod/2009/jsonx">
        <json:object name="Header">
            <json:string name="Action">http://webs.abcd.com/CService</json:string>
            <json:string name="RelatesTo">urn:uuid:9455ee68-bc4d-4e6a-9174-fb2000c18e24</json:string>
        </json:object>
        <json:object name="Body">
            <json:object name="GetSimpleCLResponse">
                <json:object name="GetSimpleCLResult">
                    <json:array name="SimpleCarrier">
                        <json:object>
                            <json:string name="Code">m9</json:string>
                            <json:string name="Name">1B9FHQK</json:string>
                        </json:object>
                        <json:object>
                            <json:string name="Code">25</json:string>
                            <json:string name="Name">1TIME</json:string>
                        </json:object>                  
                    </json:array>
                </json:object>
            </json:object>
        </json:object>
    </json:object>
    
    
    http://webs.abcd.com/CService
    urn:uuid:9455ee68-bc4d-4e6a-9174-fb2000c18e24
    m9
    1B9FHQK
    25
    1次
    
    输出XML:

    <json:object xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:json="http://www.ibm.com/xmlns/prod/2009/jsonx" xsi:schemaLocation="http://www.datapower.com/schemas/json jsonx.xsd">
        <json:array name="airlines">
            <json:object>
                <json:string name="id">m9</json:string>
                <json:string name="name">1B9FHQK</json:string>
            </json:object>      
            <json:object>
                <json:number name="id">25</json:number>
                <json:string name="name">1TIME</json:string>
            </json:object>      
        </json:array>
    </json:object>
    
    
    m9
    1B9FHQK
    25
    1次
    
    AFAICT,您只需添加:

    <xsl:template match="/">
        <xsl:apply-templates select="//json:array"/>
    </xsl:template>
    
    
    
    到第一个样式表

    <json:object xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:json="http://www.ibm.com/xmlns/prod/2009/jsonx" xsi:schemaLocation="http://www.datapower.com/schemas/json jsonx.xsd">
        <json:array name="airlines">
            <json:object>
                <json:string name="id">m9</json:string>
                <json:string name="name">1B9FHQK</json:string>
            </json:object>      
            <json:object>
                <json:number name="id">25</json:number>
                <json:string name="name">1TIME</json:string>
            </json:object>      
        </json:array>
    </json:object>
    
    <xsl:template match="/">
        <xsl:apply-templates select="//json:array"/>
    </xsl:template>