我是XSLT中的一名初學者。我使用Wix toolset
的heat.exe
來生成有效載荷。如何操作XML文檔中的屬性
下面是實施例1生成的xml的:
<PayloadGroup Id="ALC_272_662_888">
<Payload SourceFile="$(var.SourceDir4)\VISTA\WAVESGUILIB.DLL" Name="$(var.SourceDir4)\VISTA\WAVESGUILIB.DLL" />
<Payload SourceFile="$(var.SourceDir4)\VISTA\WAVESLIB.DLL" Name="$(var.SourceDir4)\VISTA\WAVESLIB.DLL" />
</PayloadGroup>
這是實施例2:
<PayloadGroup Id="CS_H81_Q87">
<Payload SourceFile="$(var.SourceDir1)\CSVER.DLL" Name="$(var.SourceDir1)\CSVER.DLL" />
<Payload SourceFile="$(var.SourceDir1)\DIFXAPI.DLL" Name="$(var.SourceDir1)\DIFXAPI.DLL" />
<Payload SourceFile="$(var.SourceDir1)\HELP.TXT" Name="$(var.SourceDir1)\HELP.TXT" />
<Payload SourceFile="$(var.SourceDir1)\IIF2.INI" Name="$(var.SourceDir1)\IIF2.INI" />
</PayloadGroup>
我想創建一個變換,這將在屬性Name
文本$(var.SourceDir1)
或$(var.SourceDir4)
用空代替字符串取決於哪一個將出現。
我嘗試了多種事情 - 但xslt有它自己的邏輯。先謝謝你!
向我們展示您嘗試過的一件東西總是最好的,但這並不奏效。這讓我們瞭解到你的學習曲線有多遠,並且有助於表明你在尋求幫助之前已經做出了努力。使用XSLT 1.0或2.0時,XSLT問題也很重要,因爲它們都是常用的,而且解決方案通常是非常不同的。 –
我使用了此轉換的修改版本: http://stackoverflow.com/a/33834345/5587125 其中我使用var.SourceDir1而不是varSourceDir複製模板。 – sloter1024