Zend_Markup-Parsers.xml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24604 -->
  4. <sect1 id="zend.markup.parsers">
  5. <title>Zend_Markup パーサー</title>
  6. <para>
  7. <classname>Zend_Markup</classname> には現在 BBCode パーサーと Textile パーサー
  8. という2つのパーサーが同梱されています。
  9. </para>
  10. <sect2 id="zend.markup.parsers.theory">
  11. <title>パーサーの仕組み</title>
  12. <para>
  13. <classname>Zend_Markup</classname> のパーサは、マークアップによる文をトークン木へと
  14. 変換するクラス群です。ここの例では BBCode パーサーを用いますが、
  15. 全てのパーサーにおいてトークン木の見解は変わりません。
  16. 例として BBCode のこの要素で始めます:
  17. </para>
  18. <programlisting language="text"><![CDATA[
  19. [b]foo[i]bar[/i][/b]baz
  20. ]]></programlisting>
  21. <para>
  22. BBCode パーサーは、要素を分離し以下の木構造を生成した値を持つことでしょう:
  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. クローズタグは消えていることにお気づきになったでしょう、それらは木構造の
  47. 内容として出現しません。これは、クローズタグは実際の内容のものではないからです。
  48. ですが、これは単にクローズタグを消失したことを意図するものではなく、
  49. タグ自身のタグ情報内で保持されています。さらに、これは木構造自身の簡潔な概観で
  50. あるだけということに注意してください。実際の木構造は、タグの属性とその名について
  51. より多くの情報を含んでいます。
  52. </para>
  53. </sect2>
  54. <sect2 id="zend.markup.parsers.bbcode">
  55. <title>BBCode パーサー</title>
  56. <para>
  57. BBCode パーサーは BBCode をトークン木へ変換する
  58. <classname>Zend_Markup</classname> パーサーです。 全ての BBCode タグの文法は:
  59. </para>
  60. <programlisting language="text"><![CDATA[
  61. [name(=(value|"value"))( attribute=(value|"value"))*]
  62. ]]></programlisting>
  63. <para>
  64. 有効な BBCode タグのいくつかの例は:
  65. </para>
  66. <programlisting language="text"><![CDATA[
  67. [b]
  68. [list=1]
  69. [code file=Zend/Markup.php]
  70. [url="http://framework.zend.com/" title="Zend Framework!"]
  71. ]]></programlisting>
  72. <para>
  73. 標準で、 '[/tagname]' フォーマットを用いて閉じられます.
  74. </para>
  75. </sect2>
  76. </sect1>