如何使用 xslt 在对象中设置值?

how to set value in object using 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"/>

您不能将要执行的 XSLT 代码放入 CDATA 部分,因此只需使用

<script type="text/javascript">

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

</script>

如果您想生成 Javascript 代码,其中部分代码由 XSLT 计算。