]> err.no Git - sope/blob - sope-ical/versitSaxDriver/VSSaxDriver.h
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1195 e4a50df8-12e2-0310-a44c...
[sope] / sope-ical / versitSaxDriver / VSSaxDriver.h
1 /*
2  Copyright (C) 2003-2004 Max Berger
3  Copyright (C) 2004-2005 OpenGroupware.org
4  
5  This file is part of versitSaxDriver, written for the OpenGroupware.org 
6  project (OGo).
7  
8  SOPE is free software; you can redistribute it and/or modify it under
9  the terms of the GNU Lesser General Public License as published by the
10  Free Software Foundation; either version 2, or (at your option) any
11  later version.
12  
13  SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
14  WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
16  License for more details.
17  
18  You should have received a copy of the GNU Lesser General Public
19  License along with SOPE; see the file COPYING.  If not, write to the
20  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
21  02111-1307, USA.
22  */
23
24 #ifndef __versitSaxDriver_VSSaxDriver_H__
25 #define __versitSaxDriver_VSSaxDriver_H__
26
27 #import <Foundation/NSObject.h>
28 #include <SaxObjC/SaxXMLReader.h>
29
30 @class NSString, NSSet, NSDictionary, NSMutableArray, NSMutableDictionary;
31
32 @interface VSSaxDriver : NSObject < SaxXMLReader > 
33 {
34   id<NSObject,SaxContentHandler> contentHandler;
35   id<NSObject,SaxErrorHandler>   errorHandler;
36   NSString                       *prefixURI;
37   NSMutableArray                 *cardStack;
38   NSMutableArray                 *elementList; /* a list of tags to be rep. */
39   
40   NSSet                          *attributeElements;
41   NSDictionary                   *elementMapping; 
42   
43   NSMutableDictionary            *attributeMapping;
44   NSMutableDictionary            *subItemMapping;
45 }
46
47 - (void)setElementMapping:(NSDictionary *)_mapping;
48 - (void)setAttributeElements:(NSSet *)_elements;
49 - (NSSet *)attributeElements;
50
51 - (NSDictionary *)elementMapping;
52
53 - (void)setPrefixURI:(NSString*)_uri;
54 - (NSString *)prefixURI;
55
56 - (void)setAttributeMapping:(NSDictionary *)_mapping;
57 - (void)setAttributeMapping:(NSDictionary *)_mapping 
58   forElement:(NSString *)_element;
59
60 - (void)setSubItemMapping:(NSArray *)_mapping 
61   forElement:(NSString *)_element;
62
63 /* events */
64
65 - (void)reportDocStart;
66 - (void)reportDocEnd;
67
68 @end
69
70 #endif /* __versitSaxDriver_VersitSaxDriver_H__ */