http://tecfa.unige.ch/guides/xml/cocoon/staf2x_portal/http://tecfa.unige.ch/guides/xml/cocoon/staf2x_portal/ Page portail
page dynamique en XML: inclusion de plusieurs db, SQL, LDAP, fichieres ressources XML etc.appel � au - 3 types de donn�es
d�terminer �l�ments: banni�re, colonne de gauche, de droite etc. -> d�finir un langage -> construire un DTD ad hoc pour la page portail; un DTD (diff�rent) pour les fichiers ressources - p. ex. liste de restau, sous forme de <TABLE> +t�t que frame
exemples tecfa: http://tecfa.unige.ch/navi/pointers.html - 4. news...
news forge (ressources OpenSource), voir aussi slash dot
les pages commerciales font de l'html moche pour qu'on puisse pas piquer l'info
p. ex.
au centre table avec ressources refreshed suite � click dans table de gauche ou droite
db en prendre 1 � soi, 1 ailleurs
bouffe+vins
SQL sur liens bouffe + vins
XML pour fiches recettes + fiches de d�gust
LDAP usagers du site, ds l'id�al chat par le MOO (en tout cas forum)
header | ||
---|---|---|
![]() | Refresh results
| ![]()
|
![]() | ![]()
|
XML:For each box (left + right), db connection to establish<page>
<top>
<logo src='xxx' alt='blob'>
<title>
</title>
</top>
<left><box>
<title>
blabla (information):
<intro></intro>
<list>
<el(element)></el>
datasFields: title/url/description: ul-li-ul-p /date(insert/ressource?)/rating </title>
</list>
</box></left>
<middle>
</middle>
<right>
</right>
XSL also CSS (style-sheet), frequently called XSL-FO, can generate PDF, tell Kaspar if we find a good tutorial - not so much ressources
separate tasks = good, which is not the case at Tecfa with PHP or JSP, normally you ought never see an "echo" inside a script - it must be at the end
Caution: .SXML is not a standard, it is Tecfa-dks product / a local convention; .XML="pure XML", .SXML=PI (process instructions)
hard, hard! see handscripts on slides...
5.1 & 5.2: BASIC!!!
JSP fait pour faire des print, XSP fait pour créer des arbres XML
5.3 no doc except slides dks: CONNECTION;
expression dks: "un des trucs qui marche absolument 0 pas chez Crosoft..." càd voir le code source, ce qui marche effectivment mieux av. Mozilla
voir ici
Style sheet:
http://tecfa.unige.ch/guides/xml/cocoon/staf2x_portal/
http://tecfa.unige.ch/guides/xml/cocoon/staf2x_portal/portal.sxml
prendre un exemple ESQL dks (http://tecfa.unige.ch/guides/xml/cocoon/mysql-esql/simple-taglib-query.sxml)et l'insérer dans un box
ToDo d'ici demain 11h: copier un ex. dks, pour demain remplir les box
voir ici
21.2.01
XSLT: decrire des transformations: arbre -> nouvel arbre (p. ex. traduction XML en XHTML)
langage XPath permet d'identifier un element (fragment) dans un arbre, au sens large du terme, c'est pas du XML, �a ressemble au shell unix
XLink: langage pour faire des liens, remplace tag <a... html>
utilise aussi XPath
Xinclude:
XPointer: permet d'identifier une ressource au sens large, permet de pointer � des �l�ments XML n'importe ou, utilise aussi XPath, p. ex. 2e enfant du 1er bebe etc.
Seule bonne documentation: XML in a nutshell (O'Reilly, 54.- c/o Ellipse), cf. photocopies de ce matin
SVG concurrence en mieux Flash (pas de repr�sentation symbolique, pas de dynamique ou tres difficile)
XHTML = ce qu'on sort avec XML et c'est standard, mais �tre prudent, p. ex. <br />
Cf. 2.1
<? xml version=" 1.0" encoding=" ISO- 8859- 1" ?>
<xsl: stylesheet version=" 1.0"
xmlns: xsl=" http:// www. w3. org/ 1999/ XSL/ Transform">
....
</ xsl: stylesheet>
Processing instruction (PI): <?bla..., p. ex. <?php... en th�orie on peut appeller du PHP dans du XML
p. 9: l'�l�ment � tester = <xsl: template match=" page">
template: d�but de r�gle
<xsl: value- of select=" title"/> permet de chercher un sous-�l�ment (fragment);
apply-templates: Instruction disant au processeur "cherche d'autres templates" & ins�re le r�sultat ici, attention, ici il ne s'appliquerait qu'aux enfants de "title"
p. ex. /body identifiera tout ce qui est � la racine "body", /title identifiera le 1er title, //title le second etc.; //box/*/title = tous les titles enfants de box avec 1 seul parent entre les 2, si plus d'un parent non
se souvenir qu'il faut sp�cifier @ pour avoir les attribus (mn�monique: at = attribut), p. ex. box/@title
node() cherche tous les noeuds (attributs, �l�ments etc.)
xsl: copy permet de copier le tag & le contenu
c'est un langage de programmation, on peut faire des boucles etc. (p. 18)
choose un peu comme switch; remarque: . = �l�ment courant (path courant)
"grophty" (ploucs vivant dans les cercueils en suisse-allemand) utilisent encore la balise <font>, sinon il faut le CSS (ok, c'est le cas)
CELA SIGNIFIE QUE LA DOC XML DE L'AN PASSE EST OBSOLETE!!!
voir le tutoriel XSLT Rusty Herold
2 questions qui restent: comment inclure les ressources en XML, que
bab pour faire du fric: garder prisonnier l'usager du portail et faire de la pub, on pourrait faire un portail 'bis'
pour le milieu du portail, on peut faire un SQL order by date desc limit to 1
avec XML on peut bosser avec id
Vivian: comment importer depuis un fichier XML: cf. portal_test.sxml...
utilise Xinclude, balise sp�ciale Cocoon
Cesar vs Babel (1 DTD ou une multitude)
pour faire la liste simple � gauche en XML, regarder la balise middle de Vivian en prenant moins de balises, si on arrive pas il faut adapter la feuille de style, dans ce cas on vire /text() et <li>
sourcefile:http://tecfa.unige.ch/staf/staf-f/radeff/staf22/s2xEx4.htm
Rf |