2
Copyright (C) 2000-2005 SKYRIX Software AG
4
This file is part of SOPE.
6
SOPE is free software; you can redistribute it and/or modify it under
7
the terms of the GNU Lesser General Public License as published by the
8
Free Software Foundation; either version 2, or (at your option) any
11
SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
12
WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14
License for more details.
16
You should have received a copy of the GNU Lesser General Public
17
License along with SOPE; see the file COPYING. If not, write to the
18
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
22
#include <NGObjWeb/WOxElemBuilder.h>
25
This builder builds various calendaring elements from the WEExtensions
28
All tags are mapped into the <var:> namespace (XMLNS_OD_BIND).
31
<var:month-overview .../> to WEMonthOverview
32
<var:month-label .../> to WEMonthLabel
33
<var:month-title .../> to WEMonthTitle
34
<var:month-info .../> to WEMonthOverviewInfoMode
35
<var:month .../> to WEMonthOverviewContentMode
37
<var:week-overview .../> to WEWeekOverview
38
<var:week-title .../> to WEWeekOverviewTitleMode
39
<var:week-info .../> to WEWeekOverviewInfoMode
40
<var:week-pminfo .../> to WEWeekOverviewPMInfoMode
41
<var:week .../> to WEWeekOverviewContentMode
42
<var:week-header .../> to WEWeekOverviewHeaderMode
43
<var:week-footer .../> to WEWeekOverviewFooterMode
45
<var:weekcol-view .../> to WEWeekColumnView
46
<var:weekcol-title .../> to WEWeekColumnViewTitleMode
47
<var:weekcol-info .../> to WEWeekColumnViewInfoMode
48
<var:weekcol .../> to WEWeekColumnViewContentMode
51
@interface WExCalElemBuilder : WOxTagClassElemBuilder
57
#include <SaxObjC/XMLNamespaces.h>
60
@implementation WExCalElemBuilder
62
- (Class)classForElement:(id<DOMElement>)_element {
67
if (![[_element namespaceURI] isEqualToString:XMLNS_OD_BIND])
70
tagName = [_element tagName];
71
if ((tl = [tagName length]) < 4)
74
c1 = [tagName characterAtIndex:0];
79
if (![tagName hasPrefix:@"month"])
84
return NSClassFromString(@"WEMonthOverviewContentMode");
87
if ([tagName isEqualToString:@"month-info"])
88
return NSClassFromString(@"WEMonthOverviewInfoMode");
92
if ([tagName isEqualToString:@"month-label"])
93
return NSClassFromString(@"WEMonthLabel");
94
if ([tagName isEqualToString:@"month-title"])
95
return NSClassFromString(@"WEMonthTitle");
99
if ([tagName isEqualToString:@"month-overview"])
100
return NSClassFromString(@"WEMonthOverview");
104
else if (c1 == 'w') {
107
if (![tagName hasPrefix:@"week"])
112
return NSClassFromString(@"WEWeekOverviewContentMode");
115
if ([tagName isEqualToString:@"weekcol"])
116
return NSClassFromString(@"WEWeekColumnViewContentMode");
120
if ([tagName isEqualToString:@"week-info"])
121
return NSClassFromString(@"WEWeekOverviewInfoMode");
125
if ([tagName isEqualToString:@"week-title"])
126
return NSClassFromString(@"WEWeekOverviewTitleMode");
130
if ([tagName isEqualToString:@"week-header"])
131
return NSClassFromString(@"WEWeekOverviewHeaderMode");
132
if ([tagName isEqualToString:@"week-footer"])
133
return NSClassFromString(@"WEWeekOverviewFooterMode");
134
if ([tagName isEqualToString:@"week-pminfo"])
135
return NSClassFromString(@"WEWeekOverviewPMInfoMode");
139
if ([tagName isEqualToString:@"weekcol-view"])
140
return NSClassFromString(@"WEWeekColumnView");
141
if ([tagName isEqualToString:@"weekcol-info"])
142
return NSClassFromString(@"WEWeekColumnViewInfoMode");
146
if ([tagName isEqualToString:@"weekcol-title"])
147
return NSClassFromString(@"WEWeekColumnViewTitleMode");
148
if ([tagName isEqualToString:@"week-overview"])
149
return NSClassFromString(@"WEWeekOverview");
157
@end /* WExCalElemBuilder */