---
title: "xsl hjälp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/xml/49618-xsl-hjälp"
topic: "XML"
topic_url: "https://www.webforum.nu/amne/xml"
author: "clown"
published: "2002-08-06T07:31:37.000Z"
updated: "2002-08-14T14:25:22.000Z"
replies: 5
views: 478
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/xml/49618-xsl-hjälp"
---

# xsl hjälp

## #1 — clown, 2002-08-06T07:31Z

HJÄLP...
Min server vill inte transformera mitt xml dokument med följande xsl kod.
Jag vet inte vad det är för fel på den ... Nån som kan kontrollera med nått bra program?

```

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

<xsl:template match="/">
<xsl:if test="NiceInfo/Person/FranvaroBesked/Abcense/Info!='No abcense'">
<span ID="Info1991" style="position: absolute; visibility: hidden; width:700px; height:100px; z-index:1;">
<table border="0" bgcolor="#000000" bordercolor="#000000" cellspacing="0" cellpadding="1">
 <tr>
  <td>
   <table border="0" bgcolor="#f1f1f1" cellspacing="0" cellpadding="0">
      <tr bgcolor="#f1f1f1">
  		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><b>Reason</b></td>
		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1" width="100"><b>From</b></td>
		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1" width="100"><b>To</b></td>
		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><b>Comment</b></td>
        <td bgcolor="#f1f1f1"><a href="javascript:hide('Info1991')"> <img border="0" src="http://151.183.8.67/images/common/kryss.gif" /></a></td>
      </tr>
  	  <tr bgcolor="#000000">
	    <td height="2" colspan="9" align="center"></td>
	  </tr>
      <xsl:for-each  select="NiceInfo/Person/FranvaroBesked/Abcense">
      <tr bgcolor="#f1f1f1" height="30">
  		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><xsl:value-of select="Reason"/></td>
		<td bgcolor="#f1f1f1"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><xsl:value-of select="From"/></td>
		<td bgcolor="#f1f1f1"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
		<xsl:choose>
			<xsl:when test="Picture!=''"><td bgcolor="#f1f1f1"><b><xsl:value-of select="To"/></b></td></xsl:when>
			<xsl:when test="Picture!=''"><td bgcolor="#f1f1f1"><xsl:value-of select="To"/></td></xsl:when>		
			<xsl:otherwise>resultA</xsl:otherwise>
		</xsl:choose>
		<td bgcolor="#f1f1f1"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><xsl:value-of select="Comment"/></td>
		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
      </tr>
	  <tr>
	  <td height="1" colspan="9" align="center" bgcolor="#000000"></td>
	  </tr>
      </xsl:for-each>
    </table>
   </td>
  </tr>
 </table>
 </span>
 </xsl:if> 
 
</xsl:template>
</xsl:stylesheet>
```

och här finns xml dokumentet som jag försöker köra xsl:en på

```
<?xml version="1.0" encoding="ISO8859-1" ?> 
 <?xml-stylesheet type="text/xsl" href="nice_info.xsl"?>      
<NiceInfo>
<Person recno="7732">
<Namn> Florin Jonas </Namn>
<TelefonNr> 1234</TelefonNr>
<OrganisationOrt> TW </OrganisationOrt>
<Passning>  
 </Passning>
<Rum> 123456</Rum>
<Land>  </Land>
<MobilTelefon>  </MobilTelefon>
<Fax> 1234
 </Fax>
<Email> [email]jonas.florin@tetrapak.com[/email] </Email>
<SeNamn> ntaccount</SeNamn>
<Titel> 
 </Titel>
<Bolag> Tetra Pak Global Technical Sup </Bolag>
<BolagsNr> 1234-1234</BolagsNr>
<JackNr> 
 </JackNr>
<Ater>  </Ater>
<Sokare>  </Sokare>
<Arende> Projektledare

</Arende>
<FranvaroBesked>
<Abcense id="1" >
<Info>No abcense</Info>
<Picture></Picture>
<Reason></Reason>
<From></From>
<To></To>
<Comment></Comment>
</Abcense>
</FranvaroBesked>
</Person>

</NiceInfo>
```

Hoppas här finns många duktiga och snälla människor!

/Jonas

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

## #2 — toha, 2002-08-06T16:19Z

Har nu kollat på det och tog bort den första if-satsen. Ersatte den med en for-each istället och filtrerade ut
alla som hade en frånvaro rapporterad (stavas förresten 'absence'  :) ). Ändrade även uttrycket
på andra for-each-satsen också.

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

<xsl:template match="/">

<span ID="Info1991" style="position: absolute;">

<xsl:for-each  select="/NiceInfo/Person[FranvaroBesked/Abcense/Info = 'No abcense']">

