Gå til innhold

XML, XSL og XPath operatører.


Gjest Slettet-Pqy3rC

Anbefalte innlegg

Gjest Slettet-Pqy3rC

Hallo;

 

Jeg er litt usikker på hvorvidt dette hører hjemme i denne kategorien, men jeg prøver meg siden folket her sikkert er eksperter på w3c "standarder"...

 

Jeg har noen XML filer som jeg gjerne vil presentere som HTML via XSL slik at den gjengse bruker slipper å forholde seg til hvordan XML vises i browseren. Dette fungerer greit nok bortsett fra et par problemer.

 

Her er ett av dem;

 

I XSL kan en benytte Xpath operatorer i f.eks xsl:if tags:

<xsl:if test="../Param = 0">
  <p>Parameteret er AV!</p>
</xsl:if>

hvilket forsåvidt fungerer greit .

 

Nå er imidlertid XSL basert på XML samtidig som w3c folket har kommet med den glupe ideén (NOT!) at < og > tegnene er gyldige operatører i Xpath.

<xsl:if test="../Param < 0">
  <p>Parameteret er negativt!</p>
</xsl:if>

Dette går svært dårlig siden < og > ikke er gyldige i en XML atributt. Browseren får mao. angst.

 

Noen som har andre forslag til hvordan jeg kan teste på "større enn" og "mindre enn" i XSL dokumentet ?

 

Note:

Disse XML dokumentene ligger lokalt hos bruker (konfigurasjonsdata) og tanken var å utstyre diss med en

<?xml-stylesheet type="text/xsl" href="http://www.xxx.xx/xxxxx.xsl"?>

tag slik at de blir HTML formatert av browseren.

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet-Pqy3rC

IE 8 (mht. bruk av < tegnet):

 

The XML page cannot be displayed

Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.

 

The character '<' cannot be used in an attribute value. Error processing resource 'xxx...'

 

<xsl:if test="../SomeValue < 1">

 

Men du har rett, < og > kan benyttes. Jeg testet dette tidligere og fant at det ikke fungerte, men jeg må ha gjort noe galt for det funket bra på en test jeg gjorde nå nettopp.

 

Takk!

Endret av Slettet-Pqy3rC
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...