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 XSLT需要根据请求中传递的名称动态选择用户名_Xml_Xslt_Soap - Fatal编程技术网

Xml XSLT需要根据请求中传递的名称动态选择用户名

Xml XSLT需要根据请求中传递的名称动态选择用户名,xml,xslt,soap,Xml,Xslt,Soap,我试图让XSLT根据请求中传递的名称动态选择用户名。因此,如果请求中传递的名称与保存用户名的xml文件中的名称匹配,那么它将返回相应的用户名 SOAP请求: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <int:ret

我试图让XSLT根据请求中传递的名称动态选择用户名。因此,如果请求中传递的名称与保存用户名的xml文件中的名称匹配,那么它将返回相应的用户名

SOAP请求:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Header/>
        <soapenv:Body>
            <int:retrieveProperty>
                <RetrievePropertyRequestMsg>
                    <typ1:RequestUsername>
                        <typ1:UsernameLine>JOE</typ1:UsernameLine>
                    </typ1:RequestUsername>
                    <usernameinfo>
                        <property>
                            <address1>222 Main St</address1>
                            <address2></address2>
                            <city>Springfield</city>
                            <state>CO</state>
                            <zipcode>12345</zipcode>
                        </property>
                    </usernameinfo>
                </RetrievePropertyRequestMsg>
            </int:retrieveProperty>
        </soapenv:Body>
    </soapenv:Envelope>

乔
主街222号
斯普林菲尔德
一氧化碳
12345
包含用户名的XML文件:

<Credentials>
        <NAME id="JOE">
            <Username>Joe</Username>
        </NAME>

        <NAME id="SEAN">
            <Username>Sean</Username>
        </NAME>
    </Credentials>

乔
肖恩
XSLT(到目前为止我已经有了):


预期结果:

 <usernameinfo username="Joe">
        <property>
            <address1>222 Main St</address1>
            <address2></address2>
            <city>Springfield</city>
            <state>CO</state>
            <zipcode>12345</zipcode>
        </property>
  </usernameinfo>

主街222号
斯普林菲尔德
一氧化碳
12345

XML区分大小写:
JOE
JOE
@michael.hor257k不匹配,因此我需要比较JOE,如果它彼此相等,则应将JOE发送到输出。不确定这是否有意义。您可以使用XSLT2.0吗?样式表上显示的是
version=“1.0”
,但是
copy namespaces=“no”
需要XSLT 2.0。解释了为什么它不起作用,名称空间仍然出现。我不能,需要使用XSLT 1.0。好的,接下来的问题是:无法处理XML,因为前缀
int:
typ1:
未绑定到命名空间。-另外,如果没有名称匹配,结果应该是什么。
 <usernameinfo username="Joe">
        <property>
            <address1>222 Main St</address1>
            <address2></address2>
            <city>Springfield</city>
            <state>CO</state>
            <zipcode>12345</zipcode>
        </property>
  </usernameinfo>