Avatar billede perhoyer Nybegynder
16. oktober 2003 - 15:45 Der er 2 kommentarer og
1 løsning

MSXML4 - mappath mm. load(xsl)

Yo all.-.
Jeg har gennem længere tid kørt et lille XML genereret site stylet med XSLT, men oplever problemr i forbindelse med serverflytning ( fra NT4 til W2K )

Jeg har skrevet i ASP skrevet:

dim oXMLDOM, oXSLDOM, blnSrc, blnStyle, strXML
   
set oXMLDOM = Server.CreateObject("MSXML2.DOMDocument.4.0")
set oXSLDOM = Server.CreateObject("MSXML2.DOMDocument.4.0")
       
oXMLDOM.async = false
oXSLDOM.async = false

blnSrc = oXMLDOM.loadXML (minXMLTextStreng)
blnStyle = oXSLDOM.load("mitXSLDokument.xsl")

dim strRes
  if blnStyle and blnSrc then
    strRes = oXMLDOM.transformNode (oXSLDOM)
  else
    'FEJLPROC---
  end if
   
set oXMLDOM = nothing
set oXSLDOM = nothing

Response.Write strRes

'******************************************'
'******************************************'

Når koden kører på NT4´maskinen er der ingen probs, men på Win2K mask får jeg en fejlmeddelelse, tilladelser osv. er 100% identisk på de to maskiner, så jeg er overbevist om at der er tale om to forsk ver. af MSXML4.

Ved forsk tests har jeg fundet ud af at det er XSL dokumentet eller rettere ... STIEN til samme der er årsag til balladen. Skriver jeg Server.MapPath("") omkring "mitXSLDokument.xsl" virker alt fint igen, men bare filnavnet / den virtuelle sti til xsl dokumentet funker ikke. Skriver jeg hele httpadressen får jeg en Access Denied fejl.
Jeg har læst en del om at ServerXMLHTTP objektet skulle have undergået en drastisk forandring og måske mit prob. relaterer til det?
I givet fald, hvad gør jeg hvis jeg SKAL bruge URL´en under de ny omstændigheder
Avatar billede Slettet bruger
20. oktober 2003 - 00:36 #1
Mig bekendt har man altid skullet bruge Server.MapPath() til .load() - det jeg kunne forestille mig er sket er, at NT på een eller anden måde har tilladt en relativ sti, og sat "Current Directory" til websitens rod?

Hvis du skal load'e vha. en URL, skal du altid benytte ServerXMLHTTP-objektet, og det spiller ganske rigtigt meget bedre i version "4.0".

/CS
Avatar billede perhoyer Nybegynder
20. oktober 2003 - 22:50 #2
Yo..
Du har sikkert ret - men det undre sku da at MS selv skriver:

      stylesheet.async = false
      stylesheet.load("sample.xsl");

Uden at bruge mapPath
Per
Avatar billede perhoyer Nybegynder
20. oktober 2003 - 22:52 #3
Hvis du er interesseret kan du se det på
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xml_mth_sz_095x.asp

Det de skriver dér duer ikke mm jeg tilføjer mapPAth
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester