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 control flow elements, eg conditionals and
29 <var:if .../> maps to WOConditional
30 <var:if-not .../> maps to WOConditional
31 <var:foreach .../> maps to WORepetition
32 <var:with .../> maps to WOSetCursor
35 @interface WOxControlElemBuilder : WOxTagClassElemBuilder
41 #include <SaxObjC/XMLNamespaces.h>
44 @implementation WOxControlElemBuilder
46 - (Class)classForElement:(id<DOMElement>)_element {
50 if (_element == nil) return nil;
52 nsuri = [_element namespaceURI];
53 if (![nsuri isEqualToString:XMLNS_OD_BIND])
56 tag = [_element tagName];
58 if ([tag isEqualToString:@"if"] ||
59 [tag isEqualToString:@"if-not"] || [tag isEqualToString:@"ifnot"]) {
60 static Class clazz = Nil;
62 clazz = NSClassFromString(@"WOConditional");
66 if ([tag isEqualToString:@"foreach"] || [tag isEqualToString:@"for-each"]) {
67 static Class clazz = Nil;
69 clazz = NSClassFromString(@"WORepetition");
72 if ([tag isEqualToString:@"with"]) {
73 static Class clazz = Nil;
75 clazz = NSClassFromString(@"WOSetCursor");
82 @end /* SxControlElemBuilder */