So what do we do about this? There are basically four options:
(1) Drop the use of XML Schema and just have an RNG grammar.
(2) Remove the ability to have displaydata, comments, and elements from other
namespaces appear in a command element after the test clause. This means
something like
<control name="if">
<test name="header">
<tag>is</tag>
<str>Sender</str>
<str>owner-ietf-mta-filters(_at_)imc(_dot_)org</str>
</test>
<action name="fileinto">
<str>filter</str>
</action> <comment>move to "filter" mailbox</comment>
</control>
is no longer valid. It would have to be written as:
<control name="if">
<test name="header">
<tag>is</tag>
<str>Sender</str>
<str>owner-ietf-mta-filters(_at_)imc(_dot_)org</str>
</test>
<action name="fileinto">
<str>filter</str>
<comment>move to "filter" mailbox</comment>
</action>
</control>
(3) Switch to using XML comments instead of <comment> elements. Note that
this addresses the issue for comments only; we'd still have to drop the
ability to have material from other namespaces or displaydata appear
after the test clause.
(4) Use a wrapper element to disambiguate the schema. This would mean
writing something like this:
<control name="if">
<test name="header">
<tag>is</tag>
<str>Sender</str>
<str>owner-ietf-mta-filters(_at_)imc(_dot_)org</str>
</test>
<action name="fileinto">
<str>filter</str>
</action>
<postamble>
<comment>move to "filter" mailbox</comment>
</postamble>
</control>
...
My personal preference (and I believe it is Sai's as well because it was his
idea) is (4). And I prefer to add two wrappers, not one. The additional
elements are ugly, but this gives us the most flexibility and doesn't lose any
capabilities.
I'm happy with 2 and 4. If we use 4, I agree that we should add both wrappers.
Barry
_______________________________________________
sieve mailing list
sieve(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/sieve