sélecteur d'attribut dans une css pour afficher du xml ?

sélecteur d'attribut dans une css pour afficher du xml ? - XML/XSL - Programmation

Marsh Posté le 22-04-2006 à 18:30:35    

Bon voilà j'ai une jolie page xml auquel je voudrais appliquer une css
tout va bien tant que je n'essaie pas d'afficher les attributs d'une balise xml.
 
pour simplifier voici mon xml (conforme à mon dtd)
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/css" href="theme.css"?>
  3. <!DOCTYPE dvd SYSTEM "shop_new.dtd">
  4. <dvd year="1977" runtime="118" rating="PG">
  5.     <!-- DVD title -->
  6.     <title>
  7.         Julia
  8.     </title>
  9.     <!-- information about the film -->
  10.     <film>
  11.         <!-- genre of the film  -->
  12.         <genrelist>
  13.             <genre name="Drama"/>
  14.         </genrelist>
  15.         <!-- creators (director, creator,writer) -->
  16.         <creators>
  17.             <!-- film/tvshow director  -->
  18.             <director>
  19.                 <firstname>Fred</firstname>
  20.                 <surname>Zinnemann</surname>
  21.             </director> 
  22.         </creators>
  23.         <!-- casting -->
  24.         <cast>
  25.             <castmember role="Lillian Hellman">
  26.                 <firstname>Jane</firstname>
  27.                 <surname>Fonda</surname>
  28.             </castmember>
  29.         </cast>
  30.       </film>
  31. </dvd>


 
et je voudrais afficher l'année du film
pour celà j'ai créer une feuille css (on est obligé d'utiliser une css et non pas une xls) :
 

Code :
  1. /* define the background */
  2. dvd{
  3. background-image : URL("images/main.png" ); /* url of the picture */
  4. width : 768px; /* width of the picture */
  5. height : 1024px; /* height of the picture */
  6. margin-left:10%; /* define margin */
  7. margin-right:10%; /* define margin */
  8. background-repeat: no-repeat;
  9. }
  10. /* define year information */
  11. dvd[year]{
  12. background-color :white;
  13. color :red
  14. }
  15. ...


 
le problème c'est qu'il m'affiche pas du tout l'année et pire encore la couleur de la police se répercute sur tous mes autres données à afficher (nom, prénom d'un director par exemple).
 
Bref je suis un peu perdu car j'ai lu partout qu'il fallait utiliser un sélecteur d'attribut ce que je pense avoir fait.
est ce que c'est faux ?

Reply

Marsh Posté le 22-04-2006 à 18:30:35   

Reply

Marsh Posté le 09-01-2008 à 17:19:50    

Salut,
C'est normal qu'il ne t'affiche pas le texte.  :D  
La balise CSS que tu as entré sert à formater tous les textes inclus entre <dvd year="****"> et </dvd>.
En d'autres termes dans ta feuille de style si tu mets :

Code :
  1. BALISE[attribut]:
  2. {   background-color: white;
  3.     color:red;
  4. }

Tu te retrouveras avec tout le texte encadrés par cette balise qui comporte cet attribut rouge sur fond blanc.  :ouch:  
Enleve l'attribut year dans tes balises <dvd> et tu verras que la feuille de style ne formatera rien ;)
 
Voilà à bientôt :)


Message édité par sid-du-libre le 09-01-2008 à 17:20:11

---------------
OS : GNU/Linux Debian/Sid
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed