Toon posts:

[XML] Layout in de .xml files ?

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

Verwijderd

Topicstarter
Ik heb net eens even zitten denken over XML enzo, en bedacht toen het volgende.

Eén van de doelen van XML is het layout-onafhankelijk maken van allerlei data.

Een ander doel is dat de XML files min of meer leesbaar zouden moeten zijn voor programmeurs met een normale text-editor.

Maar.. spreekt dit elkaar niet een beetje tegen ?

Ik ben nu ook een heel klein beetje begonnen met XML, en merk nu meteen dat ik in mn scripts bezig ben om de XML tags mooi uitge-tab-t in een file te krijgen, zodat ze daarna ook fijntjes met een normale text-editor aan te passen zijn. Maar daar wilde ik toch juist vanaf ?

Dus, nu zijn er twee mogelijkheden:
1. Ik spuit alle data maar fijntjes in de xml file, en let niet op tabs/newlines, en vervolgens heb ik een xml-editor nodig als ik veranderingen aan wil brengen;
2. Mn scripts zijn alsnog bezig met layout, maar daarna heb ik ook mooie xml files die fatsoenlijk met een text-editor aan te passen zijn.

Toch een beetje een vreemd situatie niet ? :? Iemand hier nog wat over te zeggen ? Wat doen jullie ?

  • Arjan A
  • Registratie: November 2000
  • Laatst online: 21:48

Arjan A

Cenosillicafoob

XML-editor? Waarom wil je editen? Gewoon met DOM programmeren.
Layout? XSL is your friend :)

Canon EOS | DJI M2P
Fotoblog · Mijn werk aan jouw muur


Verwijderd

Topicstarter
Op vrijdag 21 december 2001 02:23 schreef Arjan_A het volgende:
XML-editor? Waarom wil je editen? Gewoon met DOM programmeren.
Layout? XSL is your friend :)
Dat soort layout bedoel ik niet. Ik heb het over de elementen in .xml files.

  • Orphix
  • Registratie: Februari 2000
  • Niet online
De XML die mijn scripts genereren zijn niet 'mooi'. Alles wordt achter elkaar geplakt. Maar die 'bestanden' worden vrijwel meteen verwerkt en worden niet door gebruikers gelezen.
Het mooie is echter dat je met XSLT een bestand kan genereren met automatische indenting. Dus als je een keer besluit van een 'lelijk' xml bestand een mooie te maken kan dat door een simpele transformatie. Waarschijnlijk heb je bij de transformatie naar XHTML ook al gebruikt gemaakt van XSL tags die de opmaak specificeren + indenting.

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op vrijdag 21 december 2001 02:26 schreef Sneech het volgende:
Dat soort layout bedoel ik niet. Ik heb het over de elementen in .xml files.
Ik denk dat Arjan bedoelt dat op het moment dat je de DOM naar een bestand laat schrijven het direct in een mooie stijl is.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Sneech: Ik heb net eens even zitten denken over XML enzo
Leuk :) .
Eén van de doelen van XML is het layout-onafhankelijk maken van allerlei data.
Hum je maakt hier wel een grappige verwarring: het gaat niet om de layout van de XML files, maar of de content van de XML file iets met layout te maken heeft.

Met behulp van XML kan je heel fraai allerlei data beschrijven. Bijvoorbeeld een cd-catalogus, nieuws-topics op tweakers.net enzovoorts. Deze data-beschrijvingen maken gebruik van XML. Ze hebben helemaal niets met layout te maken omdat ze puur de data beschrijven.

Voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<cd-collectie>
    <cd>
       <titel>Behind the Sun</titel>
       <artiest>Chicane</artiest>

       <nummers>
          <nummer>Overture</nummer>
          <nummer>Low Sun</nummer>
          ....
       </nummers>
    <cd>
    <cd>
       <titel>Back to mine</titel>
       <artiest>Faithless</artiest>

       ....
    </cd>
</cd-collectie>

Je beschrijft in dit stukje pure data. Het zou veel onhandiger zijn als deze cd-collectie beschreven zou zijn in HTML. Er zit dan allemaal info tussendoor die helemaal niets met de data te maken heeft.

