Ik ben bezig xml en xslt transformaties in php met sablotron.
M.b.v. PHP haal ik de data uit een database en vervolgens bouw ik hier de XML file van. Ik wil echter dat deze data soms ook XHTML kan zijn.
Dan wil ik de volgende output (dus na transformatie):
* gewenste output:
Ik krijg het echter niet goed voor elkaar: bij gewoon wegschrijven is raken alle XHTML tags verloren na transformatie (op zich logisch). Dan zien DTD, XML en XSLT er als volgt uit:
* gewoon wegschrijven
DTD:
XML:
XSLT:
Output:
en aangezien de browser newlines negeert is dit niet wat ik wil.
Dus heb ik vervolgens met htmlentities($xml_content) geprobeerd dit aan te passen.
* wegschrijven na htmlentities()
XML:
Echter, hier valt sablotron over bij het parsen.
Hoe kan ik makkelijk ervoor zorgen dat XHTML kan worden gebruikt binnen een XML tag. Ik vermoed dat het volledig definiëren van alle XHTML elementen wel zou werken, maar ik kan me niet voorstellen dat er geen makkelijker manier is.
M.b.v. PHP haal ik de data uit een database en vervolgens bouw ik hier de XML file van. Ik wil echter dat deze data soms ook XHTML kan zijn.
Dan wil ik de volgende output (dus na transformatie):
* gewenste output:
code:
1
2
3
| blablabla bla bla<BR /> blabla <BR /> ........ |
Ik krijg het echter niet goed voor elkaar: bij gewoon wegschrijven is raken alle XHTML tags verloren na transformatie (op zich logisch). Dan zien DTD, XML en XSLT er als volgt uit:
* gewoon wegschrijven
DTD:
code:
1
| <!ELEMENT omschrijving ANY> |
XML:
code:
1
2
3
| <omschrijving> blablabla bla bla <BR /> blabla <BR />........ </omschrijving> |
XSLT:
code:
1
| <xsl:value-of select="omschrijving" disable-output-escaping='yes' /> |
Output:
code:
1
2
3
| blablabla bla bla blabla ........ |
en aangezien de browser newlines negeert is dit niet wat ik wil.
Dus heb ik vervolgens met htmlentities($xml_content) geprobeerd dit aan te passen.
* wegschrijven na htmlentities()
XML:
code:
1
2
3
| <omschrijving> blablabla bla bla <br /> blabla <br />........ </omschrijving> |
Echter, hier valt sablotron over bij het parsen.
code:
1
| XSLT processing error: XML parser error 11: undefined entity |
Hoe kan ik makkelijk ervoor zorgen dat XHTML kan worden gebruikt binnen een XML tag. Ik vermoed dat het volledig definiëren van alle XHTML elementen wel zou werken, maar ik kan me niet voorstellen dat er geen makkelijker manier is.
[ Voor 26% gewijzigd door vargo op 08-12-2003 13:51 ]