2014-04-02 5 views
0

Я преобразовываю текст XMLHttpResponse в HTML, используя XSL Transformation. Исходная страница содержит  . Я хочу удалить эти символы. я добавил следующий код на таблицу стилей:Как удалить   используя xslt?

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE xsl:stylesheet [ 
<!ENTITY nbsp "&#xa0;"> 
]> 

Он снял встроенный &nbsp;, но не удалите &nbsp; символы пришли из XML-ответ.

Я скопировал DIV тег с помощью

<xsl:copy-of select="$div[contains(@class,'maincontent')]"/> 

Как я могу удалить это?

+0

Вы используете XSLT 1.0 или 2.0? –

+0

Я использую Версию 1.0. – Ranzan

ответ

2

Включает ли ваш исходный документ определение объекта nbsp?

Если это так, ваша таблица стилей XSLT увидит расширение объекта (что означает, что он никогда не знает, что там была ссылка на сущность в первую очередь). Возможно, объект расширяется до символа xA0 (каким образом этот объект определяется в HTML), и вы хотите удалить символ xA0? В этом случае используйте функцию translate().

Если это не так, синтаксический анализатор XML выдаст ошибку, и XSLT никогда не увидит документ вообще.

Смежные вопросы