[BC3] [XSL] Externe variabele gebruiken in XSL-query?

Pagina: 1
Acties:

  • ErectionJackson
  • Registratie: April 2000
  • Laatst online: 23-06-2017

ErectionJackson

Ff testen hoe lang een onderti

Topicstarter
Ik heb een pagina met een formulier waarin je in een selectbox moet kiezen uit 2 opties.
code:
1
2
3
4
<select name="selNaam">
  <option value="0">Jan</option>
  <option value="1">Piet</option>
</select>

De waarden uit het formulier worden in een XML-bestand geplaatst
code:
1
2
3
4
<?xml version="1.0" encoding="ISO-8859-1"?>
<namen>
  <naamID></naamID>
</namen>

Ik heb nog een XML-bestand met persoonsgegevens
code:
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0"?>
<personen>
  <persoon id="0">
    <naam>Jan</naam>
    <email>jan@klaas.nl</email>
  </persoon>
  <persoon id="1">
    <naam>Piet</naam>
    <email>piet@friet.nl</email>
  </persoon>
</personen>

Nu wil ik met een XSL-bestand een uitvoer maken die er zo uitziet:

<a href="mailto:email">naam</a>

Ik moet dus de persoonsgegevens uit het Persoons-XML-bestand halen en de juiste node selecteren aan de hand van het in het formulier gekozen ID-nummer.

Dus krijg ik een dergelijke XSL-query voor de naam:
code:
1
<xsl:value-of select="document('persoon.xml')//personen/persoon[@id='{@id}']/naam" />

Dit geeft een "Expression expected" error.

Mijn vraag is nu: Hoe kan ik wel een dynamische XSL-query maken? Dus zorgen dat het er zo: <xsl:value-of select="document(''persoon.xml'')//personen/persoon[@id=''0'']/naam" /> uitziet als ik als id ''01'' invul en zo: <xsl:value-of select="document(''persoon.xml'')//personen/persoon[@id=''{@id}'']/naam" /> als ik als id ''1'' invoer?

Ik weet dat dit goed te doen is als ik van de XSL-pagina een ASP-pagina maak met het juiste ContentType, maar ik wil het graag gewoon 100% XSL houden. Kan het zoals ik wil of is dit onmogelijk?

BTW, ik weet niet of dit hier thuishoort of in HID, maar ik denk wel hier:)

Microsoft SharePoint oplossingen | www.onlinesamenwerken.nl | Persian Dance Helia


  • ErectionJackson
  • Registratie: April 2000
  • Laatst online: 23-06-2017

ErectionJackson

Ff testen hoe lang een onderti

Topicstarter
gebruikt niemand hier XSL of weet niemand t?:)

Microsoft SharePoint oplossingen | www.onlinesamenwerken.nl | Persian Dance Helia


  • ErectionJackson
  • Registratie: April 2000
  • Laatst online: 23-06-2017

ErectionJackson

Ff testen hoe lang een onderti

Topicstarter
damn.. dit schiet niet op:(

Microsoft SharePoint oplossingen | www.onlinesamenwerken.nl | Persian Dance Helia


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 14-05 16:16
Op dinsdag 08 mei 2001 15:07 schreef ErectionJackson het volgende:
gebruikt niemand hier XSL of weet niemand t?:)
Jawel, maar ik weet helaas ook (nog) geen antwoord.

ps. waarmee parse je de pagina, want een heleboel parsers zijn eiegenlijk nog niet af.

  • ErectionJackson
  • Registratie: April 2000
  • Laatst online: 23-06-2017

ErectionJackson

Ff testen hoe lang een onderti

Topicstarter
Met de MSXML 3.0 parser. Ik denk dat ik al een oplossing weet. Gebruik maken van een xsl:variable met de waarde select="@id" en de variable toepassen door $variable.

Ik zal t ff proberen. Momentje:)

Microsoft SharePoint oplossingen | www.onlinesamenwerken.nl | Persian Dance Helia


  • ErectionJackson
  • Registratie: April 2000
  • Laatst online: 23-06-2017

ErectionJackson

Ff testen hoe lang een onderti

Topicstarter
OK, ik heb t*D Ik maak een xsl:variable waar ik de waarde inzet van het attribuut id:
code:
1
<xsl:variable name="AttrID" select="@id"/>

Dan zet ik de waarde hiervan in de andere query ($AttrID):
code:
1
<xsl:value-of select="document('persoon.xml')//personen/persoon[@id=$AttrID]/naam" />

Microsoft SharePoint oplossingen | www.onlinesamenwerken.nl | Persian Dance Helia


  • ErectionJackson
  • Registratie: April 2000
  • Laatst online: 23-06-2017

ErectionJackson

Ff testen hoe lang een onderti

Topicstarter
:7

Microsoft SharePoint oplossingen | www.onlinesamenwerken.nl | Persian Dance Helia


Verwijderd

Oke het is nu 3 1/2 jaar later gaaap, afijn ik duik er nu in bovenstaande zoals deze goede man neerzet ben ik aan het test geslagen, maar de ham vraag is kan ik de waarde die uit de combo box komt parsen in Xpath?

<xsl:variable name="AttrID" select="hier komt de variabel gevuld met de waarde uit de combobox o.i.d."/>

iemand een idee?

thanks
Tidde

Verwijderd

lama ben kennelijk echt een newbie..,

tidde
Pagina: 1