/* Copyright (C) 2000-2005 SKYRIX Software AG This file is part of SOPE. SOPE is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. SOPE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with SOPE; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include /* This builder builds control flow elements, eg conditionals and repetitions. Supported tags: maps to WOConditional maps to WOConditional maps to WORepetition maps to WOSetCursor */ @interface WOxControlElemBuilder : WOxTagClassElemBuilder { } @end #include #include "common.h" @implementation WOxControlElemBuilder - (Class)classForElement:(id)_element { NSString *nsuri; NSString *tag; if (_element == nil) return nil; nsuri = [_element namespaceURI]; if (![nsuri isEqualToString:XMLNS_OD_BIND]) return Nil; tag = [_element tagName]; if ([tag isEqualToString:@"if"] || [tag isEqualToString:@"if-not"] || [tag isEqualToString:@"ifnot"]) { static Class clazz = Nil; if (clazz == Nil) clazz = NSClassFromString(@"WOConditional"); return clazz; } if ([tag isEqualToString:@"foreach"] || [tag isEqualToString:@"for-each"]) { static Class clazz = Nil; if (clazz == Nil) clazz = NSClassFromString(@"WORepetition"); return clazz; } if ([tag isEqualToString:@"with"]) { static Class clazz = Nil; if (clazz == Nil) clazz = NSClassFromString(@"WOSetCursor"); return clazz; } return Nil; } @end /* SxControlElemBuilder */