Je kunt deze data op veel manieren gebruiken. Je kunt hem inlezen in een applicatie, transformeren naar een ander XML formaat of je kunt naar deze bron verwijzen in een andere file. Vaak zal je hem uiteindelijk toch wel presenteren: dit kan bijvoorbeeld door hem te transformeren naar XHTML of XSL Formatting Objects of zelfs plain-text. Dit transformeren kan je relatief heel gemakkelijk doen met de transformatie taal voor XML: XSLT.
Maar.. spreekt dit elkaar niet een beetje tegen ?
Nee dus :) . Ik denk dat dat nu wel duidelijk is met dit voorbeeld...
Ik ben nu ook een heel klein beetje begonnen met XML, en merk nu meteen dat ik in mn scripts bezig ben om de XML tags mooi uitge-tab-t in een file te krijgen, zodat ze daarna ook fijntjes met een normale text-editor aan te passen zijn. Maar daar wilde ik toch juist vanaf ?
Nee: daar wil je helemaal niet vanaf :+ . Je wilt niet dat je data is vermengt met een bepaalde presentatie-vorm (HTML bijvoorbeeld). Hierdoor is de data lastig te benaderen.
Toch een beetje een vreemd situatie niet ? :? Iemand hier nog wat over te zeggen ? Wat doen jullie ?
Ik zou dus gewoon netjes blijven inspringen. Ik doe dat ook altijd.

Edit: oeps, wel m'n code tags netjes afsluiten, anders zie je geen tabs ;) .

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


Verwijderd

Topicstarter
Aha, dus dan toch maar gewoon lelijke xml files, en dan als het een keer nodig is ff een indent XSLT'tje eroverheen gooien. Nou ja, dat moet dan maar.
Waarschijnlijk heb je bij de transformatie naar XHTML ook al gebruikt gemaakt van XSL tags die de opmaak specificeren + indenting.
Nog niet, maar wat niet is kan komen :).

--- edit ---

Ow, mbravenboer denkt er anders over Orphix :)

Maareh, ik zal eens kijken of er iets XML-DOM-achtigs in Ruby zit.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Sneech: Aha, dus dan toch maar gewoon lelijke xml files, en dan als het een keer nodig is ff een indent XSLT'tje eroverheen gooien. Nou ja, dat moet dan maar.
Nee absoluut niet dus, XSL(T) moet je gebruiken om een XML file naar een andere vorm om te zetten: XML, XHTML, plain-text of wat dan ook. Deze vorm zal vaak iets met een layout/presentatie te maken hebben (zoals XHTML). Het is niet noodzakelijk/zinnig om ranzige/onduidelijke XML te gaan schrijven en deze met XSLT naar iets mooiers om te zetten.
Nog niet, maar wat niet is kan komen :).
Zou ik zeker doen, XSLT is leuk :) .

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


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Sneech: Ow, mbravenboer denkt er anders over Orphix :)
Nou dat valt wel iets mee hoor ;) . Orphix had het vooral over het genereren van XML bestanden. Omdat layout in een XML bestand geen betekenis heeft is het ook niet noodzakelijk om een mooie layout aan te houden als geen mens het ooit zelf leest. Als je het echter zelf schrijft, zou ik het gewoon duidelijk houden en dus niet onnodig on-gelayout :) .

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


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Ja maar als ik nu over mijn eigen ervaringen praat. Ik roep bv modules aan die hun eigen XML en XSL aan mij leveren. Die geven gewoon terug bv
code:
1
2
3
4
<cd>
   <title>..</title>
   <year>..</year>
</cd>

Oftewel de cd is niet ge-indent. Is ook niet nodig want die module kan niet weten hoever het moet indenten. Daar doelde ik op. Bovendien is het vaak voor de duidelijk van het programma beter om dit te schrijven
PHP:
1
2
3
<?
$XML .= "<cd><title>$title</title><year>$year</year></cd>";
?>

dan dit
PHP:
1
2
3
4
5
6
7
<?
$XML .=
"<cd>
    <title>$title</title>
    <year>$year</year>
</cd>";
?>

En in het (zeldzame) geval dat ik de output die mijn script levert user-readable wil maken _dan_ gooi ik er wel een XSLT over.

(ik gebruik nu zo'n proggie van razor_blade (d8 ik) om topics bij te houden, maar het is best wel irritant als ik zie dat er een reply is terwijl ik bezig ben met tikken :))

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Orphix: ik gebruik nu zo'n proggie van razor_blade (d8 ik) om topics bij te houden, maar het is best wel irritant als ik zie dat er een reply is terwijl ik bezig ben met tikken :)
Hehe ;) . Ik had ons niet-verschil van mening ondertussen inderdaad al iets uitgelegd, maar jouw voorbeeld en uitleg maakt het vast nog wel duidelijker voor Sneech :) .

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

Pagina: 1