CDATA sectie uitlezen in PHP dmv XSLT

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
We zijn bezig met een systeem dat gebruikt maakt van een XML dataset welke dmv PHP met XSLT getransformeerd wordt naar HTML.

Normaal is het zo dat de XML dataset compleet 'well formed' moet zijn om met XSLT getransformeerd te kunnen worden. Wij willen eigenlijk een dataset waarbij tussen bepaalde tags ook NIET 'well formed' data aanwezig is. B.V:

<root>
<beschrijving>
<p>Hallo daar<br><hr>Hier zou eigenlijk standaard HTML moeten komen te staan
</beschrijving>
</root>

Een oplossing zou zijn om de tekst tussen <beschrijving> XHTML compatible te maken, maar is er ook een mogelijkheid om het niet XHTML compatible op te slaan en XSLT te transformeren. Wij zaten zelf te denken aan een CDATA sectie, maar we weten dus niet of je de data binnen zo'n sectie ook kan uitlezen en direct als uitvoer kan gebruiken.

Alvast bedankt voor de moeite!

Acties:
  • 0 Henk 'm!

Verwijderd

Je kan het ook gewoon opslaan. De meeste XML parsers zullen de data zelf encoden zodat > & gt; (zonder spatie)wordt, etc. Als je dan met XSL disable-output-escaping (of zoiets) aanzet, kan je het ook gewoon weer heel simpel uitlezen.
Dan hoef je zelf niks bijzonders te doen :)

[ Voor 5% gewijzigd door Verwijderd op 03-05-2003 14:10 . Reden: & gt; werd omgezet naar >... ]


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Wij zaten zelf te denken aan een CDATA sectie, maar we weten dus niet of je de data binnen zo'n sectie ook kan uitlezen en direct als uitvoer kan gebruiken.
Heb je dat al geprobeerd en daar problemen mee geconstateerd dan?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
hessel22: Wij zaten zelf te denken aan een CDATA sectie, maar we weten dus niet of je de data binnen zo'n sectie ook kan uitlezen en direct als uitvoer kan gebruiken.
Je kan het wel in een CDATA section stoppen, maar dan is het pure tekst. Je kan er dus (in principe) geen transformaties op uitvoeren.

Ik proef echter in je opmerking dat je het eigenlijk als XML (XHTML) zou willen hebben zodat je er nog transformaties op uit kan voeren. Waarom zorg je er dan niet (elders) voor dat het XHTML is? Je moet het formaat waarmee je intern werkt vooral niet laten beinvloeden door de voorwaarde dat je niet al te streng mag zijn voor gebruikers. Als je gebruikers HTML wilt bieden, moet je er in de front-end voor zorgen dat dit XHTML wordt (met een tooltje). Intern kan je dan gewoon doorwerken met XHTML. Je kan dan netjes met namespaces werkend zodat je XHTML echt embed.

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


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt allemaal voor jullie reactie.
Aangezien wij met de niet 'well-formed' tekst niets meer willen dan output via HTML is CDATA waarschijnlijk een goede keuze. Komende dagen gaan wij experimenteren en als er problemen zijn posten we die hier weer.