Как установить значение в объекте с помощью xslt?

Не могли бы вы сказать мне, как установить значение в свойстве объекта с помощью xslt?

я стараюсь вот так

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />

    <xsl:template match="/">
    <script type="text/javascript">
         <![CDATA[
       var obj ={
        a:"mm",
        catalog:<xsl:value-of select="catalog"/>
        }
         ]]>
    </script>
    <xsl:value-of select="catalog"/>
    </xsl:template>
    </xsl:transform>

http://xsltransform.net/6rewNyu

я хочу создать объект, где я хочу установить его значение в catalog имущество

почему не работает?

catalog:<xsl:value-of select="catalog"/>

1 ответ

Решение

Вы не можете поместить код XSLT, который хотите выполнить, в раздел CDATA, поэтому просто используйте

<script type="text/javascript">

   var obj ={
    a:"mm",
    catalog: '<xsl:value-of select="normalize-space(catalog)"/>'
    }

</script>

если вы хотите сгенерировать код JavaScript, где часть кода вычисляется с помощью XSLT.

Другие вопросы по тегам