Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt 多实例=";是”;热的xsl变换_Xslt_Wix_Heat - Fatal编程技术网

Xslt 多实例=";是”;热的xsl变换

Xslt 多实例=";是”;热的xsl变换,xslt,wix,heat,Xslt,Wix,Heat,我的问题是heat.exe没有命令行开关来将“MultiInstance”属性设置为“yes”(甚至用于设置任意属性)。似乎我唯一的办法就是为-t开关提供一个转换xslt。是否有人已经拥有一个xslt,它将在所有收获的输出组件元素上包含一个MultiInstance=“yes”属性 如果我没有得到任何答案,我将自己创作一个,并将其作为这个问题的答案发布。这一个呢?我基本上是从第二个线程复制它,并修改了几个字符: <xsl:stylesheet version="1.0"

我的问题是heat.exe没有命令行开关来将“MultiInstance”属性设置为“yes”(甚至用于设置任意属性)。似乎我唯一的办法就是为
-t
开关提供一个转换xslt。是否有人已经拥有一个xslt,它将在所有收获的输出组件元素上包含一个
MultiInstance=“yes”
属性


如果我没有得到任何答案,我将自己创作一个,并将其作为这个问题的答案发布。

这一个呢?我基本上是从第二个线程复制它,并修改了几个字符:

<xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:msxsl="urn:schemas-microsoft-com:xslt"
            exclude-result-prefixes="msxsl"
            xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
            xmlns:my="my:my">

    <xsl:output method="xml" indent="yes" />

    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match='wix:Component'>
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <xsl:attribute name="MultiInstance">
                <xsl:text>yes</xsl:text>
            </xsl:attribute>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>
请注意,您可能需要对其进行更多的调整,这取决于您当前用于生成wix文件的热参数

或者,您可以下载WiX热源并自己添加参数。理论上应该很容易


只需在此处共享我的文件,上面提供的文件对于文件节点可能有一些问题

<xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:msxsl="urn:schemas-microsoft-com:xslt"
            exclude-result-prefixes="msxsl"
            xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
            xmlns:my="my:my">

    <xsl:output method="xml" indent="yes" />

    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match='wix:Component'>
        <xsl:copy use-attribute-sets='MultiInstanceSet'>
            <xsl:apply-templates select="@*|node()"/>

        </xsl:copy>
    </xsl:template>
    <xsl:attribute-set name="MultiInstanceSet">
      <xsl:attribute name="MultiInstance">yes</xsl:attribute>
    </xsl:attribute-set>

</xsl:stylesheet>