Avatar billede hasani Nybegynder
29. januar 2002 - 12:22 Der er 3 kommentarer

Ang. MSXML.DOMDocument

Jeg har et problem med brug af
MSXML.DOMDocument
i forhold til
MSXML2.DOMDocument.
Jeg har installeret den rette dll, altså msxml3.dll og har også kørt regsvr32 på dll'en.
Men når jeg så kærer min asp med MSXML2 istedet for MSXML får jeg følgende fejlmeddelse

Error Type:
msxml3.dll (0x80004005)
The stylesheet does not contain a document element. The stylesheet may be empty, or it may not be a well-formed XML document.

hvorimod bed brug af MSXML.DOMDocument fungerer fint. I mit stylesheet har jeg benyttet disse to namespaces og begge 2 virker i MSXML men ikke med MSXML2

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

Forstår ikke helt hvor fejlen kan være ?? plz hjælp
Avatar billede Slettet bruger
29. januar 2002 - 12:55 #1
Du bruger ikke BEGGE i samme stylesheet, vel?

Når du bruger den nederste (den eneste "korrekte" iflg. standarden) SKAL du have attributten ' version="1.0" ' med - men den fejl du får, tyder mest af alt på at den ikke kan finde filen...

Kan vi se koden?
Avatar billede hasani Nybegynder
29. januar 2002 - 13:10 #2
Nope...jeg bruger ikke begge...

men her er koden (bemærk dette virker...det er kun hvis man udskifter MSXML med MSXML2 at det går galt og man får den før nævnte fejlmeddelse)

vis_produkter2.asp :

<%@ Language=JavaScript%>


<Script Language=JavaScript Runat="Server">



var strStyleFile;
switch (Request("PresentationsFormat")+"")
    {
    case "Intern":
        strStyleFile = "til_html_vis_alt.xsl";
        break;
        default:
        strStyleFile = "til_html_websiteBenny.xsl";
    }

var strSourceFile    =    Server.MapPath("produkter.xml");
var strStyleFile    =    Server.MapPath(strStyleFile);
//var strStyleFil      = Server.MapPath("til_html_website.xsl");


var oSource = new ActiveXObject("MSXML.DOMDocument");
oSource.async = false;
oSource.load(strSourceFile);


var oStylesheet = new ActiveXObject("MSXML.DOMDocument");
oStylesheet.async = false;
oStylesheet.load(strStyleFile);

Response.CharSet = "ISO-8859-1";
oSource.transformNodeToObject(oStylesheet, Response)

</Script>

her er stylesheet til_html_websiteBenny.xsl


<?xml version="1.0"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" >






<!-- Match dokument-roden. -->

<xsl:template match="/">
<html>
    <head>
    <title>Lys og Lampe AS: Produktoversigt</title>
        <style type="text/css">
            body {font-family: verdana; font-size:12pt}
            table {font-family: verdana; font-size:10pt}
            .navn {background-color: ccccff; position:relative; width:200;}
        </style>
    </head>
   
    <body>
        <h2>Lys og Lampe AS: Produktoversigt</h2>
        <p>Her kan du se en liste over de produkter vi tilbyder</p>
        <table border="0">
            <tbody>
                <xsl:apply-templates select="produkter/produkt" />
            </tbody>
        </table>   
    </body>
</html>

</xsl:template>

<xsl:template match="produkt">
    <form name="formProdukt">
        <tr valign="top">
            <td>
                <img>
                    <xsl:attribute name="src"><xsl:value-of select="foto" /></xsl:attribute>
                    <xsl:attribute name="width">100</xsl:attribute>
                </img>
            </td>
            <td>
                <nobr><span class="navn"><b><xsl:value-of select="navn" /></b>
                (<xsl:value-of select="type"/>)</span></nobr><br/>
                Materiale:  <xsl:value-of select="materiale"/><br/>
                Højde : <xsl:value-of select="højde"/><br/>
                Vægt : <xsl:value-of select="vægt"/><br/>
                Farve:
                <select name="fFarve">
                    <xsl:apply-templates select="farver/farve"/>
                </select>
            </td>
            <td>
                <xsl:value-of select="beskrivelse"/><br/>
            </td>
            <td align="right"><nobr><i> kr. <xsl:value-of select="pris"/></i></nobr>
            </td>
        </tr>
    </form>
</xsl:template>

<xsl:template match="farve">
    <option>
        <xsl:attribute name="value">
            <xsl:value-of select="."/>
        </xsl:attribute>
        <xsl:value-of select="."/>

    </option>
</xsl:template>

</xsl:stylesheet>

og til sidst er xml-doken produkter.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="produkter.css"?>
<!DOCTYPE produkter SYSTEM "produkter.dtd">
<produkter>
    <produkt id="0001">
        <navn>Aenae</navn>
        <type>Bordlampe</type>
        <materiale>Kobber</materiale>
        <farver>
            <farve>Kobber</farve>
        </farver>
        <højde>46</højde>
        <vægt>3</vægt>
        <beskrivelse>Flot traditionel lame der skaber en solid og rustik følelse i rummet</beskrivelse>
        <foto>lille.jpg</foto>
        <pris>145.25</pris>
    </produkt>
    <produkt id="0002">
        <navn>Lamia</navn>
        <type>Bordlampe</type>
        <materiale>Keramik</materiale>
        <farver>
            <farve>orange</farve>
            <farve>lyseblå</farve>
            <farve>hvid</farve>
        </farver>
        <højde>44</højde>
        <vægt>2.4</vægt>
        <beskrivelse>Klassisk</beskrivelse>
        <foto>lille.jpg</foto>
        <pris>88.75</pris>
    </produkt>
    <produkt id="0003">
        <navn>Silenius</navn>
        <type>Bordlampe</type>
        <materiale>Keramik</materiale>
        <farver>
            <farve>hvid</farve>
            <farve>grøn</farve>
        </farver>
        <højde>44</højde>
        <vægt>4.5</vægt>
        <beskrivelse>Finaaaaa</beskrivelse>
        <foto>lille.jpg</foto>
        <pris>98.50</pris>
    </produkt>
    <produkt id="0004">
        <navn>Kassad</navn>
        <type>Bordlampe</type>
        <materiale>Aluminium</materiale>
        <farver>
            <farve>Aluminium</farve>
            <farve>Sort</farve>
        </farver>
        <højde>52.5</højde>
        <vægt>2.0</vægt>
        <beskrivelse>Minder</beskrivelse>
        <foto>lille.jpg</foto>
        <pris>118.75</pris>
    </produkt>
    <produkt id="0005">
        <navn>Weintraub</navn>
        <type>Standerlampe</type>
        <materiale>Aluminium</materiale>
        <farver>
            <farve>hvid</farve>
        </farver>
        <højde>176.6</højde>
        <vægt>7.3</vægt>
        <beskrivelse>Udsøgt</beskrivelse>
        <foto>lille.jpg</foto>
        <pris>249.75</pris>
    </produkt>
</produkter>
Avatar billede atoft Nybegynder
29. januar 2003 - 20:29 #3
Viker det heller ikke med msxml2 hvis du anvender

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

i starten af dit xslt?
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