<?xml version="1.0" encoding="utf-8" ?>
<!--
/*   Copyright 2004 The Apache Software Foundation
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
 */
-->


<!-- valid xml instance document for schema mails_elemattr.xsd -->
<mails>
  <mail id="0">
    <envelope From="bill@microsoft.com">
      <From>user@unknown.domain.org</From>
      <To>user@cduce.org</To>
      <Date>2003-10-15T15:44:01Z</Date>
      <Subject>I desperately need XML Schema support in CDuce</Subject>
      <header name="Reply-To">bill@microsoft.com</header>
    </envelope>
    <body>
      As subject says, is it possible to implement it?
    </body>
    <attachment name="signature.doc">
      <mimetype type="application" subtype="msword"/>
      <content>
	### removed by spamoracle ###
      </content>
    </attachment>
  </mail>
  <mail id="1">
    <envelope From="zack@cs.unibo.it">
      <From>zack@di.ens.fr</From>
      <To>bill@microsoft.com</To>
      <Date>2003-10-15T16:17:39Z</Date>
      <Subject>Re: I desperately need XML Schema support in CDuce</Subject>
    </envelope>
    <body>
      user@unknown.domain.org wrote:
      > As subject says, is possible to implement it?

      Sure, I'm working on it, in a few years^Wdays it will be finished
    </body>
  </mail>
</mails>

