gpt4 book ai didi

wix - 我可以选择使用转换在 Wix Heat 中包含特定文件扩展名吗?

转载 作者:行者123 更新时间:2023-12-04 23:49:21 27 4
gpt4 key购买 nike

使用 xslt 文件转换使用 wix 的热收集组件时,是否可以仅包含某些文件扩展名?我知道我可以使用以下内容排除文件扩展名:

<xsl:key name="exe-search" match="wix:Component[contains(wix:File/@Source, '.pdb')]" use="@Id" /> <!--.pdb-->

但是是否可以包含多种文件类型并排除其他所有文件(例如:.exe、.dll、.xml)?

谢谢!

最佳答案

当然。在条件中,您可以使用完整的表达式,例如:

   contains(wix:File/@Source, '.pdb') 
or contains(wix:File/@Source, '.exe')
or contains(wix:File/@Source, '.dll')
or contains(wix:File/@Source, '.xml')

如果它只是少数,那应该是可以维护的。为了提高可读性,您可以在匹配属性值(或一般的任何属性)中放置换行符。

我会像这样使用它。注意这个穷人的目的——用诡计。

模板匹配不需要的组件并用空替换它们。
<xsl:stylesheet 
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wi="http://schemas.microsoft.com/wix/2006/wi"
xmlns="http://schemas.microsoft.com/wix/2006/wi">

<xsl:template match="wi:Component[not(
contains(concat(wi:File/@Source,'|'), '.exe|') or
contains(concat(wi:File/@Source,'|'), '.config|'))]">
</xsl:template>


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

这是一个可以使用的 heat 命令:
heat dir "%wix%\bin" -cg CompGroup -ag -t byext.xsl -o test.wxs

关于wix - 我可以选择使用转换在 Wix Heat 中包含特定文件扩展名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26432307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com