---
title: "XSLT + noden under rootparent."
type: "forum-thread"
url: "https://www.webforum.nu/amne/xml/163436-xslt-noden-under-rootparent"
topic: "XML"
topic_url: "https://www.webforum.nu/amne/xml"
author: "Fredde Mannen"
published: "2007-08-13T07:22:08.000Z"
updated: "2007-08-14T18:40:39.000Z"
replies: 1
views: 523
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/163436-xslt-noden-under-rootparent"
---

# XSLT + noden under rootparent.

## #1 — Fredde Mannen, 2007-08-13T07:22Z

Sitter och leker lite med XSLT och umbraco. 

Skall skapa en meny, där jag kommit hyfsat långt: 

```
<?xml version="1.0" encoding="UTF-8"?>  
 <!DOCTYPE xsl:Stylesheet [ <!ENTITY nbsp " "> ]>  
 <xsl:stylesheet   
     version="1.0"   
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   
     xmlns:msxml="urn:schemas-microsoft-com:xslt"  
     xmlns:umbraco.library="urn:umbraco.library"  
     exclude-result-prefixes="msxml umbraco.library">  
 <xsl:output method="xml" omit-xml-declaration="yes"/>  
   
 <xsl:param name="currentPage"/>  
 <xsl:param name="startLevel" select="1"/>  
   
 <xsl:template match="/">  
     <xsl:if test="count($currentPage/ancestor-or-self::node [@level = $startLevel]/node) > 0">  
         <ul id="navigation">  
             <xsl:for-each select="$currentPage/ancestor-or-self::node [@level = $startLevel]/node">  
                 <xsl:call-template name="drawnode">  
                     <xsl:with-param name="level" select="1"/>  
                 </xsl:call-template>  
             </xsl:for-each>  
         </ul>  
     </xsl:if>  
 </xsl:template>  
   
 <xsl:template name="drawnode">  
     <xsl:param name="level"/>  
     <li>  
         <xsl:choose>
             <xsl:when test="@id=$currentPage/@id">  
               	<xsl:attribute name="class">level<xsl:value-of select="$level"/>selected</xsl:attribute>  
             </xsl:when>  
             <xsl:otherwise>
                 <xsl:attribute name="class">level<xsl:value-of select="$level"/></xsl:attribute>  
             </xsl:otherwise>
         </xsl:choose> 
         <a href="{umbraco.library:NiceUrl(@id)}">  
             <xsl:value-of select="@nodeName"/>  
         </a>  
     </li>  
     <xsl:if test="count(descendant-or-self::node [@id=$currentPage/@id]) > 0">  
         <xsl:for-each select="node">  
             <xsl:call-template name="drawnode">  
                 <xsl:with-param name="level" select="number($level)+1"/>  
             </xsl:call-template>  
         </xsl:for-each>  
     </xsl:if>  
 </xsl:template>  
   
 </xsl:stylesheet>
```

Denna funkar bra, men jag vill ha till yttligare en funktionallitet och det är att få noden som är under rootparent men och är förälder i ledet till de barn som markeras. 

(umbraco) Navigationen består av foldern  
Hemsida (som har barnen)
  \- Startsida
  \- Information
  \- etc.

Information har barnen
\- Utbildning
\- etc. 

Denna del i en av When-statement för att säga villket barn i noderna som skall få en css-class som sklijer sig från de andra.

```
 <xsl:when test="@id=$currentPage/@id">
```

Och det är nog i denna jag måste få in en **or** som säger att även topföräldern till det barn av dessa noder skall markeras också.. 

wwwek

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

## #2 — jarvklo, 2007-08-14T18:40Z

Hmm...

Om vi säger såhär...
Om du länkar till en fil med XML-koden du vill bearbeta, och också talar om exakt vilka av noderna i just den XML-filen du vill ha "markerade" blir det, om inte annat, enklare att lösa problemet (för då kan man testa sina hypoteser mot riktiga data istället för att gissa hur Umbraco gör ;) )
Jag \*tror\* jag kan gissa mig fram med lite möda och inspiration baserat på det du skriver, men det är enklare att hjälpa till när man har konkreta data att utgå ifrån och slipper riskera att lägga tid på något som senare kanske visar sig vara ett missförstånd :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/xml/163436-xslt-noden-under-rootparent
