XSLT для извлечения параметров URL - PullRequest
0 голосов
/ 10 марта 2020

Может кто-нибудь помочь мне найти способ извлечь некоторые параметры из URL и сохранить его, передав его в soap запрос

URL

https://hostname/ServiceName?Consumer=ABS&ID=3231

Я бы взял только имя потребителя, которое является АБС и его id = 3231, и поместил бы его в soap, как показано ниже

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<Consumer>ABS</Consumer>
<ID>3231<ID>
</soapenv:Body>
</soapenv:Envelope>

1 Ответ

0 голосов
/ 11 марта 2020

В XSLT 2.0 или выше вы можете использовать инструкцию xsl:analyze-string для извлечения всех параметров запроса из строки URL:

<xsl:analyze-string select="$URL" regex="[\?&amp;]([^=]+)=([^&amp;]+)">
    <xsl:matching-substring>
        <xsl:element name="{regex-group(1)}">
            <xsl:value-of select="regex-group(2)" />
        </xsl:element>
    </xsl:matching-substring>
</xsl:analyze-string>    

Demo : http://xsltfiddle.liberty-development.net/a9GPfr

...