Avatar billede Daniel.E Praktikant
12. maj 2005 - 15:43 Der er 10 kommentarer og
1 løsning

tæmlig underlig fejl ved operator brug

Hvorfor virker det her ikke ??

<xsl:choose>
<xsl:when test="(./tal/@a + ./tal/@b) < '1'">
                               
</xsl:when>
<xsl:otherwise>
bla bla bla                             </xsl:otherwise>
</xsl:choose>


IE outputter fejlbesked: Tegnet < kan ikke bruges i en attributværdi


Jeg synes det er lidt weard da denne "<" operator er tilladt.  Er der noget som jeg ikke ved, eller skal man f.eks hive den ud i en variabel først ??
Avatar billede Daniel.E Praktikant
12. maj 2005 - 15:51 #1
hmm.. den skal escapes..... year.. men er der ikke smartere metoder ?
Avatar billede nielle Nybegynder
12. maj 2005 - 18:00 #2
Tegnet "<" skal skrives som "&lt;" når det indgår på den måde.
Avatar billede nielle Nybegynder
12. maj 2005 - 18:03 #3
...altså på akkurat samme måde som når man ville skive det på en html-side.
Avatar billede nielle Nybegynder
12. maj 2005 - 18:04 #4
Avatar billede Slettet bruger
12. maj 2005 - 23:28 #5
Der er intet underlilgt ved det - sådan er det bare. Det er een af de ting der lige netop sørger for at man altid kan regne med XML, modsat HTML, da en "compliant" XML parser SKAL brokke sig over brugen af < og " inde i en attribut-værdi.

Husk at et XSLT stylesheet først parses af en XML parser som ethvert andet XML dokument - når det derefter "læses" af XSL Processoren, er kommentarer f.eks. væk, og entities som &lt; og &quot; blevet erstattet med deres korresponderende tegn < og ".

- Og whitespace... nej, den tager vi en anden dag :-)

/CS
Avatar billede nielle Nybegynder
17. maj 2005 - 17:38 #6
Lukketid?
Avatar billede Daniel.E Praktikant
23. maj 2005 - 10:36 #7
jeg kan godt lukke mit spørgsmål, man har ikke fået besvaret mit spørgsmål.  Fandt selv svaret som kan læses på øverste indlæg.

Men lig bare nogle svar begge to
Avatar billede nielle Nybegynder
23. maj 2005 - 17:29 #8
Jo da, du har skam fået svar på dit spørgsmål. Svaret var at "nej, der er ikke en smartere metode". Du har endda fået grunden til at det forholder sig sådan - det er simpelthen xslt-standarden:

http://www.w3.org/TR/xpath#booleans

Efter min opfattelse så fortjener sådanne svar også point, og derfor smider jeg med god samvittighed et svar på denne her.

I øvrigt er jeg ikke helt sikker på at det at skrive "&lt;" i stedet for "<" kan kaldes at escape tegnet.

Og ellers er her noget at arbejde med:

http://www.w3.org/TR/xslt#disable-output-escaping
Avatar billede Daniel.E Praktikant
27. maj 2005 - 09:13 #9
det bliver så ventetiden der giver dig alle p: :)
Avatar billede Daniel.E Praktikant
27. maj 2005 - 09:13 #10
tak for hjælpen
Avatar billede nielle Nybegynder
27. maj 2005 - 17:33 #11
Takker.
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