Consider two elements in a sequence, dfdl:separator="/ // ///" with escapeCharacter="/" and escapeEscapeCharacter="/"
I did not spot language in the spec that makes it clear what gets priority, interpreting a character as an escape char or escape-escape char, or interpreting it as a delimiter.
Consider data "foo///bar".
- I could interpret that as escapeEscape, escape, and minimum length separator "/"
- Or I could interpret that as "///" maximum length separator, with no escaping.
- Or it could be an SDE.
To me, we'd be best off if the escapeCharacter was not allowed to be (SDE) the same as the first character of any in-scope terminating delimiter. We're not doing anyone any favors by allowing this.
Likely a similar restriction would be needed for escapeBlockEnd, that the value of this property could not be a prefix of any in-scope-terminating delimiter, and escapeEscapeCharacter could not be the same as the first character of the escapeBlockEnd.
E.g., dfdl:escapeBlockStart="/" escapeBlockEnd="/" dfdl:separator="/ // ///"
With data "/foo///bar"
Is that
- escapeBlockStart, foo, escapeBlockEnd, separator "//" bar ?
- Or escapeBlockStart, foo/, separator "/" bar ?
- Or SDE?
Comments?