Преобразование SOAP в HTML с использованием XSLT (синтаксический анализ ошибок) - PullRequest
0 голосов
/ 27 мая 2019

Я пытался преобразовать ответное сообщение SOAP в HTML с помощью XSLT, но оно не работает.

Тег 'instance' имеет некоторые атрибуты, когда я их получаю, мой код работает нормально.

Мое SOAP ответное сообщение:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
        <RetrieveIncidentListResponse 
            message="Success" 
            returnCode="0" 
            schemaRevisionDate="2018-12-19" 
            schemaRevisionLevel="0" 
            status="SUCCESS" 
            xmlns="http://schemas.hp.com/SM/7" 
            xmlns:cmn="http://schemas.hp.com/SM/7/Common" 
            xmlns:xmime="http://www.w3.org/2005/05/xmlmime" 
            xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
            xsi:schemaLocation="http://schemas.hp.com/SM/7/Incident.xsd">
            <instance query="" recordid="I003988322 - incident chatBot" uniquequery="number=&quot;I003988322&quot;">
                <TicketID type="String">I003988322</TicketID>
            </instance>
            <instance query="" recordid="I003988323 - incident chatBot" uniquequery="number=&quot;I003988323&quot;">
                <TicketID type="String">I003988323</TicketID>
            </instance>
        </RetrieveIncidentListResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Мой XSLT-код:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:p="http://schemas.hp.com/SM/7"
    exclude-result-prefixes="p">
<xsl:template match="/">
<html>
    <body>
        <table>
            <xsl:for-each select="//p:RetrieveIncidentListResponse/p:instance">
            <tr>
                <td>TicketID : </td><td><xsl:value-of select="p:TicketID"/></td>
            </tr>
            </xsl:for-each>
        </table>
        Nb tickets: <xsl:value-of select="count(//p:RetrieveIncidentListResponse/p:instance)"/>
    </body>
</html>
</xsl:template>
</xsl:stylesheet>

Фактический результат:

Nb tickets: 0

Ожидаемый результат:

TicketID :  I003988322
TicketID :  I003988323
Nb tickets: 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...