<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1><code class="ABNF">phrase</code> (822)</h1><section><h1>RFC 2822 から</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> word            =       atom / quoted-string ;; RFC 2822 3.2.6</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> phrase          =       1*word / obs-phrase ;; RFC 2822 3.2.6</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> obs-phrase      =       word *(word / &quot;.&quot; / CFWS) ;; RFC 2822 4.1</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <code class="ABNF">obs-phrase</code> に <code class="ABNF">&quot;.&quot;</code>
が含まれているのは、名前の頭文字などで <code class="ABNF">quoted-string</code>
の外で使う <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DQN</anchor> が多かったせいです (4.1)。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">quoted-string</anchor> も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">atom</anchor> も周りの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CFWS</anchor> は省略可能ですから、 <samp>atom1&quot;quoted-string1&quot;atom2</samp> とか <samp>&quot;quoted-string1&quot;&quot;quoted-string2&quot;</samp> とかもありですね。意味があるのかと問われればないと思いますけど、 parser はこういうのも覚悟しないといけないということで。
<form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></li></ul></section><section><h1>MIME</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2047</anchor> 5. (3) が最新の定義です。次のようにあります。
また、説明によると <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">encoded-word</anchor> は必ず隣接する他のものと <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">linear-white-space</anchor>
で区切られる必要があります。<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> phrase = 1*( encoded-word / word )</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal>-3,<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal>-7 を考慮に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor> で書き直すと、<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> phrase = 1*(word / encoded-word) / obs-phrase</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> encoded-word = CFWS &lt;RFC 2047 encoded-word&gt; CFWS</li></ul></p><p>但し <code class="ABNF">phrase</code> が行全体の初めや終わりに来る場合は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CFWS</anchor>
は要りませんから、この部分だけ ABNF で表すのは無理ですね...</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en">RFC 5536 - Netnews Article Format</cite> (<time>2014-09-21 18:14:06 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc5536#section-2.1">http://tools.ietf.org/html/rfc5536#section-2.1</anchor-external></p></section></section></body></html>