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
提取XML片段以用作前缀mods的输出_Xml_Xslt - Fatal编程技术网

提取XML片段以用作前缀mods的输出

提取XML片段以用作前缀mods的输出,xml,xslt,Xml,Xslt,我在想一个描述性的标题。。。哈哈 无论如何;这可能很简单,但我在这里有点挣扎。我有一个需要处理的输入。我需要这样做: 提取进程及其所有子进程。 将所有客户端NS前缀更改为fha 将基本名称空间添加到进程标记是的,我知道这很时髦,但这正是我所消耗的资源所需要的。 输入文件 2812883060 1000006611 2019/01/31 16:23:55 ZFWF 1. 米斯莫亚斯2.4 这对你有用吗 XSLT1.0 事实证明,我不需要对嵌入的片段做任何事情。端点能够掌握嵌入文档的默认名称空间,但

我在想一个描述性的标题。。。哈哈

无论如何;这可能很简单,但我在这里有点挣扎。我有一个需要处理的输入。我需要这样做:

提取进程及其所有子进程。 将所有客户端NS前缀更改为fha 将基本名称空间添加到进程标记是的,我知道这很时髦,但这正是我所消耗的资源所需要的。 输入文件 2812883060 1000006611 2019/01/31 16:23:55 ZFWF 1. 米斯莫亚斯2.4
这对你有用吗

XSLT1.0


事实证明,我不需要对嵌入的片段做任何事情。端点能够掌握嵌入文档的默认名称空间,但如果有人想要响应,我不会反对

我需要对Michael的答案做的唯一更改是在信封标记中添加名称空间声明。Micheal不可能知道结束进程需要另一个名称空间


这非常接近。我需要排除这个片段中的mod:第一个模板做什么?我想我可能误解了最后一个问题。。。在我整理细节的时候,我只想帮你做个正确的标记并说声谢谢。我不确定你所说的排除mods是什么意思。除了更改客户端前缀,所有内容都按原样复制,这就是身份转换模板所做的。。。不是mods——这只是我的一个愚蠢之举。我的静态样本与现场测试数据不匹配。我认为转换是从嵌入文档中剥离前缀,但是测试数据在嵌入文档中没有名称空间前缀。一次展示之后,我觉得自己很愚蠢你的样品做得很好。我只需要添加一个名称空间声明。
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fha="http://xmlns.oracle.com/F17CTOTALScorecard/F17CTOTALScorecard/F17CTOTALScorecard"
xmlns:client="http://xmlns.oracle.com/F17CTOTALScorecard/F17CTOTALScorecard/F17CTOTALScorecard">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>

<!-- identity transform -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="/fha:TOTALRequest-Response-Keys">
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:f17="http://xmlns.oracle.com/F17CTOTALScorecard/F17CTOTALScorecard/F17CTOTALScorecard">
        <soapenv:Body>
            <xsl:apply-templates select="fha:TOTALRequest-Response/client:process"/>
        </soapenv:Body>
    </soapenv:Envelope>
</xsl:template>

<xsl:template match="client:*">
    <xsl:element name="fha:{local-name()}">
        <xsl:apply-templates/>
    </xsl:element>
</xsl:template>

</xsl:stylesheet>