Я получаю следующее XML-сообщение от стороннего поставщика. Я не могу контролировать входящее сообщение. Я урезал его до простейшей формы, но все еще производил ошибку. XML-сообщение:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body/>
</soap:Envelope>
Я использую файл xsl:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import-schema
namespace="http://schemas.xmlsoap.org/soap/envelope/"
schema-location="http://schemas.xmlsoap.org/soap/envelope/" />
<xsl:template match="/">
<xsl:text>Help</xsl:text>
</xsl:template>
</xsl:stylesheet>
Когда я пытаюсь запустить преобразование в Eclipse с помощью процессора IBM для XSLT 2.0 с установленным флажком «Включить проверку», я получаю следующую ошибку во время проверки XML:
cvc-elt.1.a: Cannot find the declaration of element 'soap:Envelope'
Есть ли способ сделать эту проверку прохода, даже если я не контролирую входящее сообщение? Если бы у меня был контроль над входящим сообщением, я бы сделал это, и это сработало бы чудесно:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/
http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body/>
</soap:Envelope>