[PHP/XML/XSL] Globale entities

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Terranca
  • Registratie: April 2000
  • Laatst online: 18-09 18:25
Ik zit al een hele tijd te google'n maar kan maar geen werkende manier vinden om het volgende te implementeren.

Ik heb XML dat uitgepoept is door PHP, en die wordt met Sablotron door PHP geparsed met een externe XSL file. Het probleem is nu dat XML dus geen tekens als &, nbsp, etc ondersteund, aangezien dit HTML karakters zijn.. tot nu toe logisch :)

Wat ik nu wil, is dat ik 1 bestand heb (bv "entities.xml") waarin in een DOCTYPE alle elementen zitten. Vervolgens moet een bestand deze entities kunnen includen en ook gebruiken binnen zijn eigen XML.

Voorbeeld:

entities.xml :
code:
1
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE stylesheet [
    <!ENTITY myamp "<xsl:text disable-output-escaping='yes'>&amp;</xsl:text>">
]>


listpagina.xsl:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>

// Hier iets includen waardoor je myamp kan gebruiken in deze stylesheet

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xhtml" indent="yes" />
<!-- List of pages -->
<xsl:template match="//list">
  Tralala, hier een &myamp; teken, dat mag toch wel?
</xsl:template>
</xsl:stylesheet>


Ik heb al een aantal dingen geprobeert met !ENTITY SYSTEM etc maar kreeg t maar niet voor elkaar. Heeft iemand dit al eens meegemaakt en heeft er een oplossing voor :?

Acties:
  • 0 Henk 'm!

  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

Waarom moeilijk doen als het makkelijk kan? :)
code:
1
2
3
<xsl:template match="/">
   <p>&</p>
</xsl:template>

Kortom, gebruik numerieke entities in plaats van named entities.

[ Voor 36% gewijzigd door Rickets op 24-02-2004 18:39 ]

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.