ciao fabio,
uso ASP (...l'azienda). il problema è che eliminando un tag HTML, se esso contiene istruzioni XSLT, "pare" che vengano cancellate anche queste ultime...del resto sono gerarchicamente ad un livello più basso ma non della stessa famiglia.
cosa strana, ma forse sbaglio io, se elimino l'elemento HTML mi elimina ad esempio gli elementi table ma non i tr, i td e nemmeno il body e i link. ecco il codice ASP:
codice:
dim PageXsl
set PageXsl = Server.CreateObject("MSXML2.FreeThreadedDOMDocument.3.0")
PageXsl.async = false
PageXsl.load (Application("xsl_path") & "benvenuto.xsl")
''' PROVA
removeHTML(PageXsl)
Response.Write(PageXsl.xml)
Response.End
Dim objDOM
Function removeHTML(objDOM)
' funzione che elimina i tag HTML dall'albero XSL
Dim objRoot, objRootChilds, objCurrentNode, sCurrentNodeName, i
Dim objCurrentNodeTpl 'variabili secondo ciclo
Set objRoot = objDOM.documentElement
Set objRootChilds = objRoot.childNodes
for each objCurrentNode in objRootChilds
If objCurrentNode.nodeName = "xsl:template" Then 'trovo il template
for each objCurrentNodeTpl in objCurrentNode.childNodes 'scorro gli elementi del template
If objCurrentNodeTpl.nodeName = "html" Then
'elimina il tag HTML
objCurrentNode.removeChild objCurrentNodeTpl
'elimina il tag BODY
objCurrentNodeTpl.removeChild objCurrentNodeTpl.selectSingleNode("body")
'elimina il tag A e TR
'objCurrentNodeTpl.removeChild objCurrentNodeTpl.selectSingleNode("a")
End If
next
End If
next
'removeHTML = objDOM
End Function
codice:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<xsl:output method="html" indent="no"/>
<xsl:template match="/">
<html>
<head>
<title>Elenco CHIAMATE BENVENUTO</title>
</head>
<link rel="stylesheet" href="./css/InstRB.css" type="text/CSS"/>
<body onload="presetOldValues();parent.topFrame.showStatistiche('linkChiamateBenvenuto');" onunload="parent.topFrame.hideLinkInterventi();">
<form action="elencoChiamateBenvenuto.asp" name="r_int" method="get" onsubmit="return controlla(this)">
<table width = "600" border = "0" align = "center" class ="form" cellpadding="0" cellspacing="0">
<tr class ="titoloForm">
<td align="center" colspan="5">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr class="titoloForm">
<td width="26"> </td>
<td>Elenco Chiamate Benvenuto</td>
<td align="right" width="26">
<a href="javaScript:ApriLink('./help/Help_formElencoPratiche.asp?titolo=Elenco interventi','Help_formElencoPratiche',600,400)">
[img]./images/immaginehelp.gif[/img]
</a>
</td>
</tr>
</table>
</td>
</tr>
<tr class="bodyForm" width='100%'>
<td>
<table width="100%" border = "0" align = "center" class="bodyForm" cellpadding="0" cellspacing="0">
<tr height="30">
<td> </td>
</tr>
<tr>
<td colspan="5" align='center'>
<table border="0" class="bodyForm" align="center">
<tr>
<td width='33' rowspan='4'> </td>
<td class="Costanti" width="110">Banca:</td>
<td align='left'>
<select name="P_BANCA" style="width:258px;">
<xsl:for-each select="xml/combo4/rs:data/z:row">
<xsl:choose>
<xsl:when test="@ABI = '00000'">
<option value="{@ABI}" selected="selected"><xsl:value-of select="@DENOMINAZIONE"/></option>
</xsl:when>
<xsl:otherwise>
<option value="{@ABI}"><xsl:value-of select="@DENOMINAZIONE"/></option>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</select>
</td>
</tr>
<tr>
<td class="Costanti" width="80">Esito:</td>
<td align='left'>
<select name="P_TIPO_ESITO" style="width:258px;">
<xsl:for-each select="xml/combo2/rs:data/z:row">
<option value="{@ID}"><xsl:value-of select="@DESCRIZIONE"/></option>
</xsl:for-each>
</select>
</td>
</tr>
</table>
</td>
</tr>
<tr height="30"><td colspan="5"> </td></tr>
<tr height="30" width='100%' >
<td width="14%"> </td>
<td width='3%' align='left' class="Costanti">dal </td>
<td align='left' width="20%">
<select name="GG_DAL">
<script language="Javascript">
<xsl:text disable-output-escaping="no">
function comboDay(sel){
var i;
for(i=1;i<=31;i++){
if(i==sel)
{
document.write ("<option value=" + i + " selected>" + i + "</option>");
}
else
{
document.write ("<option value=" + i + ">" + i + "</option>");
}
}
}
</xsl:text>
comboDay(<xsl:value-of select="substring-before(/xml/QueryString3,'/')"/>);
</script>
</select>
<select name="MM_DAL">
<script language="Javascript">
<xsl:text disable-output-escaping="no">
function comboMonth(sel){
var i;
for(i=1;i<=12;i++){
if(i==sel)
document.write ("<option value=" + i + " selected>" + i + "</option>");
else
document.write ("<option value=" + i + ">" + i + "</option>");
}
}
</xsl:text>
comboMonth(<xsl:value-of select="substring-before(substring-after(/xml/QueryString3,'/'),'/')"/>);
</script>
</select>
<select name="AA_DAL">
<script language="Javascript">
<xsl:text disable-output-escaping="no">
function comboYear(sel){
var i;
var ii;
var today = new Date();
var currentYear = today.getYear();
for(i=1998;i<=currentYear+1 ;i++){
s = new String(i) ;
ii = s.substring(0);
if(ii==sel)
{
document.write ("<option value=" + i + " selected>" + i + "</option>");
}
else
{
document.write ("<option value=" + i + ">" + i + "</option>");
}
}
}
</xsl:text>
comboYear(<xsl:value-of select="substring-after(substring-after(/xml/QueryString3,'/'),'/')"/>);
</script>
</select> 
<input name="but1" type="button" value="..." onClick="javascript:showHideFla('GG_DAL','MM_DAL','AA_DAL','r_int','1');" style="height:21px;width=20px"/>
<div id="Cal1" style="position:absolute;display:none">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="/flash/swflash.cab#version=6,0,0,0"
WIDTH="160" HEIGHT="180"
id="CalendarFF_ENG" ALIGN="">
<PARAM NAME= "movie" VALUE="Cal.swf"/>
<PARAM NAME="loop" VALUE="false"/>
<PARAM NAME="menu" VALUE="false"/>
<PARAM NAME="quality" VALUE="high"/>
<PARAM NAME="bgcolor" VALUE="#FEF3D6"/>
<EMBED src="Cal.swf"
loop="false"
menu="false"
quality="high"
bgcolor="#FEF3D6"
WIDTH="160"
HEIGHT="180"
NAME="CalendarFF_ENG" ALIGN=""
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>
</div>
</td>
<td width='3%' align= "left" class="Costanti">al</td>
<td align='left' width="25%">
<select name="GG_AL">
<script language="Javascript">
comboDay(<xsl:value-of select="substring-before(/xml/QueryString4,'/')"/>);
</script>
</select>
<select name="MM_AL">
<script language="Javascript">
comboMonth(<xsl:value-of select="substring-before(substring-after(/xml/QueryString4,'/'),'/')"/>);
</script>
</select>
<select name="AA_AL">
<script language="Javascript">
comboYear(<xsl:value-of select="substring-after(substring-after(/xml/QueryString4,'/'),'/')"/>);
</script>
</select> 
<input name="but" type="button" value="..." onClick="javascript:showHideFla('GG_AL','MM_AL','AA_AL','r_int','2');" style="height:21px;width=20px"/>
<div id="Cal2" style="position:absolute;display:none">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="/flash/swflash.cab#version=6,0,0,0"
WIDTH="160" HEIGHT="180"
id="CalendarFF_ENG" ALIGN="">
<PARAM NAME= "movie" VALUE="Cal.swf"/>
<PARAM NAME="loop" VALUE="false"/>
<PARAM NAME="menu" VALUE="false"/>
<PARAM NAME="quality" VALUE="high"/>
<PARAM NAME="bgcolor" VALUE="#FEF3D6"/>
<EMBED
src="Cal.swf"
loop="false"
menu="false"
quality="high"
bgcolor="#FEF3D6"
WIDTH="160"
HEIGHT="180"
NAME="CalendarFF_ENG"
ALIGN=""
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>
</div>
</td>
</tr>
<tr height="40"><td> <input type='hidden' name='P_TIPO_PRODOTTO' value='0'/></td></tr>
<tr height="40">
<td align="center" colspan="5">
<input type="hidden" name="captionStato" value=""/>
<input type="hidden" name="captionAzienda" value=""/>
<input type="hidden" name="P_DAL" value=""/>
<input type="hidden" name="P_AL" value=""/>
<input type="submit" class="bluebutton" value="Visualizza"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
</xsl:template>
</xsl:stylesheet>