<table border="0" bgcolor="#000000" bordercolor="#000000" cellspacing="0" cellpadding="1">
 <tr>
  <td>
   <table border="0" bgcolor="#f1f1f1" cellspacing="0" cellpadding="0">
      <tr bgcolor="#f1f1f1">
  		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><b>Reason</b></td>
		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1" width="100"><b>From</b></td>
		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1" width="100"><b>To</b></td>
		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><b>Comment</b></td>
        <td bgcolor="#f1f1f1"><a href="java script:hide('Info1991')"> <img border="0" src="http://151.183.8.67/images/common/kryss.gif" /></a></td>
      </tr>
  	  <tr bgcolor="#000000">
	    <td height="2" colspan="9" align="center"></td>
	  </tr>
      <xsl:for-each  select="FranvaroBesked/Abcense">
      <tr bgcolor="#f1f1f1" height="30">
  		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><xsl:value-of select="Reason"/></td>
		<td bgcolor="#f1f1f1"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><xsl:value-of select="From"/></td>
		<td bgcolor="#f1f1f1"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
		<xsl:choose>
			<xsl:when test="Picture!=''"><td bgcolor="#f1f1f1"><b><xsl:value-of select="To"/></b></td></xsl:when>
			<xsl:when test="Picture!=''"><td bgcolor="#f1f1f1"><xsl:value-of select="To"/></td></xsl:when>		
			<xsl:otherwise><td bgcolor="#f1f1f1">resultA</td></xsl:otherwise>
		</xsl:choose>
		<td bgcolor="#f1f1f1"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
        <td bgcolor="#f1f1f1"><xsl:value-of select="Comment"/></td>
		<td bgcolor="#f1f1f1" width="10"><img border="0" src="http://151.183.8.67/images/common/transparant.gif" /></td>
      </tr>
	  <tr>
	  <td height="1" colspan="9" align="center" bgcolor="#000000"></td>
	  </tr>
      </xsl:for-each>
    </table>
   </td>
  </tr>
 </table>

</xsl:for-each>
</span>
 
 
</xsl:template>
</xsl:stylesheet>
```

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

## #3 — toha, 2002-08-06T16:21Z

Kan rekommendera dig att skaffa XML Cooktop som är ett bra program att skapa xml och xslt-filer. Dessutom har den en ypperlig XPATH-debugger.

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

## #4 — clown, 2002-08-13T14:24Z

Jag tackar för hjälpen av toha.
Men tyvärr var det inte xsl eller xml filen som var problemet.
Utan det var att Microsoft.XMLDOC objectet inte gick att använda för att göra en screenscrap (alltså hämta min xml & xsl fil).

Nu har jag använt **MSXML2.ServerXMLHTTP** som funkar utmärkt till just screenscrapping.

Mitt problem är nu att när jag har laddat mitt xsl från en URL

```
set xsl = Server.CreateObject("MSXML2.ServerXMLHTTP")
	xsl.Open "GET", "http://xxxxxxx/xml/nice_info.xsl", False
	xsl.send
```

då skapar jag ett nytt object som jag tänker stoppa in xsl koden i:

```
set nXSL=Server.CreateObject("Microsoft.XMLDOM")
```

PROBLEMET:
När jag eftet det kör följande kod:

```
	Response.write xsl.responseText & "<br>" & vbcrlf
	if [B]nXSL.load(xsl.responseText)[/B] then
		REsponse.write "YES"
	else
		REsponse.write "NO"
	End if
	Response.write nXSL.xml & "<br>" & vbcrlf

	if not nXSL.parseError.errorCode  = 0 then
	 Response.write nXSL.parseError.errorCode & "<br>" & nXSL.parseError.reason
	end if
```

så skriver den ut **NO** och följande fel nr:**\-2147221020 - Invalid syntax**

Varför, varför ohhh varför...... måste den göra så här mot mig   x( 

Hoppas någon allsmäktig här på forumet kan förklara detta för mig?!?!?!?

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

## #5 — toha, 2002-08-14T07:13Z

Du kan inte använda metoden **load** för att skicka in xml-data som sträng. load() används för att skicka in en sökväg (eller URL) till den sökta filen. Metoden **loadXML** används däremot för att skicka in xml i form av en textsträng:

```
...
If nXSL.loadXML(xsl.responseText) then
...
```

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

## #6 — clown, 2002-08-14T14:25Z

YYEEESS!!!
Nu funkar det!!!! 

Jag tackar så mycket för den ovärderliga hjälp som herr toha har gett mig!

/Jonas

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

---

Tråden på webben: https://www.webforum.nu/amne/xml/49618-xsl-hjälp
