[XML/XHTML] Hoe html binnen een xml-node

Pagina: 1
Acties:
  • 146 views sinds 30-01-2008
  • Reageer

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 12:39
Ongetwijfeld een rare/domme/RTFM vraag, maar hoe kan ik html binnen xml gebruiken.

vb:
code:
1
2
3
4
<bagger>
    <troep>wat geblaat</troep>
    <junk>Hier een hoop tekst waarbij ik bijvoorbeeld dit <strong>bold</strong> wil hebben.</junk>
</bagger>


Ik heb hier al gezocht op html binnen xml. Dan kom ik een hoop tegen over XSL, maar nooit over wat ik hierboven beschrijf. Hierboven is het trouwens maar een klein beetje tekst. Maar in het echte xml-file wat ik heb, is het een flinke lap tekst waar ik af en toe iets bold wil of af en toe een rijtje wil opsommen. Hoe o hoe doe je dat? Linkje naar een nuttig artikel vind ik ook prima

And Bob's your uncle ...


  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Zo:

XML:
1
2
3
4
<bagger>
    <troep>wat geblaat</troep>
    <junk>Hier ... dit &lt;strong&gt;bold&lt;/strong&gt; wil hebben.</junk>
</bagger>

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

idd gewoonn de tekens in ascii neerzetten..(is het ascii ?? --> in deze tabel is het html)

Ascii tabel

--edit--
is dit niet meer /13 stuff??

[ Voor 67% gewijzigd door Jaspertje op 07-04-2003 20:35 ]


Verwijderd

Volgens mij kun je ook CDATA tags gebruiken

Verwijderd

Jaspertje schreef op 07 April 2003 @ 20:23:
idd gewoonn de tekens in ascii neerzetten..(is het ascii ??)
Nee dat zijn speciale escape tekens...

Verwijderd

Verwijderd schreef op 07 april 2003 @ 20:23:
Volgens mij kun je ook CDATA tags gebruiken
idd gewoon CDATA tags gebruiken, daar zijn ze ook voor bedoeld.

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 12:39
Is CDATA dan niet alleen voor javascript? want daar zie ik alleen maar voorbeelden van. Kan iemand dit even vertalen naar mijn voorbeeld?

And Bob's your uncle ...


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
euh wat bedoel je met HTML in XML zetten HTML = XML :) je voorbeeld is daar toch een perfect 'example' van? als je echt HTML wil erin zetten zonder dat ie als xml wordt beschouwd dan is CDATA een mogelijkheid alsook XML-escaping (maar die laatste moet je dan wel weer un-escapen). Je zult beter effe beter uitleggen wat je precies wil doen...

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 12:39
Ik wil van de tekst die in een node(?) staat bv 1 woord vet gedrukt hebben. Of een list kunnen maken binnen die tekst.

And Bob's your uncle ...


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 20:58

Robtimus

me Robtimus no like you

Vet of lijst is opmaak, dat is geen deel van XML. Als je dat wil moet je CSS/XSL gaan gebruiken.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • AP3X
  • Registratie: Maart 2000
  • Niet online
moet je dat niet via je stylesheet regelen ?

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 20:58

Robtimus

me Robtimus no like you

Chaser2600 schreef op 07 April 2003 @ 22:21:
moet je dat niet via je stylesheet regelen ?
Dat is CSS/XSL dus ook. Cascading Style Sheets en eXtensible Stylesheet Language

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • tomato
  • Registratie: November 1999
  • Niet online
Hmmm... tsja... :/

Eigenlijk ben ik niet echt blij met het woord 'Stylesheet' in XSL. Het is een transformatie taal, met enige fantasie zou je de term 'stylesheet' hierbij kunnen halen, maar imho is het een slecht gekozen naam (net zoals het 'stylesheet' root element van een transformatie dat gelijk is aan het 'transform' element).

In de zin van 'stylesheet' zoals in dit topic bedoeld wordt is XSL dan ook niet aan de orde. IceManX maakt een juiste opmerking, als hij het bij CSS laat ;)

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 12:39
Limhes schreef op 07 April 2003 @ 20:21:
Zo:

XML:
1
2
3
4
<bagger>
    <troep>wat geblaat</troep>
    <junk>Hier ... dit &lt;strong&gt;bold&lt;/strong&gt; wil hebben.</junk>
