view blog.php @ 19:fb0e206f1acf tip

Possibilité de supprimer les attributs dans l'espace de nom de transformation Si des attributs sont présents dans un espace de nom autre que celui par défaut dans un document XHTML, ce dernier n'est plus valide au sens strict d'après la documentation du W3C[1], et en conséquence le validator se plaint. Par conséquent, il est désormais possible de définir un paramètre du template amenant la suppression de tous ses attributs. Par défaut, on ne les supprime pas, car il pourrait y avoir des utilisations valides d'une part (CSS étant au courant de l'existence des espaces de noms entre autres), et que cela entraine une pénalité au niveau du temps d'execution d'autre part, puisqu'il faut retrouver ses attributs avant de les supprimer (la pénalité ne devrait pas être trop grande grâce à XPath, mais non nul quand même) Ajout d'un test unitaire qui va bien pour tester cette fonctionnalité. [1] : http://www.w3.org/TR/xhtml1/#well-formed
author Franck Deroche <webmaster@defr.org>
date Wed, 31 Oct 2007 17:56:14 +0100
parents 673d9845fc16
children
line wrap: on
line source
<?php
  require_once('class.template.php');
  $tpl = new Template('blog_index.xml');
  $p1 = new Template('blog_post.xml');
  $p1->setParams(array(
    '#post@class' => 'PostContent Weird',
    'postTitle'   => 'Lorem ipsum',
    'postDate'    => 'lundi 19 mars 2007, 00h37',
    '#mood@src'   => '/blog/mood/Weird.png',
    '#mood@alt'   => 'Mood: Weird',
    'postContent' => 'Lorem ipsum sit dolor amet',
    'postTags'    => 'Voyage, Toulon, SNCF',
    'postNumber'  => '#0002',
    'postComments'=> 'Un petit commentaire ?'
  ));
  $p2 = new Template('blog_post.xml');
  $p2->setParams(array(
    '#post@class' => 'PostContent Cool',
    'postTitle'   => 'Sit dolor',
    'postDate'    => 'samedi 17 mars 2007, 00h37',
    '#mood@src'   => '/blog/mood/Cool.png',
    '#mood@alt'   => 'Mood: Cool',
    'postContent' => 'sit dolor amet',
    'postTags'    => 'Voyage, Toulon, SNCF',
    'postNumber'  => '#0001',
    'postComments'=> 'Un petit commentaire ?'
  ));
  $params = array(
    'title' => 'Dual Blog',
    'head' => array(
       array(
        'link@rel'   => 'StyleSheet',
       	'link@href'  => '/css/truc.css', 
	'link@title' => 'Truc'
       ),
       array(
        'link@rel'   => 'Alternate StyleSheet',
        'link@href'  => '/css/chose.css', 
	'link@title' => 'Chose'
       )
    ),
    '#Posts' => array(
      array('post' => $p1),
      array('post' => $p2)
    )
  );
  $tpl->setParams($params);
  echo $tpl;
?>