NAME
   XML::Generator::RFC822::RDF - generate RDF/XML SAX2 events for RFC822
   messages

SYNOPSIS
     my $folder = Email::Folder->new($path_mbox);

     while (my $msg = $folder->next_message()) {

         my $writer    = XML::SAX::Writer->new();
         my $filter    = XML::Filter::DataIndenter->new(Handler=>$writer);
         my $generator = XML::Generator::RFC822::RDF->new(Handler=>$filter);

         $generator->parse($msg);
     }

DESCRIPTION
   Generate RDF/XML SAX2 events for RFC822 messages.

   Messages are keyed using SHA1 digests of Message-IDs and email
   addresses. In the case of the latter this makes it easier to merge
   messages with contact data that has been serialized using
   XML::Generator::vCard::RDF (version 1.3+)

DOCUMENT FORMAT
    + rdf:RDF

      + rdf:Description
        @rdf:about = x-urn:ietf:params:rfc822#SHA1([MESSAGEID])
       - rfc822:To
         @rdf:resource = http://http://xmlns.com/foaf/0.1/mbox_sha1sum#SHA1([EMAILADDRESS])
       - rfc822:From
         @rdf:resource = http://http://xmlns.com/foaf/0.1/mbox_sha1sum#SHA1([EMAILADDRESS])
       - rfc822:Cc
         @rdf:resource = http://http://xmlns.com/foaf/0.1/mbox_sha1sum#SHA1([EMAILADDRESS])
       - rfc822:Return-Path
         @rdf:resource = http://http://xmlns.com/foaf/0.1/mbox_sha1sum#SHA1([EMAILADDRESS])
       - rfc822:Delivered-To
         @rdf:resource = http://http://xmlns.com/foaf/0.1/mbox_sha1sum#SHA1([EMAILADDRESS])
       - rfc822:Reply-To
         @rdf:resource = http://http://xmlns.com/foaf/0.1/mbox_sha1sum#SHA1([EMAILADDRESS])
       - rfc822:In-Reply-To
         @rdf:resource x-urn:ietf:params:rfc822#SHA1([INREPLYTO])
       - rfc8822:References
         @rdf:resource x-urn:ietf:params:rfc822#SHA1([REFERENCES])
       - rfc822:Date [REFORMATTED AS W3CDTF]
       - rfc822:[ALLOTHERHEADERS]
       + rfc822:Body
         + rdf:Seq
           - rdf:li
             @rdf:resource = x-urn:ietf:params:rfc822:Body#SHA1([MESSAGEID])_[n]

      # Body/MIME parts
      # (1) or more

      + rdf:Description
        @rdf:aboout = x-urn:ietf:params:rfc822:Body#SHA1([MESSAGEID])_[n]
        - rfc822:content-type
        - rdf:value

      # To, From, Cc, Return-Path, Delivered-To, Reply-To
      # (1) or more

      + rdf:Descripion
        @rdf:about = http://xmlns.com/foaf/0.1/mbox_sha1sum#SHA1([EMAILADDRESS])
        - vCard:FN
        - vCard:EMAIL

      # In-Reply-To, References
      # (1) or more

      + rdf:Description
        @rdf:about = x-urn:ietf:params:rfc822#SHA1([MESSAGEID])
        - rfc822:Message-ID

   All MIME values are decoded and everything is encoded as UTF-8.

PACKAGE METHODS
 __PACKAGE__->new(%args)
   This method is inherited from *XML::SAX::Base* and returns a
   *XML::Generator::RFC822::RDF* object.

OBJECT METHODS
 $obj->parse(@messages)
   Where *@messages* is one or more *Email::Simple* objects.

VERSION
   1.0

DATE
   $Date: 2004/12/22 17:27:19 $

AUTHOR
   Aaron Straup Cope <[email protected]>

SEE ALSO
   XML::Generator::vCard::RDF

LICENSE
   Copyright (c) 2004 Aaron Straup Cope. All Rights Reserved.

   This is free software, you may use it and distribute it under the same
   terms as Perl itself.