-1

我的输入 XML 如下:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
        <ns0:PartyInfo xmlns:ns0="http://www.google.com/"> 
             <name xmlns="">John</name> 
        </ns0:PartyInfo> 
    </SOAP-ENV:Header>

    <SOAP-ENV:Body>
        <ns0:OperationRequest xmlns:ns0="http://www.yahoo.com"> 
            <name xmlns="">Mary</name> 
        </ns0:OperationRequest>
    </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

1)第一个问题:在我的 XSLT 中,我只能为我的“ns0”命名空间声明值,所以我只能访问其中一个节点。如何访问它们(最好在同一个 xslt 文件中)?

2)假设我声明

xmlns:ns0="http://www.google.com"

然后输出带有额外字符的“John”字符串:

在此处输入图像描述

我可以使用 normalize-space 来解决这个问题,但它似乎不对。

4

1 回答 1

1

您在 XSLT 代码中使用的名称空间前缀不必与源文档中使用的前缀相同。只有 URI 需要匹配。因此,在您的 XSLT 中,只需将不同的前缀绑定到两个名称空间 URI。

于 2012-05-11T08:43:24.190 回答