Avatar billede davidfossil Nybegynder
15. marts 2006 - 18:57 Der er 6 kommentarer og
1 løsning

Newbie: "select single node" i XSLT

Følgende er et udsnit af noget XSLT jeg har skruet sammen i forbindelse med med Umbraco CMS. "for-each" løkken er lidt spøjs i denne sammenhæng da jeg ved at der altid kun vil matche in node. Hvordan selecter  jeg denne node uden for-each?

<xsl:template match="/">

<xsl:for-each select="$currentPage/ancestor-or-self::node[@parentID=-1]">
    <a href="{umbraco.library:NiceUrl(@id)}">
        <xsl:value-of select="data[@alias='siteName']"/>
    </a>
</xsl:for-each>

</xsl:template>
Avatar billede softspot Forsker
15. marts 2006 - 19:01 #1
Fungerer dette:

  <a href="{umbraco.library:NiceUrl(@id)}">
    <xsl:value-of select="$currentPage/ancestor-or-self::node[@parentID=-1]/data[@alias='siteName']"/></a>
Avatar billede davidfossil Nybegynder
15. marts 2006 - 22:37 #2
Nej. Atributten @id som bruges i funktionskaldet NiceUrl() hører til den node som for-each løkken fanger, og ersåledes ikke til rådighed hvor du bruger den.

Dit bud ledte mig dog på følgende, som virker:
<xsl:variable name="topNode" select="$currentPage/ancestor-or-self::node[@parentID=-1]"/>

<xsl:template match="/">

<a href="{umbraco.library:NiceUrl($topNode/@id)}">
    <xsl:value-of select="$topNode/data[@alias='siteName']"/>
</a>

</xsl:template>


Bare smid et svar - det var dig der ledte mig på vej :)
Avatar billede softspot Forsker
15. marts 2006 - 22:46 #3
Ja, jeg kan godt se at @id kommer fra konteksten. Da jeg havde læst din første linie tænkte jeg netop på at kopiere hele starten af stien op i href-attributten, men din løsning med et variabel er naturligvis smartere og lettere at overskue... :)
Avatar billede softspot Forsker
16. marts 2006 - 15:17 #4
Tak for point :)
Avatar billede dr_nielsen Nybegynder
03. juli 2008 - 22:09 #5
Hej
Jeg sidder med et ligende issue
  <xsl:variable name="SingleNode" select="$currentPage/ancestor-or-self::node/descendant::node[@id=1166]" />

Men jeg får intet leveret (Noden eksisterer og er publiseret)

Any clues?
Avatar billede dr_nielsen Nybegynder
03. juli 2008 - 22:12 #6
Jeg kan godt finde noden hvis jeg spørger til dens nodeTypeAlias
Avatar billede dr_nielsen Nybegynder
03. juli 2008 - 22:15 #7
hmmm nu virker det, aner ikke hvad jeg har gjort. beklager min trefoldige spam her
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