Leggre piu xml con xsl con asp

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
42
www.allinonenet.it
Ciao a tutti,
spero in un vostro aiuto.

Con il seguente codice asp

Codice:
<%@ Language=VBScript %>
<%

' prevent page caching

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1 

id			= Request.QueryString("Cat")
Cat			= Request.QueryString("Cat")
number			= Request.QueryString("n")
if number = "" then
number = "1"
end if
xslpath			= Server.mappath("page2.xsl")
sourceFile 		= ("http://pf.tradedoubler.com/pf/pf?a=147617&&maxResults=10&categoryId="&id)

  Set source = Server.CreateObject("Msxml2.DOMDocument")
  source.async = false



  source.load(sourceFile)

set xsldoc		= Server.CreateObject("MSXML2.FreeThreadedDOMDocument")

xsldoc.async = false
xsldoc.load(xslpath) 

set xsltemp = Server.createObject("MSXML2.XSLTemplate")
xsltemp.stylesheet=xsldoc

set xslproc = xsltemp.createProcessor
xslproc.input=source
xslproc.output=Response

' parameter for message group

xslproc.addParameter "mastercategoria",Cat
xslproc.addParameter "pagenumber",number
xslproc.transform

Response.End
%>
potrei fare in modo che un secondo xml venga letto dallo stesso xsl?

ad esempio aggiunta di un secondo xml di nome

tabella.xml

Conto su di voi,
Andrea:hammer:
 

lukeonweb

Utente Attivo
5 Mar 2003
5.180
10
38
42
Napoli
www.lucaruggiero.it
Ciao Andrea, metti tutto in una funzione parametrizzandola:

Function LeggiPiuXmlComeVuoi(file_xml)
' tutte le operazioni di lettura...
End Function

Call LeggiPiuXmlComeVuoi("pippo.xml")
Call LeggiPiuXmlComeVuoi("baudo.xml")
 

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
42
www.allinonenet.it
:confused: ... e nel mio script asp dove pongo la funzone ?

Ben tornato Luke, ho imparato in ospedale a scrivere con xsl, ora sono un genio :eek:
 

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
42
www.allinonenet.it
:love: non hai letto il mio messaggio privato ?

cmq sono stato operato dal braccio ...

lo so che chiedo troppo ma con il codice non so dove buttarlo ..

Andrea:beer:
 

lukeonweb

Utente Attivo
5 Mar 2003
5.180
10
38
42
Napoli
www.lucaruggiero.it
No forse mi è sfuggito... tutto bene ora comunque?

Prova cosi:

<%@ Language=VBScript %>
<%

Function MiaFunzione(file_xsl)

' prevent page caching

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1

id = Request.QueryString("Cat")
Cat = Request.QueryString("Cat")
number = Request.QueryString("n")
if number = "" then
number = "1"
end if
xslpath = Server.mappath(file_xsl)
sourceFile = (file_xsl"http://pf.tradedoubler.com/pf/pf?a=147617&&maxResults=10&categoryId="&id)

Set source = Server.CreateObject("Msxml2.DOMDocument")
source.async = false



source.load(sourceFile)

set xsldoc = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")

xsldoc.async = false
xsldoc.load(xslpath)

set xsltemp = Server.createObject("MSXML2.XSLTemplate")
xsltemp.stylesheet=xsldoc

set xslproc = xsltemp.createProcessor
xslproc.input=source
xslproc.output=Response

' parameter for message group

xslproc.addParameter "mastercategoria",Cat
xslproc.addParameter "pagenumber",number
xslproc.transform

Response.End

End Function

Call MiaFunzione("page2.xsl")
%>

o qualcosa del genere... fammi sapere!
 

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
42
www.allinonenet.it
Il secondo xml ad esempio andrea.xml è giusto inserirlo qui

Codice:
<%@ Language=VBScript %>
<%

Function MiaFunzione(file_xsl)

' prevent page caching

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1 

id = Request.QueryString("Cat")
Cat = Request.QueryString("Cat")
number = Request.QueryString("n")
if number = "" then
number = "1"
end if

