See also: notes on ex4
notes S2x Exercice Portail 20.2.01 Staf 2x

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
food food Refresh results

dancebamboula

winedrink drugsdrugs

XML:

<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>

For each box (left + right), db connection to establish

not like PHP which browse immediatly, with XML:

  • 1st search -> XSP (raw datas translated with an Infoset)
  • print results
  • styleSheet->XHTML

    PM

    xml-ser; see slides

    XSP

    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...

    LDAP

    Ressources at Tecfa, see IBM ressources

    Xinclude

    composite documents; see complex XSL stylesheets - Vivian; language: Xpath, used by XSL and Xinclude (Xinclude use XPointer use XPath); see exemple 4-2

    XSP

    as JSP, but as it, 1st program an XML-tree then print results; faster than JSP because it gives immediately the datas if you put a comment on ...xslt:
    //<?cocoon-process type="xslt"?>

    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