0
私は、自動生成されたXMLファイルのセットに基づいたWixインストーラを構築しています(私はHEATを使用してフォルダの内容を収穫します)。XSLを使用して子の属性に基づいて親要素を除外する方法は?
<Component Id="cmp87E809324190AF5E85315B10C397DB8F"
Directory="Content"
Guid="{4210C091-E16F-45EA-9005-A7487CF6AC69}">
<File Id="fil13DABBB8A7FACF8E81FE69FD2464DE48"
Source="$(var.ProjectDir)\MyService.svc" />
</Component>
<Component Id="cmp276C007DCB38D3C2E4DA41DFDD8F5CED"
Directory="Content"
Guid="{A01BE50E-3B00-40EF-96EB-D48AED1F6259}">
<File Id="fil527A2DD913A88F35BD2B90F10029FB32"
Source="$(var.ProjectDir)\Web.config" />
</Component>
私は次の変換適用されます:残念ながら
<!-- Identity template -->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
<!-- exclude files -->
<xsl:template match="wix:Component/wix:File[
@Source='$(var.ProjectDir)\Web.config'
]">
</xsl:template>
を私はこの断片から、私は、ファイル「Web.configファイル」を除外する、例えば、結果のXMLから特定のファイルを除外する必要があります"File"要素(一致する要素)のみを削除するので、一致する "File"サブ要素の親要素( "Component")を削除します。これはXSLTでは比較的簡単でなければなりませんが、私はそれを理解していません。事前に
おかげであなたが使用する必要があります
ビンゴ!どうもありがとう。 –
@Vagif、あなたは大歓迎です。 – Flack
+1正解です。 –