使用XSLT模板将XML转换为对象时,我遇到了这个问题
XPTY0004:不允许将一个以上项目的序列作为string-length()的第一个参数
我的Xml
<?xml version="1.0" encoding="UTF-8"?>
<NS1:Envelope xmlns:NS1="http://www.w3.org/2003/05/soap-envelope">
<NS1:Header>
<NS2:metadata xmlns:NS2="http://www.test.net/services/metadata/v2.0">
<serviceId>id</serviceId>
<serviceVersion>1.0</serviceVersion>
<locale>pt_BR</locale>
<internals/>
</NS2:metadata>
</NS1:Header>
<NS1:Body>
<NS1:Fault>
<NS1:Code>
<soapenv:Value xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">soapenv:Receiver</soapenv:Value>
<NS1:Subcode>
<NS1:Value>UNKNOWN_ERROR</NS1:Value>
</NS1:Subcode>
</NS1:Code>
<NS1:Reason>
<NS1:Text xml:lang="en">tranformData. tente novamente</NS1:Text>
</NS1:Reason>
<NS1:Detail>
<NS3:errors xmlns:NS3="http://www.test.net/services/errors/v1.0">
<error>
<code>UNKNOWN_ERROR</code>
<message>unknow error.</message>
<type>GENERIC</type>
<source>tranformData</source>
</error>
<error>
<code>UNKNOWN_ERROR</code>
<message>unknow error.</message>
<type>GENERIC</type>
<source>tranformData</source>
</error>
</NS3:errors>
</NS1:Detail>
</NS1:Fault>
</NS1:Body>
</NS1:Envelope>
我的XSLT行:
<xsl:if test="string-length(//source/text()) + string-length(//code/text()) > 0">
请帮助我。