libs-gsweb/GSWeb.framework/GSWTemplateParser.h
Manuel Guesdon 6549dee6e7 2002-11-18 Manuel Guesdon <mguesdon@orange-concept.com>
I've rewritten AutoValue handling in GSWBrowser,GSWCheckBoxList,
		GSWRadioButtonList, GSWPopUpButton to make it coherent
		and working like specifications.

	* GSWeb/GSWSwitchComponent.m:
		o add more information when componentName is null
	* GSWRepetition.h/.m:
		o added startIndex, stopIndex
	* GSWeb/GSWConstants.h/.m:
		o added startIndex__Key,stopIndex__Key
	* GSWeb/GSWComponent.h/.m:
		o replace _isSynchronized by _isParentToComponentSynchronized and
			_isComponentToParentSynchronized;
		o added -synchronizesParentToComponentVariablesWithBindings and
		        -synchronizesComponentToParentVariablesWithBindings
	* GSWeb/GSWApplication.m:
		o doc/comments
		o Exception when no session class found
	* GSWeb/GSWComponentDefinition.m
		o doc/comments
	* GSWeb/GSWComponentRequestHandler.m
		o doc/comments
		o response message changed when request handling failed
	* GSWeb/GSWMailDelivery.m
		o implemented composeEmail...component: methods
		o change mail sending code
	* GSWeb/GSWContext.h/.m:
		o replace ASSIGNCOPY by ASSIGN in -copy for _awakePageComponents);
	* GSWeb/GSWHyperlink.m:
		o replaced otherAssociations by otherQueryAssociations in -computeQueryDictionaryInContext
		o hanldle queryDictionary association
		o GSWPopUpButton.m:
	* GSWExtensionsGSW.framework/GSWValidationFailureComponent.gswc/GSWValidationFailureComponent.html:
		o replaced <br> by <br/>
	* GSWeb/GSWInput.h
		o removed autoValue variable  (static var may cause multithread problems and there were different autoValue implementation).
		o remove name key to avoid duplicate name in html produced code
		o some rewrite for auto value
		o doc/comments
	* GSWeb/GSWPopUpButton.h/.m:
		o use super appendToResponse:inContext: (no more name problem)
		o rewriten auto value handling (see Testing/DynamicElements for test)
		o doc/comments
	* GSWeb/GSWBrowser.h/.m:
		o use super appendToResponse:inContext: (no more name problem)
		o rewriten auto value handling (see Testing/DynamicElements for test)
		o doc/comments
	* GSWeb/GSWCheckBoxList.h/.m:
		o rewriten auto value handling (see Testing/DynamicElements for test)
		o handling disabled binding
		o doc/comments
	* GSWeb/GSWRadioButtonList.h/.m:
		o rewriten auto value handling (see Testing/DynamicElements for test)
		o handling disabled binding
		o doc/comments
	* GSWeb/GSWTextField.h/.m:
		o output value in appendValueToResponse:inContext: instead of
			appendGSWebObjectsAssociationsToResponse:inContext:
	* GSWExtensions.framework/GSWLongResponsePage.h/.m
		o added


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@15008 72102866-910b-0410-8b05-ffd578937521
2002-11-18 11:14:55 +00:00

125 lines
4.6 KiB
Objective-C

/** GSWTemplateParser - <title>GSWeb: Class GSWTemplateParser</title>
Copyright (C) 1999-2002 Free Software Foundation, Inc.
Written by: Manuel Guesdon <mguesdon@orange-concept.com>
Date: Mar 1999
$Revision$
$Date$
This file is part of the GNUstep Web Library.
<license>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
</license>
**/
// $Id$
#ifndef _GSWTemplateParser_h__
#define _GSWTemplateParser_h__
//====================================================================
typedef enum _GSWTemplateParserType
{
GSWTemplateParserType_Default,
GSWTemplateParserType_XMLHTML,
GSWTemplateParserType_XMLHTMLNoOmittedTags,
GSWTemplateParserType_XML,
GSWTemplateParserType_ANTLR
} GSWTemplateParserType;
//====================================================================
@interface GSWTemplateParser : NSObject
{
NSString* _templateName;
NSString* _frameworkName;
NSString* _string;
NSStringEncoding _stringEncoding;
NSString* _stringPath;
NSString* _definitionsString;
NSArray* _languages;
NSString* _definitionFilePath;
NSMutableSet* _processedDefinitionFilePaths;
GSWElement* _template;
NSDictionary* _definitions;
NSMutableArray* _errorMessages; /** Template/definition errors. If non empty, raise an exception **/
int gswebTagN;
int tagN;
}
+(GSWElement*)templateNamed:(NSString*)aName
inFrameworkNamed:(NSString*)aFrameworkName
withParserType:(GSWTemplateParserType)parserType
parserClassName:(NSString*)parserClassName
withString:(NSString*)HTMLString
encoding:(NSStringEncoding)encoding
fromPath:(NSString*)HTMLPath
definitionsString:(NSString*)pageDefString
languages:(NSArray*)someLanguages
definitionPath:(NSString*)aDefinitionPath;
+(GSWElement*)templateNamed:(NSString*)aName
inFrameworkNamed:(NSString*)aFrameworkName
withParserType:(GSWTemplateParserType)parserType
parserClass:(Class)parserClass
withString:(NSString*)HTMLString
encoding:(NSStringEncoding)encoding
fromPath:(NSString*)HTMLPath
definitionsString:(NSString*)pageDefString
languages:(NSArray*)someLanguages
definitionPath:(NSString*)aDefinitionPath;
+(GSWTemplateParserType)templateParserTypeFromString:(NSString*)string;
+(GSWTemplateParserType)defaultTemplateParserType;
-(id)initWithTemplateName:(NSString*)aName
inFrameworkName:(NSString*)aFrameworkName
withString:(NSString*)HTMLString
encoding:(NSStringEncoding)anEncoding
fromPath:(NSString*)HTMLPath
withDefinitionsString:(NSString*)pageDefString
fromPath:(NSString*)aDefinitionPath
forLanguages:(NSArray*)someLanguages;
-(void)dealloc;
-(NSString*)logPrefix;
-(void)addErrorMessage:(NSString*)errorMessage;
-(void)addErrorMessageFormat:(NSString*)format
arguments:(va_list)arguments;
-(void)addErrorMessageFormat:(NSString*)format,...;
-(NSMutableArray*)errorMessages;
-(NSString*)errorMessagesAsText;
-(GSWElement*)template;
-(NSArray*)templateElements;
-(NSDictionary*)definitions;
-(NSDictionary*)parseDefinitionsString:(NSString*)localDefinitionstring
named:(NSString*)localDefinitionName
inFrameworkNamed:(NSString*)localFrameworkName
processedFiles:(NSMutableSet*)processedFiles;
-(NSDictionary*)parseDefinitionInclude:(NSString*)includeName
fromFrameworkNamed:(NSString*)fromFrameworkName
processedFiles:(NSMutableSet*)processedFiles;
-(NSDictionary*)processIncludes:(NSArray*)definitionsIncludes
named:(NSString*)localDefinitionsName
inFrameworkNamed:(NSString*)localFrameworkName
processedFiles:(NSMutableSet*)processedFiles;
@end
#endif //_GSWTemplateParser_h__