Zend_Markup-Parsers.xml 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.markup.parsers">
  5. <title>Analyseurs Zend_Markup (parsers)</title>
  6. <para>
  7. <classname>Zend_Markup</classname> est fourni avec un analyseur, BBCode.
  8. </para>
  9. <sect2 id="zend.markup.parsers.theory">
  10. <title>Theorie de l'analyse</title>
  11. <para>
  12. Les analyseurs syntaxiques de <classname>Zend_Markup</classname> sont des classes
  13. qui convertissent du texte balisé en un arbre d'identifiants d'analyses, appelées 'tokens'.
  14. Même si nous utilisons par la suite l'analyseur BBCode, le principe de l'arbre à
  15. tokens est le même pour tous les analyseurs syntaxiques. Essayons avec un morceau
  16. de BBCode par exemple:
  17. </para>
  18. <programlisting><![CDATA[
  19. [b]foo[i]bar[/i][/b]baz
  20. ]]></programlisting>
  21. <para>
  22. L'analyseur BBCode va analyser syntaxiquement ce code et en déduire l'arbre suivant:
  23. </para>
  24. <itemizedlist>
  25. <listitem>
  26. <para>[b]</para>
  27. <itemizedlist>
  28. <listitem>
  29. <para>foo</para>
  30. </listitem>
  31. <listitem>
  32. <para>[i]</para>
  33. <itemizedlist>
  34. <listitem>
  35. <para>bar</para>
  36. </listitem>
  37. </itemizedlist>
  38. </listitem>
  39. </itemizedlist>
  40. </listitem>
  41. <listitem>
  42. <para>baz</para>
  43. </listitem>
  44. </itemizedlist>
  45. <para>
  46. Notez que les tags de fermeture n'existent plus dans l'arbre généré. Ceci car ils
  47. n'ont pas de valeur particulière pour la sémantique, ils ne sont pas perdus mais stockés
  48. grâce au seul tag d'ouverture. Notez aussi que ceci n'est qu'une vue simplifiée de l'arbre
  49. réel qui contient en réalité bien plus d'informations comme les attributs éventuels du tag
  50. et son nom.
  51. </para>
  52. </sect2>
  53. <sect2 id="zend.markup.parsers.bbcode">
  54. <title>L'analyseur BBCode</title>
  55. <para>
  56. L'analyseur BBCode est un analyseur de <classname>Zend_Markup</classname> qui
  57. transforme un code BBCode en arbres à tokens. La syntaxe des tags BBCode est:
  58. </para>
  59. <programlisting language="text"><![CDATA[
  60. [name(=(value|"value"))( attribute=(value|"value"))*]
  61. ]]></programlisting>
  62. <para>
  63. Des exemples de tags BBCode valides:
  64. </para>
  65. <programlisting><![CDATA[
  66. [b]
  67. [list=1]
  68. [code file=Zend/Markup.php]
  69. [url="http://framework.zend.com/" title="Zend Framework!"]
  70. ]]></programlisting>
  71. <para>
  72. Par défaut, tous les tags sont fermés avec la syntaxe '[/tagname]'.
  73. </para>
  74. </sect2>
  75. </sect1>