Toon posts:

[XML|XSL] Hyperlink newbie vraag

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi mensen,

Ik heb met wat knip en plak werk van w3schools.com het volgende geconstrueerd. Ik krijg nu netjes iets op het beeld alleen wil de hyperlink niet werken.

Kan iemand even uitleggen hoe ik dit moet fixen? Want als ik een '()}"><xsl:value-of select="name"/>' binnen een <a> zet begint IE te barfen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0"?>

<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <BODY STYLE="font-family:Arial, helvetica, sans-serif; font-size:12pt; background-color:#EEEEEE">
    <xsl:for-each select="linkpage/category">
     <xsl:for-each select="site">

    <DIV>
      <a href="{hyperlink()}"><xsl:value-of select="name"/></a>
    </DIV>

     </xsl:for-each>
    </xsl:for-each>
  </BODY>
</HTML>


code:
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="simple.xsl" ?>
<linkpage>
 <category>
  <site>
    <name>Advanced Networking &amp; Servers</name>
    <hyperlink>http://gathering.tweakers.net</hyperlink>
  </site>
 </category>
</linkpage>

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Hum. allereerst heb ik eerst even zitten turen wat je aan het doen bent, want je eerste blok code is geen XSL document... Een XSL document bestaat uit een root: stylesheet met een aantal kinderen: templates.

Onbegrijpelijk dat hier uberhaupt nog iets uit komt.... ;)

Maar goed, je zit wel aardig op de goede weg. Achter hyperlink moet alleen geen () staan. Dit is namelijk geen functie maar een XPath expressie.

Het gebruik van die al die for-eaches is ook niet echt iets wat naar goede XSL smaakt.... Kijk eens hier voor een voorbeeld van stylesheets:

[topic=293980/1/25]

[topic=284245/1/25]

[topic=210135/1/25]

[topic=234350/1/25]

[topic=232403/1/25]

Meestal geef ik een XML file, de stylesheet en het resultaat. Moet lukken dus :)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
volgens mij staat hier een oplossing:

[topic=237065/1/35]

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Deze gaat trouwens over precies hetzelfde, maar er staat geen volledige stylesheet bij: [topic=296223/1/25] .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
tnx voor deze info!


mijn voorbeeld: http://www.w3schools.com/xml/simple.xsl

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Hum het staat er inderdaad ja :? Het gebruikt echter ook nog de working-draft namespace (let daar ook ff op...de final staat wel in een van die topics).

Is mij iets volledig ontgaan of kan dit voorbeeld nog steeds worden gebruikt?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • MAZZA
  • Registratie: Januari 2000
  • Laatst online: 09-09 15:29

MAZZA

Barbie is er weer!

code:
1
2
3
4
5
  <TD class="nieuwsitem">
  <a TARGET="_blank" href="http://www.tweakers.net/nieuws/{id}">
  <xsl:value-of select="titel" /> 
  </a>
  </TD>

Zoiets bedoel je :? Of begrijp ik je vraag verkeerd :?

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0"?>

<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <BODY STYLE="font-family:Arial, helvetica, sans-serif; font-size:12pt; background-color:#EEEEEE">

    <xsl:for-each select="linkpage/category">
     <DIV STYLE="background-color:#cccccc; color:white; padding:4px">

     <xsl:for-each select="site">

      <xsl:element name="a">
            <xsl:attribute name="href">
            <xsl:value-of select="hyperlink" />
            </xsl:attribute>
      <xsl:value-of select="name" />
      </xsl:element>
      <BR/>

     </xsl:for-each>

     </DIV>
    </xsl:for-each>

  </BODY>
</HTML>

Zo, hij werkt nu perfect :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Op de oude manier was het ook wel mogelijk, je code is dan wellicht iets duidelijker...

Je krijgt dan:
code:
1
2
3
<a href="{hyperlink}">
   <xsl:value-of select="name"/>
</a>

Dit is dus gelijk aan:
code:
1
2
3
4
5
6
7
<a>
  <xsl:attribute name="href">
     <xsl:value-of select="hyperlink"/>
  </xsl:attribute>

   <xsl:value-of select="name"/>
</a>

en dat is weer gelijk aan jouw huidige oplossing:
code:
1
2
3
4
5
6
7
<xsl:element name="a">
     <xsl:attribute name="href">
        <xsl:value-of select="hyperlink" />
     </xsl:attribute>

     <xsl:value-of select="name" />
</xsl:element>

Mogelijkheden zat dus ;) . Alle oplossingen hebben zo hun voordelen.

Edit: het is wel fraai om er ff een 'echte' XSL stylesheet van te maken. Op die w3schools staan ook goede voorbeelden.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Is er ook nog een mogelijkheid om die category nog een waarde mee te geven. bv. <categoy value="GoT"> oid?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Uiteraard je kan alles toevoegen wat je maar wilt... Ik zou wel subelementen gebruik voor de naam van een category ipv een attribuut:
code:
1
2
3
4
5
6
<category>
    <name>Tech Fora</name>

    <site>...</site>
    <site>...</site>
</category>

Volgens mij staat hier op GoT ergens een bookmark voorbeeld... kzal ff zoeken.

edit: gevonden, deze was het: [topic=234350/1/25]

in mijn post geef ik een simpel voorbeeld van een bookmark file. Je ziet hier ook gelijk het grote voordeel van het gebruik van templates. Ik gebruik daar nl ook sub-categorien. Omdat de naam van een site daar ook een attribuut is (lelijk) heb ik dat bij een categorie ook gedaan.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Op zaterdag 20 oktober 2001 16:38 schreef mbravenboer het volgende:
Uiteraard je kan alles toevoegen wat je maar wilt... Ik zou wel subelementen gebruik voor de naam van een category ipv een attribuut:
|:( zo voor de hand liggend dat je het over 't hoofd ziet

maar m'n start pagina is nu klaar :D

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
sproggle: maar m'n start pagina is nu klaar :D
en powered by XSL :) . Gefeliciteerd ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1