Salve a tutti,
ho un problema riguardante XSL.
Devo applicare un XSL a un file XML, tale che produca un nuovo documento XML con lo stesso contenuto di quello processato; l'unica differenza che devono avere l'XML in input e quello di output è che quest'ultimo non deve contenere gli elementi (vuoti) del primo, i cui attributi non hanno contenuto.
Supponendo di avere un file XML di questo tipo:
<root>
<elem1 a1="" a2=""/>
<elem2 a1="" a2="pippo"/>
</root>
devo scartare l'elemento <elem1> durante la trasformazione dell'xml, perchè i relativi attributi non hanno contenuto. Mentre devo prendere l'elem2.
Non m'interessa sapere come fare la ricorsione per "catturare" gli elementi che devo riprodurre sull XML di output.
Ciò che non so fare, è come controllare che tutti gli attributi di un elemento siano vuoti e, constatato questo, decidere di non "catturare" l'elemento in questione.
In altre parole, non so come riprodurre in XSL questo ragionamento:
- Preso in considerazione l'elemento E
- Per ogni attributo A di E, controlla se A sia vuoto o meno
- Se tutti gli attributi A di E sono vuoti, allora non fare niente e passa al prossimo elemento,
altrimenti "cattura" E
Spero di essermi riuscito a spiegare.
Ciao e grazie.