xml dönüşümleri uygulayarak heat.exe tarafından oluşturulan wxs dosyasını temizlemeye çalışıyorum.xslt tranfsormasyonu uygulayarak wxs dosyasından istenmeyen düğümleri kaldırma
Aşağıda, heat.exe'nin örnek bir dosya çıktısı verilmiştir.
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="APPFOLDER">
<Component Id="cmp78E9FF58917B1844F3E9315A285F3147" Guid="SOME-GUID">
<File Id="fil093D6D7CB723B5B62730D7B4E575F154" KeyPath="yes" Source="PQR.Some.dll" />
</Component>
<Component Id="cmp0B084126FAE7577FD84DB29766AC6C2B" Guid="SOME-GUID">
<File Id="filB20C8708D7EB02EDFBCC4D70F9FE7F8A" KeyPath="yes" Source="ABC.Another.dll" />
</Component>
<Component Id="cmp83BB1954DECD7D949AAE4ACA68806EC3" Guid="SOME-GUID">
<File Id="fil0E29FBFF7DB39F307A2EE19237A0A579" KeyPath="yes" Source="ABC.OneMore.dll" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="AppFiles">
<ComponentRef Id="cmp78E9FF58917B1844F3E9315A285F3147" />
<ComponentRef Id="cmp0B084126FAE7577FD84DB29766AC6C2B" />
<ComponentRef Id="cmp83BB1954DECD7D949AAE4ACA68806EC3" />
</ComponentGroup>
</Fragment>
</Wix>
Çocuğun Dosya düğümü, 'ABC' dizesini içeren bir Kaynak özelliğine sahip olan Bileşen düğümlerini kaldırmak istiyorum. Doğru eşleme desenlerini kullanarak bu düğümleri nasıl bulacağımı biliyorum. Bileşen düğümünü kaldırmadan önce, bileşenin kimliğini saklamak ve sonra ComponentRef düğümünü yeni kaydettiğim kimlikle kaldırmak için kullanmak istiyorum.
XML dönüşümü ile bunu elde etmenin bir yolu var mı? Silmekte olduğum Bileşen düğümünün kimliğini saklamak için bir 'X' değişkeni oluşturabildiğim bir şey arıyorum ve silinecek ComponentRef düğümlerini bulmak için 'X' kullanın.
Bu seferki işe yaradı. Harika @JLRishe. – vaibinewbee
Bu sadece harika, hemen çalışıyor. teşekkürler – sttaq
Birden fazla öğeyi kaldırmak istiyorsanız, eşleşme özelliğine daha fazla koşul ekleyin: ' ' –
HenningJ