On 17 April 2012 01:34, Lionel Cons <span dir="ltr">&lt;<a href="mailto:lionel.cons@cern.ch">lionel.cons@cern.ch</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
IMHO, the BNF definition is correct: it accurately defines what you<br>
can see on the wire and this is sufficient to extract frames. It does<br>
not however define how to interpret what you extract from the wire,<br>
like backslash escaping and UTF-8 encoding, which are defined elsewhere<br>
in the STOMP 1.1 specification.<br></blockquote><div><br>Fair enough. Perhaps &quot;incorrect&quot; was a bit strong, but it could definitely have helped this casual reader avoid the dangerous misinterpretation I ended up making by reading the BNF alone. I believe it could profitably also describe the backslash-escaping. (After all, it would also be correct, in some sense, for it to specify the headers block as &quot;a sequence of bytes not including two newlines in a row, followed by two newlines&quot;, leaving it up the the rest of the text to describe how to extract the key-value pairs from that structure! ;-) )<br>
<br>Here&#39;s the kind of thing I was expecting:<br><br><pre><code>header              = header-name &quot;:&quot; header-value
header-name         = 1*header-text-atom<br></code><code>header-value        = *header-text-atom<br></code><code>header-text-atom    = &quot;\n&quot; | &quot;\c&quot; | &quot;\\&quot; | &lt;any OCTET except LF or &quot;:&quot; or &quot;\&quot;&gt;<br>
</code></pre><br>I should have been paying more attention during the 1.1 development process.<br><br>Regards,<br>  Tony<br><br>
</div></div>