レジストリデータを収集した後にWiXで生成されたファイルに対してXML変換を行っています。 WiXに精通していない人には、どこから来てもXMLファイルでXML転送をしようとしていると考えてください。私は正しいXPath式が期待どおりに動作しない
match="node()[name() = 'File'][not(@KeyPath)]"
のようなXPathを使用した場合、その後のマッチングが正常に動作し、私は、XPathの別の表現を使用する場合、それは、しかし、それにキーパス属性が欠落しているすべてのそれらのファイルのノードを検索します。私は経験してる問題がありますlike
match="//File[not(@KeyPath)]"
それでも一致しません。 /、//、。..、しかし、それでXPathの例と下の部分が
<xsl:template match="node()[name() = 'File']
[contains(@Source, 'First.dll') or
contains(@Source, 'Second.dll')]
[not(@Assembly)]">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
<xsl:attribute name="Assembly">.net</xsl:attribute>
<xsl:attribute name="KeyPath">yes</xsl:attribute>
</xsl:copy>
</xsl:template>
うまく
に動作しますが、/bookstore/book[@lang='en']
のようなものが働かないと
一般的に、私は標準のXPathを使用することはできません。おそらく、私はこのようなXpathsの認識を可能にするために、私のXSLファイルの始めにいくつかの記述が欠落しています。
[mcve]を参照してください。 –