</bagger>
dit werkt dus niet.

Ik weet wel wat stylesheets zijn en hoe ik met xsl moet werken. Alleen als je dit voorbeeld bekijkt wil ik, als dit xml-file getransformeerd wordt, het woordje bold vetgedrukt hebben en dat krijg ik niet voor elkaar met xsl na vele malen

And Bob's your uncle ...


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
maak een template aan voor <bold> welke het omzet naar <strong> oid. Dan pas je die template toe op je <junk>

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 12:39
Dat heb ik dus al een keer eerder geprobeerd, maar dat werkt dus niet.

And Bob's your uncle ...


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Veel slechte adviezen zie ik hier :'( (niet allemaal gelukkig :) )

HTML heeft tegenwoordig een XML syntax: XHTML. XHTML gebruikt XML namespaces om zo te garanderen dat element namen uniek zijn. Verschillende XML gebaseerde talen kan je heel eenvoudig mixen in 1 document. Je kan dus gewoon XHTML fragmenten in XML opnemen.

Constructies met CDATA sections, escaped < en > zijn foei lelijk.

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


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
zoals eerder gezegd is de 'propere' method om je 'node' te pakken met 'daarin' je html/wahtever en dan laat je de XML Processor alles wat in de node zit gewoon uitschrijven naar een string - oftewel je html...

code:
1
2
3
4
5
6
7
8
  <alldata>
      <data id="4">some text<b>bold</b>sjkjs</data>
       ...
  ...
  
TNode =  tNode.selectSingleNode("/alldata/data[@id=4]");

String Content = tNode.innerXMLToString();


of je escaped je xml (wat ik dan weer niet zo onproper vind want als je wil kun je effe vergeten dat je met html werkt maar echt pure data en dan kun je toch niets anders)

en dan is het String = XMLUnescape(TNode.getNodeValue);

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Scharnout schreef op 07 April 2003 @ 23:34:
[...]


dit werkt dus niet.

Ik weet wel wat stylesheets zijn en hoe ik met xsl moet werken. Alleen als je dit voorbeeld bekijkt wil ik, als dit xml-file getransformeerd wordt, het woordje bold vetgedrukt hebben en dat krijg ik niet voor elkaar met xsl na vele malen
Waarom zou je nu nog met een xsl gaan werken????

Ondanks het feit dat veel mensen het lelijk vinden werkt het zonder XSL ook al..

als je het stuk binnen <junk></junk> gewoon in een html kopieert en dat in een browser opens zal ie gewoon bold laten zien... dus je moet dat niet met een XSL doen, gewoon kijhard op laten nemen in je pagina en klaar is Scharnout

dit stukje komt rechtstreeks uit jou XML (tweakers vangt html goed af ;)) maar hij doet het wel dus:

Hier ... dit <strong>bold</strong> wil hebben

[ Voor 17% gewijzigd door Jaspertje op 08-04-2003 12:53 ]


  • ari3
  • Registratie: Augustus 2002
  • Niet online
Scharnout schreef op 07 April 2003 @ 23:34:
[...]


dit werkt dus niet.

Ik weet wel wat stylesheets zijn en hoe ik met xsl moet werken. Alleen als je dit voorbeeld bekijkt wil ik, als dit xml-file getransformeerd wordt, het woordje bold vetgedrukt hebben en dat krijg ik niet voor elkaar met xsl na vele malen
Dat kan wel degelijk met XSL:

XSLT:
1
<xsl:copy-of select="/bagger/junk" />


Je krijgt nu letterlijk de tekst inclusief de HTML tags in je output. Geen noodzaak voor geknoei met CDATA enzo.

"Kill one man, and you are a murderer. Kill millions of men, and you are a conqueror. Kill them all, and you are a god." -- Jean Rostand


  • Scharnout
  • Registratie: November 2000
  • Laatst online: 12:39
ari3 schreef op 08 April 2003 @ 13:11:
[...]


Dat kan wel degelijk met XSL:

XSLT:
1
<xsl:copy-of select="/bagger/junk" />


Je krijgt nu letterlijk de tekst inclusief de HTML tags in je output. Geen noodzaak voor geknoei met CDATA enzo.
Gefeliciteerd. U wint het tosti-ijzer :) Werkt perfect! Thanks!

And Bob's your uncle ...

Pagina: 1