XSLT странное поведение с умлаутом (мутация) - PullRequest
0 голосов
/ 28 декабря 2011

У меня очень странное поведение, когда я получаю мутации в узле в xml, когда пытаюсь проанализировать его с помощью XSLT.

Итак, теперь мы предполагаем, что CustomerName имеет значение «MÖP».

В этом случае результирующий HTML-тег 'a' будет иметь href до 'M% C3% B6P'

<a href="{CustomerName}">
    <xsl:value-of disable-output-escaping="yes" select="CustomerName"/> 
</a>

В этом случае результирующий тег HTML 'div' будет иметь идентификатор 'MÖP'

<div style="display:none">
    <xsl:attribute name="id"><xsl:value-of select="CustomerName"/></xsl:attribute>
</div>

Кажется, что атрибут href в теге a как-то связан с ним.

Мой вопрос: почему это так? Что я могу сделать, чтобы в обоих случаях у меня был один и тот же вывод?

Greetz

1 Ответ

1 голос
/ 28 декабря 2011

XSLT-процессор делает вам одолжение, экранируя значение URL в атрибуте href элемента HTML-ссылки. Это сделано специально, см. http://www.w3.org/TR/xslt-xquery-serialization/#HTML_ESCAPE-URI-ATTRIBUTES. Если вы действительно этого не хотите и используете процессор XSLT 2.0, тогда вы можете использовать <xsl:ouput method="html" escape-uri-attributes="no"/> в своей таблице стилей.

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