---
title: "importStylesheet() - NS/Mozilla"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/74616-importstylesheet-ns-mozilla"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Darren"
published: "2003-04-21T11:11:04.000Z"
updated: "2003-04-21T20:34:46.000Z"
replies: 7
views: 290
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/74616-importstylesheet-ns-mozilla"
---

# importStylesheet() - NS/Mozilla

## #1 — Darren, 2003-04-21T11:11Z

Någon som kan hjälpa mig med följande koden? Koden laddar in XSL och XML filen som skall visas på sidan.

```
var processor = new XSLTProcessor();
var myXSL = document.implementation.createDocument("", "test", null);
myXSL.addEventListener("load", onload, false);
myXSL.load("style.xsl");

function onload() {
// Denna raden bryter NS 7 på...
  processor.importStylesheet(myXSL);

// Här under skall man ladda in XML filen som man vill presentera
  ...
}
```

Får detta felmeddelandet:

> processor.importStylesheet is not a function

Någon som vet en motsvarighet till imortStylesheet() funktionen som då fungerar i NS?

Permalänk: https://www.webforum.nu/p/74616

## #2 — Jojoxx, 2003-04-21T11:59Z

> **Darren skrev:**
>
> Någon som vet en motsvarighet till imortStylesheet() funktionen som då fungerar i NS?

Detta ÄR en Mozilla funktion, men du har antagligen en för gammal version av din webbläsare. Installerar du den senaste (icke alpha-versionen) av [Mozilla 1.3](http://www.mozilla.org/releases/) så fungerar det. Det kan hända att Netscape 7.02 som är baserad på Mozilla 1.0.2 inte är tillräckligt färsk.

Permalänk: https://www.webforum.nu/p/1018416

## #3 — Peter S, 2003-04-21T12:07Z

> Det kan hända att Netscape 7.02 som är baserad på Mozilla 1.0.2 inte är tillräckligt färsk

Stämmer bra det. Minst 1.2 krävs.

Du kan även ta en titt på följande sida:

<http://www.zoode.org/b2/index.php?p=30&c=1>

 :)

Permalänk: https://www.webforum.nu/p/1018421

## #4 — Darren, 2003-04-21T12:36Z

Kanske var jag lite otydlig... :)

Det fungerar i Mozilla och NS 6 men inte i NS 7. Samma sak gäller setParameter() funktionen...

Menar ni då att det inte finns någon möjlighet att skicka parametrar till XSL filen i NS 7.+?

Permalänk: https://www.webforum.nu/p/1018430

## #5 — Darren, 2003-04-21T15:49Z

Denna koden fungerar i Mozilla 1.3 och Netscape 7.

```
var processor = new XSLTProcessor();
var myXSL = document.implementation.createDocument("", "test", null);
myXSL.addEventListener("load", onload, false);
myXSL.load("style.xsl");

function onload(){
    if (!processor.importStylesheet){
    // Netscape koden
        var out = document.implementation.createDocument("text/html","",null);
    // Ladda in XML filen
        ...
    // Gör transformationen
        var newDocument = processor.transformDocument(myXML, myXSL, out, null);

    }
    else{
        processor.importStylesheet(myXSL);
    // Ladda in XML filen
        ....
    // Gör transformationen
        var newDocument = processor.transformToFragment(myXML, document);
    }
}
```

Dock återstår problemet med att skicka parameters till XSL filen.
I Mozilla kan man använda:

```
processor.setParameter(null, "param_namn", "param_värde")
```

Någon som har något tips?

Permalänk: https://www.webforum.nu/p/1018503

## #6 — Jojoxx, 2003-04-21T16:47Z

Nej, tyvärr. Efter vad jag läst är setParameter() precis som Peter säger introducerad i Mozilla 1.2.

En tänkbar lösning kanske kunde vara att sätta dina parametrar via DOM i det transformerade resultatet. Om du vill kan du ju posta dina tillhörande xsl/xml-filer.

Permalänk: https://www.webforum.nu/p/1018546

## #7 — Darren, 2003-04-21T16:53Z

Sitter precis och funderar på något sådant... :)

När man gör myXSL.load("xsl_fil.xsl") så får man ju ett DOM dokument. I en sådan borde det vara möjligt att använda setAttribute() funktionen och på så sätt sätta parametern...

Skall testa detta lite så skickar jag resultatet om det fungerar.

Permalänk: https://www.webforum.nu/p/1018552

## #8 — Darren, 2003-04-21T20:34Z

Nu har vi det...

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html>
<head>
<title>Netscape/Mozilla - XML/XSL/JavaScript test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
var myXML;
var processor = new XSLTProcessor();

var myXSL = document.implementation.createDocument("", "test", null);
myXSL.addEventListener("load", loadXML, false);
myXSL.load("xsl_fil.xsl");

function loadXML() {
    myXML = document.implementation.createDocument("", "test", null);
    myXML.addEventListener("load", doTrans, false);
    myXML.load("xml_fil.xml");
}

function doTrans(){
    if (!processor.importStylesheet){
        var out = document.implementation.createDocument("", "test", null);

        myXSL.getElementsByTagName("param")[0].childNodes[0].nodeValue = "param_värde";

        var newDocument = processor.transformDocument(myXML, myXSL, out, null);
        var result = out.lastChild;
        document.getElementById("result").appendChild(result);
    }
    else{
        processor.importStylesheet(myXSL);
/*
    I Mozilla har vi två val. Att använda samma kod som i NS	
        myXSL.getElementsByTagName("param")[0].childNodes[0].nodeValue = "param_värde";
    eller Mozillas egen funktion setParameter()
*/
        processor.setParameter(null, "param_namn", "param_värde");
		
        var newDocument = processor.transformToFragment(myXML, document);
        document.getElementById("result").appendChild(newDocument);
    }
}
</script>
</head>

<body id="result" style="margin: 20px;">
<!-- Här kommer resultatet att hamna... -->
</body>
</html>
```

För att parametersättningen skall fungera med NS metoden måste parametern deklareras så här i XSL filen:

```
<xsl:param name="param_namn">dummy_värde</xsl:param>
```

Permalänk: https://www.webforum.nu/p/1018718

---

Tråden på webben: https://www.webforum.nu/amne/javascript/74616-importstylesheet-ns-mozilla
