Toon posts:

[XSL] controle of element leeg is

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben voor het eerst serieus aan het stoeien met XML en XSL om een site mee op te bouwen. Ik ben nu bezig met een "veel gestelde vragen" gedeelte en loop daarbij tegen het volgende aan: een FAQ mag een plaatje bevatten om e.e.a. te verduidelijken, is dit het geval dan moet er een extra table row getoond worden aan de bezoeker.

Op dit moment probeer ik dit op de volgende manier te doen (is maar onderdeel van XSL)
code:
1
2
3
4
5
6
7
<xsl:choose> 
    <xsl:when test="faq_image != ''"> 
        <tr>
            <td colspan="2">[image!]</td>
        </tr>
    </xsl:when> 
</xsl:choose>

Dit resulteert in de volgende error:
Expected token 'eof' found '!='. faq_image -->!=<-- ''
(Ik had dit voorbeeld uit dit topic: [rml][ XML/XSL] Choose/When[/rml]
)

Hieronder m'n xml en dtd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version='1.0' encoding='iso-8859-1'?>
<?xml-stylesheet type='text/xsl' href='xsl/bb_faq.xsl'?>
<!DOCTYPE bb_faq SYSTEM 'dtd/bb_faq.dtd'>
<bb_faq>
  <bb_faq_item>
    <faq_id>1</faq_id>
    <faq_date>7 April 2003</faq_date>
    <faq_title>Hoe kan ik met XML werken</faq_title>
    <faq_answer>bla bla bla</faq_answer>
    <faq_image></faq_image>
  </bb_faq_item>
  <bb_faq_item>
    <faq_id>2</faq_id>
    <faq_date>7 April 2003</faq_date>
    <faq_title>Kan ik nog telefoneren met ADSL</faq_title>
    <faq_answer>bla bla bla</faq_answer>
    <faq_image>faq_postcodechek_planet_resultaat.jpg</faq_image>
  </bb_faq_item>
</bb_faq>

code:
1
2
3
4
5
6
7
8
9
<!ELEMENT bb_faq (bb_faq_item+)>
<!ELEMENT bb_faq_item (faq_id, faq_date, faq_title, faq_answer)>
<!ELEMENT faq_id        (#PCDATA)>
<!ELEMENT faq_date      (#PCDATA)>
<!ELEMENT faq_title     (#PCDATA)>
<!ELEMENT faq_answer    (#PCDATA)>
<!ELEMENT faq_image     (CDATA)>

<!ATTLIST faq_image src CDATA "">
Wat zie ik hier over het hoofd?

[ Voor 20% gewijzigd door Verwijderd op 13-04-2003 10:50 ]


Verwijderd

Moet je niet <> gebruiken om op ongelijkheid te testen :? Maar zeker weet ik het niet...

Verwijderd

Topicstarter
dan krijg ik:
The character '<' cannot be used in an attribute value. Error processing resource

Verwijderd

je moet die < en > omzetten in htmlcode.

dacht iets like &gtl; ofzow.. tjek w3schools.com

code:
1
&gt;
die andere weet ik niet

[ Voor 13% gewijzigd door Verwijderd op 13-04-2003 11:08 ]


  • Tranq
  • Registratie: Oktober 1999
  • Laatst online: 16-10-2024
die andere weet ik niet
code:
1
&lt;

[ Voor 18% gewijzigd door Tranq op 13-04-2003 11:13 ]


Verwijderd

Topicstarter
dan ben ik helaas weer terug bij af:
Expected token 'eof' found '<'. faq_image --><<--> ''

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Neem eens een goede tutorial door over zowel XML als XSLT. http://www.xfront.com bevat een aantal goede tutorials.

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


Verwijderd

Topicstarter
mbravenboer schreef op 13 april 2003 @ 11:48:
Neem eens een goede tutorial door over zowel XML als XSLT. http://www.xfront.com bevat een aantal goede tutorials.
Ga ik doen, maar doel je op iets specifieks?

Verwijderd

Topicstarter
ik heb inmiddels een oplossing gevonden: wanneer er een naam van een plaatje aanwezig is in de database, plaats ik deze in een attribuut van de faq. Als het attribuut bestaat dan toon ik het plaatje:

code:
1
2
3
4
5
<xsl:if test="@faq_image">
    <tr>
        <td colspan="2"><img><xsl:attribute name="src">img/<xsl:value-of select="@faq_image" /></xsl:attribute></img></td>
    </tr>
</xsl:if>

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
I-eye: Ga ik doen, maar doel je op iets specifieks?
Nee, want jouw probleem is niet echt specifiek ;) . Je hebt gewoon nog erg hard een XSL Tutorial nodig. Als je een specifiek probleem hebt, kan je pas een specifiek antwoord of tip verwachten :) .

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


Verwijderd

hmm eigenlijk heb ik dit probleem nu ook..
is er niet zoiets van ..

isempty.. net zoals php

?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Wat is de XPath expressie om alle kinderen te selecteren?
Hoe tel je het aantal elementen in een node-set?
Hoe vergelijk je een getal met 0?

Sorry, maar dit is echt zulk ongelofelijk RTFM werk ...

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

Pagina: 1