Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

transformNodeToObject e XSL

2 views
Skip to first unread message

mtugnoli

unread,
Mar 27, 2007, 7:20:48 AM3/27/07
to
Salve a tutti,

Ho utilizzato l'esempio di Microsoft su http://msdn2.microsoft.com/en-us/library/ms766561.aspx

per utilizzare un file .XSL con la funzione transformNodeToObject per
filtrare un file .XML.

es.

<?xml version="1.0"?>
<COLLECTION dateCreated="01-04-2000">
<BOOK>
<TITLE>Splish Splash</TITLE>
<AUTHOR>Paula Thurman</AUTHOR>
<PUBLISHER>Scootney</PUBLISHER>
<PRICE>250</PRICE>
</BOOK>
<BOOK>
<TITLE Editore="Hoepli">Lover Birds2</TITLE>
<AUTHOR>Cynthia Randall</AUTHOR>
<PUBLISHER>Lucerne Publishing</PUBLISHER>
<PRICE>200</PRICE>
</BOOK>
<BOOK>
<TITLE>The Sundered Grail</TITLE>
<AUTHOR>Eva Corets</AUTHOR>
<PUBLISHER>Lucerne Publishing</PUBLISHER>
<PRICE>100</PRICE>
</BOOK>
</COLLECTION>

file .xsl

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/
Transform">
<xsl:template match="/">
<LowPriceBooks>
<xsl:for-each select="//COLLECTION/BOOK[not(PRICE >'220')]">
<xsl:copy>
<xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:for-each>
</LowPriceBooks>
</xsl:template>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>


la parte essenziale in VB


' Parse results into a result DOM Document.
Source.transformNodeToObject stylesheet, result

dove Source e' il file .XML non filtrato e stylesheet il file .xsl da
tutto ciò si ottiene result

che è un buffer contenente il sorgente filtrato con i nodi aventi
PRICE > 220


Premesso che non mi intendo molto di XML,

l'unico problema che si verifica dopo il filtraggio è che nella riga

<TITLE Editore="Hoepli">Lover Birds2</TITLE>

si perde la propieta' Editore=="Hoepli"

come posso modificare il file .xsl per fare in modo che si copi anche
le propieta' dei nodi
che soddisfano il criterio di ricerca ?


Spero che qualcuno mi possa aiutare

mtugnoli

0 new messages