Официально нет разницы между пустыми (<a></a>
) и атомарными (<a />
) тегами; поэтому у вашего поставщика есть ошибка, если он не может принять эти данные / на самом деле он должен исправить их, так как они не соответствуют стандартам.
Однако, если вам нужно взломать ваш код, чтобы соответствовать их стандартам, есть способы ...
Если вы используете Microsoft .Net XslCompiledTransform , вы можете заполнить теги <xsl:value-of select="''" />
; то есть код, который выводит пустой во время выполнения. См. Пример скрипта XSLT
Если вы используете Saxon , вы можете переключить выход с xml
на xhtml
, например. <xsl:output method="xhtml"
. См. Пример скрипта XSLT .
Что касается других двигателей, дайте нам знать, и мы можем попытаться найти взлом. Для многих изменение вывода на html
, скорее всего, сработает, но потеряет декларацию XML (<?xml version="1.0" encoding="ISO-8859-1"?>
), что может вызвать другие проблемы, особенно если вы используете символы за пределами обычного диапазона ASCII.