Использование двоеточия в именах атрибутов в преобразованиях xsl

<xsl:template name="AddThis">
        <div class="AddThis">
            <!-- AddThis Button BEGIN -->
            <div class="addthis_toolbox addthis_default_style" addthis:url="{be:GetFullBlogUrl(@Date, @Title)}" addthis:title="{@Title}" xmlns:addthis="http://www.addthis.com">
        <a class="addthis_button_facebook_like" fb:like:width="115"> </a>
                <a class="addthis_button_tweet"></a>
                <a class="addthis_counter addthis_pill_style addthis_nonzero"></a>
            </div>
            <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4f86b27a69737a92"></script>
            <!-- AddThis Button END -->
        </div>
    </xsl:template>

Мне нужно добавить fb:like:width="115" в соответствии с http://support.addthis.com/customer/portal/articles/125587-facebook-like-button-width#.UZyl2rVM_2P

но преобразование xsl, конечно, не может этого понять из-за проблем с пространствами имен. Есть идеи, как это решить? Любой вариант, чтобы просто написать обычный текст.


person Poul K. Sørensen    schedule 22.05.2013    source источник


Ответы (1)


Насколько мне известно, невозможно сгенерировать атрибут с двумя двоеточиями (одно двоеточие fb: можно обработать с помощью обычного xmlns префикс псевдонима).

Поэтому вместо этого вы можете визуализировать литерал, используя xsl:text с disable-output-escaping="yes", например:

<xsl:text disable-output-escaping="yes">
  &lt;a class="addthis_button_facebook_like" fb:like:width="115"&gt; &lt;/a&gt;
</xsl:text>

Вывод:

<a class="addthis_button_facebook_like" fb:like:width="115">
person StuartLC    schedule 22.05.2013
comment
Я попробовал это, в результате литерал был напечатан как текст на странице, а не как HTML-тег. - person Poul K. Sørensen; 23.05.2013