ietf-mta-filters
[Top] [All Lists]

Re: draft-freed-sieve-in-xml status?

2009-01-11 23:01:32

On Sun, 2009-01-11 at 18:30 -0800, Ned Freed wrote:
so, just to ensure i understand this issue - you've decided to support
namespaces fully and drop support for namespace unaware parsers?

(FWIW this is fine by me)

Nope. I've decided not to specify any sort of "standard namespace prefix"
in the document. That's all.

I have no idea what you mean by "support namespaces fully". But given the tone
of your most recent responses I'm no longer willing to spend time in a
give-and-take trying to figure what you mean by this.

Let's try to keep this conversation on the path of concrete examples. I
had no idea what this entire thread was about until Robert gave a
specific XML snippet to illustrate what he wanted to do, and you gave a
different one in response to illustrate the document state.

My current understanding from trying to follow this thread is that this
snippet (from Robert) is not valid according to the document:

     <control name="if">
       <mix:editor-specific foo='bar'></mix:editor-specific>
       <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>

This is syntactically valid XML, but semantically the element from the
'mix' namespace isn't going to make sense to a naive Sieve-XML parser.
By some magic of XML specification buzzwords, I gather that the above
snippet can be declared valid or invalid by the schema definition.

How are mixed-namespace documents like this handled by XML parsers /
editors / UIs / etc? Is it reasonable to disallow a mixed namespace like
this? Is there a reason not to allow such mixing?

What if someone wants to use the Sieve-XML schema within a larger
document? For example:

    <foomail:config>
      <foomail:service service="smtp">
        <foomail:port>25</foomail:port>
        <foomail:listen>127.0.0.1</foomail:listen>
      </foomail:service>
      <foomail:user id="1">
        <foomail:name>Username</foomail:name>
        <foomail:sieves>
          <foomail:sieve>
            <foomail:name>On vacation</foomail:name>
            <foomail:script>
              <sieve:action name="vacation">
                <sieve:str>I'm away on vacation.</sieve:str>
              </sieve:action>
            </foomail:script>
          </foomail:sieve>
        </foomail:sieves>
      </foomail:user>
    </foomail:config>

Aaron

<Prev in Thread] Current Thread [Next in Thread>