xslpath = Server.mappath(file_xsl)
sourceFile = (file_xsl"http://pf.tradedoubler.com/pf/pf?a=147617&&maxResults=10&categoryId="&id)

[B]sourceFile = Server.mappath("andrea.xml")[/B]

Set source = Server.CreateObject("Msxml2.DOMDocument")
source.async = false



source.load(sourceFile)

set xsldoc = Server.CreateObject("MSXML2.FreeThreadedDOMDocumen t")

xsldoc.async = false
xsldoc.load(xslpath) 

set xsltemp = Server.createObject("MSXML2.XSLTemplate")
xsltemp.stylesheet=xsldoc

set xslproc = xsltemp.createProcessor
xslproc.input=source
xslproc.output=Response

' parameter for message group

xslproc.addParameter "mastercategoria",Cat
xslproc.addParameter "pagenumber",number
xslproc.transform

Response.End

End Function

Call MiaFunzione("page2.xsl")
%>
... mi sembra che ci sia un po di casino non credi

Codice:
xslpath = Server.mappath(file_xsl)
sourceFile = (file_xsl"http://pf.tradedoubler.com/pf/pf?a=147617&&maxResults=10&categoryId="&id)

[B]sourceFile = Server.mappath("andrea.xml")[/B]

Set source = Server.CreateObject("Msxml2.DOMDocument")
source.async = false
... ?
 

lukeonweb

Utente Attivo
5 Mar 2003
5.180
10
38
42
Napoli
www.lucaruggiero.it
Devi semplicemente parametrizzare il richiamo al file X... quel che sia all'interno della funzione. Un esempio idiota:

Function NomeFile(quale_file)
Response.Write quale_file
End Function

Call NomeFile("uno.xml") ' Restituisce uno.xml
Call NomeFile("due.xml") ' Restituisce due.xml
Call NomeFile("tre.xml") ' Restituisce tre.xml

Al posto di Response.Write usi il parametro lì dove richiami il file X...

Chiaro il concetto? :)
 

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
42
www.allinonenet.it
Scusa Luke, ma ho le idee poco chiare ...

Prima il Call lo chiami su XSL in questo ultimo esempio li chiami su xml, xche ?

Andrea
 

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
42
www.allinonenet.it
:confused: va bene cosi ?

<%@ Language=VBScript %>
<%

Function MiaFunzione(file_xml)

' prevent page caching

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1

id = Request.QueryString("Cat")
Cat = Request.QueryString("Cat")
number = Request.QueryString("n")
if number = "" then
number = "1"
end if
xslpath = Server.mappath("page2.xsl")
sourceFile = (file_xml)

Set source = Server.CreateObject("Msxml2.DOMDocument")
source.async = false



source.load(sourceFile)

set xsldoc = Server.CreateObject("MSXML2.FreeThreadedDOMDocumen t")

xsldoc.async = false
xsldoc.load(xslpath)

set xsltemp = Server.createObject("MSXML2.XSLTemplate")
xsltemp.stylesheet=xsldoc

set xslproc = xsltemp.createProcessor
xslproc.input=source
xslproc.output=Response

' parameter for message group

xslproc.addParameter "mastercategoria",Cat
xslproc.addParameter "pagenumber",number
xslproc.transform

Response.End

End Function

Call NomeFile("uno.xml") ' Restituisce uno.xml
Call NomeFile("due.xml") ' Restituisce due.xml
Call NomeFile("tre.xml") ' Restituisce tre.xml

%>

Andrea :dormo:
 

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
42
www.allinonenet.it
Domandine piccine

Ciao Luke,
te posso porre delle domandine ?

1) posso inserire codice asp in un file xsl(t) ?
2) se un file xml pesa troppo esiste un rimedio per allegerire il carico ?

Grazie,
Andy:evil:
 

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
42
www.allinonenet.it
... eh eh :hammer: io la userei l'astuzia, ma vallo a dire al webmaster iscemunito che ha creato il feed :jolly: