/*******************************************************************************
 * Copyright (c) 2006 Oracle Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     Oracle Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.bpel.validator.model;

import javax.xml.namespace.QName;


/**
 * @author Michal Chmielewski (michal.chmielewski@oracle.com)
 * @date Sep 18, 2006
 *
 */

@SuppressWarnings("nls")
public interface IConstants {

	/**
	 * Ask for the resource Path that the INode belongs to.
	 */
	public final String META_RESOURCE_PATH = "meta.resource.path"; //$NON-NLS-1$
	
	
	/**
	 * We use the JAXEN XPath Expression parser. Return the function meta
	 * information for the validator from IModelQuery.
	 */
	public static final String META_JAXEN_XPATH_FUNCTION_CONTEXT = "meta.jaxen.xpath.function.context"; //$NON-NLS-1$
	
	/** 
	 * Parse a duration string.
	 */
	public static final String META_XML_PARSE_DURATION = "meta.parse.xml.duration"; //$NON-NLS-1$
	
	/**
	 * Parse XML Date and time
	 */
	public static final String META_XML_PARSE_DATE_AND_TIME = "meta.parse.xml.dateAndTime"; //$NON-NLS-1$
	
	/**
	 * Will print errors/warnings if the runtime indicates that XPath functions must be resovled
	 * and there is no meta information about them.
	 */
	public static final String META_XPATH_MUST_RESOLVE_FUNCTIONS = "meta.must.resolve.functions";  //$NON-NLS-1$
	
	/**
	 * Lookup the prefix and return the Namespace given.
	 */
	
	public static final String META_XMLNS_PREFIX2NS = "meta.prefix.to.ns";
	
	
	/** The default expression language */
	public static final String XMLNS_XPATH_EXPRESSION_LANGUAGE  = "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"; //$NON-NLS-1$
	public static final String XMLNS_XPATH_EXPRESSION_LANGUAGE_XPATH2  = "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"; //$NON-NLS-1$

	/** A variant from previous spec iterations */
	public static final String XMLNS_XPATH_EXPRESSION_LANGUAGE_2 = "http://www.w3.org/TR/1999/REC-xpath-19991116"; //$NON-NLS-1$
	
	/** The default query language */
	public static final String XMLNS_XPATH_QUERY_LANGUAGE = "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0";
	public static final String XMLNS_XPATH_QUERY_LANGUAGE_XPATH2 = "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0";

	public static final String XMLNS_XPATH_QUERY_LANGUAGE_2 = "http://www.w3.org/TR/1999/REC-xpath-19991116";
	
	/** Namespaces ...
	 * 
	 */
	
	public static final String XMLNS_XSI = "http://www.w3.org/2001/XMLSchema-instance";

	/** XSD Namespace */
	public static final String XMLNS_XSD = "http://www.w3.org/2001/XMLSchema";

	/** WSDL namespace	 */
	public static final String XMLNS_WSDL = "http://schemas.xmlsoap.org/wsdl/";

	/** vprop namespace */
	public static final String XMLNS_VPROP = "http://docs.oasis-open.org/wsbpel/2.0/varprop";

	/** old vprop namespace */
	public static final String XMLNS_VPROP_OLD = "http://schemas.xmlsoap.org/ws/2004/03/business-process/";
	
	
	public static final String XMLNS_SREF = "http://docs.oasis-open.org/wsbpel/2.0/serviceref";

	/** Partner link namespace */
	public static final String XMLNS_PLNK = "http://docs.oasis-open.org/wsbpel/2.0/plnktype";

	/** Other partner link namespace */
	public static final String XMLNS_PLNK_OLD = "http://schemas.xmlsoap.org/ws/2004/03/partner-link/";

	/** The BPEL 2.0 executable namespace */
	public static final String XMLNS_BPEL20_EXECUTABLE = "http://docs.oasis-open.org/wsbpel/2.0/process/executable";
	

	/** The old pre 2.0 NS */
	public static final String XMLNS_BPEL20_OLD = "http://schemas.xmlsoap.org/ws/2004/03/business-process/"; //$NON-NLS-1$
	
	/** Abstract BPEL 2.0 Process namespace */
	public static final String XMLNS_ABSTRACT = "http://docs.oasis-open.org/wsbpel/2.0/process/abstract";
	
	
	/**
	 *  The BPEL 1.1 namespace.
	 */	
	public static final String XMLNS_BPEL_11 = "http://";  //$NON-NLS-1$
	
	/**
	 * The default BPEL 2.0 namespace.
	 */
	public static final String XMLNS_BPEL = XMLNS_BPEL20_EXECUTABLE;
	
	//
    // constants
    //
    public static final String YES = "yes";
    public static final String NO  = "no";
    public static final String JOIN = "join";
    
    public static final String REQUEST = "request";
    public static final String RESPONSE = "response";
    public static final String REQUEST_RESPONSE = "request-response";
    public static final String IN = "in";
    public static final String OUT = "out";
    //
    
    public static final String PARTNER_ROLE = "partnerRole";
    public static final String MY_ROLE = "myRole";
         
    
    // Node names of the BPEL process definition.
    public static final QName ND_PROCESS = new QName(XMLNS_BPEL20_EXECUTABLE,"process");
    public static final QName ND_EMPTY = new QName(XMLNS_BPEL20_EXECUTABLE,"empty");
    public static final QName ND_INVOKE = new QName(XMLNS_BPEL20_EXECUTABLE,"invoke");
    public static final QName ND_RECEIVE = new QName(XMLNS_BPEL20_EXECUTABLE,"receive");
    public static final QName ND_REPLY = new QName(XMLNS_BPEL20_EXECUTABLE,"reply");
    public static final QName ND_ASSIGN = new QName(XMLNS_BPEL20_EXECUTABLE,"assign");
    public static final QName ND_WAIT = new QName(XMLNS_BPEL20_EXECUTABLE,"wait");
    public static final QName ND_THROW = new QName(XMLNS_BPEL20_EXECUTABLE,"throw");
    public static final QName ND_FLOW = new QName(XMLNS_BPEL20_EXECUTABLE,"flow");
    public static final QName ND_WHILE = new QName(XMLNS_BPEL20_EXECUTABLE,"while");
    public static final QName ND_REPEAT_UNTIL = new QName(XMLNS_BPEL20_EXECUTABLE,"repeatUntil");
    public static final QName ND_SEQUENCE = new QName(XMLNS_BPEL20_EXECUTABLE,"sequence");
    public static final QName ND_PICK = new QName(XMLNS_BPEL20_EXECUTABLE,"pick");
    public static final QName ND_SCOPE = new QName(XMLNS_BPEL20_EXECUTABLE,"scope");
    public static final QName ND_PARTNER_LINKS = new QName(XMLNS_BPEL20_EXECUTABLE,"partnerLinks");
    public static final QName ND_PARTNER_LINK = new QName(XMLNS_BPEL20_EXECUTABLE,"partnerLink");
    public static final QName ND_EVENT_HANDLERS = new QName(XMLNS_BPEL20_EXECUTABLE,"eventHandlers");
    public static final QName ND_FAULT_HANDLERS = new QName(XMLNS_BPEL20_EXECUTABLE,"faultHandlers");
    public static final QName ND_CATCH = new QName(XMLNS_BPEL20_EXECUTABLE,"catch");
    public static final QName ND_CATCH_ALL = new QName(XMLNS_BPEL20_EXECUTABLE,"catchAll");
    public static final QName ND_ON_MESSAGE = new QName(XMLNS_BPEL20_EXECUTABLE,"onMessage");
    public static final QName ND_ON_ALARM = new QName(XMLNS_BPEL20_EXECUTABLE,"onAlarm");
    public static final QName ND_ON_EVENT = new QName(XMLNS_BPEL20_EXECUTABLE,"onEvent");
    public static final QName ND_VARIABLES = new QName(XMLNS_BPEL20_EXECUTABLE,"variables");
    public static final QName ND_VARIABLE = new QName(XMLNS_BPEL20_EXECUTABLE,"variable");
    public static final QName ND_CORRELATION_SETS = new QName(XMLNS_BPEL20_EXECUTABLE,"correlationSets");
    public static final QName ND_CORRELATION_SET = new QName(XMLNS_BPEL20_EXECUTABLE,"correlationSet");
    public static final QName ND_SOURCE = new QName(XMLNS_BPEL20_EXECUTABLE,"source");
    public static final QName ND_SOURCES = new QName(XMLNS_BPEL20_EXECUTABLE,"sources");
    public static final QName ND_TARGET = new QName(XMLNS_BPEL20_EXECUTABLE,"target");
    public static final QName ND_TARGETS = new QName(XMLNS_BPEL20_EXECUTABLE,"targets");
    public static final QName ND_JOIN_CONDITION = new QName(XMLNS_BPEL20_EXECUTABLE,"joinCondition");
    public static final QName ND_TRANSITION_CONDITION = new QName(XMLNS_BPEL20_EXECUTABLE,"transitionCondition");
    public static final QName ND_COPY = new QName(XMLNS_BPEL20_EXECUTABLE,"copy");
    public static final QName ND_FROM = new QName(XMLNS_BPEL20_EXECUTABLE,"from");
    public static final QName ND_TO = new QName(XMLNS_BPEL20_EXECUTABLE,"to");
    public static final QName ND_LINKS = new QName(XMLNS_BPEL20_EXECUTABLE,"links");
    public static final QName ND_LINK = new QName(XMLNS_BPEL20_EXECUTABLE,"link");        
    public static final QName ND_IF = new QName(XMLNS_BPEL20_EXECUTABLE,"if");
    public static final QName ND_ELSEIF = new QName(XMLNS_BPEL20_EXECUTABLE,"elseif");
    public static final QName ND_ELSE = new QName(XMLNS_BPEL20_EXECUTABLE,"else");
    public static final QName ND_IMPORT = new QName(XMLNS_BPEL20_EXECUTABLE,"import");
    public static final QName ND_FROM_PART = new QName(XMLNS_BPEL20_EXECUTABLE,"fromPart");
    public static final QName ND_FROM_PARTS = new QName(XMLNS_BPEL20_EXECUTABLE,"fromParts");
    public static final QName ND_TO_PART = new QName(XMLNS_BPEL20_EXECUTABLE,"toPart");
    public static final QName ND_TO_PARTS = new QName(XMLNS_BPEL20_EXECUTABLE,"toParts");
    public static final QName ND_LITERAL = new QName(XMLNS_BPEL20_EXECUTABLE,"literal");
    public static final QName ND_QUERY = new QName(XMLNS_BPEL20_EXECUTABLE,"query");
    public static final QName ND_CONDITION = new QName(XMLNS_BPEL20_EXECUTABLE,"condition");
    public static final QName ND_UNTIL = new QName(XMLNS_BPEL20_EXECUTABLE,"until");
    public static final QName ND_FOR = new QName(XMLNS_BPEL20_EXECUTABLE,"for");
    
    public static final QName ND_FOR_EACH = new QName(XMLNS_BPEL20_EXECUTABLE,"forEach");
    public static final QName ND_START_COUNTER_VALUE = new QName(XMLNS_BPEL20_EXECUTABLE,"startCounterValue");
    public static final QName ND_FINAL_COUNTER_VALUE = new QName(XMLNS_BPEL20_EXECUTABLE,"finalCounterValue");
    public static final QName ND_COMPLETION_CONDITION = new QName(XMLNS_BPEL20_EXECUTABLE,"completionCondition");
    public static final QName ND_BRANCHES = new QName(XMLNS_BPEL20_EXECUTABLE,"branches");
    public static final QName ND_EXIT = new QName(XMLNS_BPEL20_EXECUTABLE,"exit");
    public static final QName ND_COMPENSATE_SCOPE = new QName(XMLNS_BPEL20_EXECUTABLE,"compensateScope");
    public static final QName ND_VALIDATE = new QName(XMLNS_BPEL20_EXECUTABLE,"validate");
    public static final QName ND_EXTENSION_ACTIVITY = new QName(XMLNS_BPEL20_EXECUTABLE,"extensionActivity");
    
    public static final QName ND_EXTENSION_ASSIGN_OPERATION = new QName(XMLNS_BPEL20_EXECUTABLE,"extensionAssignOperation");
    
    public static final QName ND_CORRELATIONS = new QName(XMLNS_BPEL20_EXECUTABLE,"correlations");
    public static final QName ND_CORRELATION = new QName(XMLNS_BPEL20_EXECUTABLE,"correlation");
    public static final QName ND_COMPENSATE = new QName(XMLNS_BPEL20_EXECUTABLE,"compensate");
    public static final QName ND_COMPENSATION_HANDLER = new QName(XMLNS_BPEL20_EXECUTABLE,"compensationHandler");
    public static final QName ND_RETHROW = new QName(XMLNS_BPEL20_EXECUTABLE,"rethrow");
    public static final QName ND_TERMINATION_HANDLER = new QName(XMLNS_BPEL20_EXECUTABLE,"terminationHandler");
    public static final QName ND_REPEAT_EVERY = new QName(XMLNS_BPEL20_EXECUTABLE,"repeatEvery");
    
    public static final QName ND_MESSAGE_EXCHANGES = new QName(XMLNS_BPEL20_EXECUTABLE,"messageExchanges");
    public static final QName ND_MESSAGE_EXCHANGE = new QName(XMLNS_BPEL20_EXECUTABLE,"messageExchange");
    
    public static final QName ND_EXTENSION = new QName(XMLNS_BPEL20_EXECUTABLE,"extension");
    public static final QName ND_EXTENSIONS = new QName(XMLNS_BPEL20_EXECUTABLE,"extensions");
    
    
  
    // BPEL Attribute node names. Note that these do not use the namespace component of QName
    
    public static final QName AT_NAME = new QName("name");
    public static final QName AT_TARGET_NAMESPACE = new QName("targetNamespace");    
    public static final QName AT_ISOLATED = new QName("isolated");
    public static final QName AT_QUERYLANGUAGE = new QName("queryLanguage");
    public static final QName AT_EXPRESSIONLANGUAGE = new QName("expressionLanguage");
    public static final QName AT_EXIT_ON_STANDARD_FAULT = new QName("exitOnStandardFault");    
    public static final QName AT_SUPPRESS_JOIN_FAILURE = new QName("suppressJoinFailure");
    public static final QName AT_JOIN_CONDITION = new QName("joinCondition");
    public static final QName AT_VARIABLE_ACCESS_SERIALIZABLE = new QName("variableAccessSerializable");
    public static final QName AT_ENABLE_INSTANCE_COMPENSATION = new QName("enableInstanceCompensation");
    public static final QName AT_ABSTRACT_PROCESSES = new QName("abstractProcess");
    public static final QName AT_PARTNER_LINK_TYPE = new QName("partnerLinkType");
    public static final QName AT_FAULT_NAME = new QName("faultName");
    public static final QName AT_FAULT_VARIABLE = new QName("faultVariable");
    public static final QName AT_PARTNER = new QName("partner");
    public static final QName AT_PARTNER_LINK = new QName("partnerLink");
    public static final QName AT_PORT_TYPE = new QName("portType");
    public static final QName AT_OPERATION = new QName("operation");
    public static final QName AT_VARIABLE = new QName("variable");
    public static final QName AT_FOR = new QName("for");
    public static final QName AT_UNTIL = new QName("until");
    public static final QName AT_MESSAGE_TYPE = new QName("messageType");
    public static final QName AT_TYPE = new QName("type");
    public static final QName AT_ELEMENT = new QName("element");
    public static final QName AT_PROPERTIES = new QName("properties");
    public static final QName AT_LINK_NAME = new QName("linkName");
    public static final QName AT_TRANSITION_CONDITION = new QName("transitionCondition");
    public static final QName AT_INPUT_VARIABLE = new QName("inputVariable");
    public static final QName AT_OUTPUT_VARIABLE = new QName("outputVariable");
    public static final QName AT_CREATE_INSTANCE = new QName("createInstance");
    public static final QName AT_PART = new QName("part");
    public static final QName AT_HEADER = new QName("header");
    public static final QName AT_QUERY = new QName("query");
    public static final QName AT_OPAQUE = new QName("opaque");
    public static final QName AT_PROPERTY = new QName("property");
    public static final QName AT_EXPRESSION = new QName("expression");
    public static final QName AT_CONDITION = new QName("condition");
    public static final QName AT_MY_ROLE = new QName("myRole");
    public static final QName AT_PARTNER_ROLE = new QName("partnerRole");
    public static final QName AT_SET = new QName("set");
    public static final QName AT_INITIATE = new QName("initiate");
    public static final QName AT_PATTERN = new QName("pattern");
    public static final QName AT_LANGUAGE = new QName("language");
    public static final QName AT_VERSION = new QName("version");
    public static final QName AT_IMPORT = new QName("import");
    public static final QName AT_IMPORT_TYPE = new QName("importType");
    public static final QName AT_LOCATION = new QName("location");
    public static final QName AT_NAMESPACE = new QName("namespace");
    public static final QName AT_ENDPOINT_REFERENCE = new QName("endpointReference");
    public static final QName AT_SCOPE = new QName("scope");
    public static final QName AT_LABEL = new QName("label");
    public static final QName AT_LABEL_STATUS = new QName("status");
    public static final QName AT_TIMEOUT = new QName("timeout");
    public static final QName AT_SUPPRESS_COORD_FAILURE = new QName("suppressCoordinationFailure");
    public static final QName AT_FROM = new QName("from");
    public static final QName AT_TO = new QName("to");
    public static final QName AT_VARIABLES = new QName("variables");
    public static final QName AT_TARGET = new QName("target");
    public static final QName AT_TO_VARIABLE = new QName("toVariable");
    public static final QName AT_FROM_VARIABLE = new QName("fromVariable");
    public static final QName AT_INITIALIZE_PARTNER_ROLE = new QName("initializePartnerRole");
    public static final QName AT_VALIDATE = new QName("validate");
    public static final QName AT_KEEP_SRC_ELEMENT_NAME = new QName("keepSrcElementName");
    public static final QName AT_ACTIVITY = new QName("activity");
    public static final QName AT_ACTIVITIES = new QName("activities");
    public static final QName AT_LINKS = new QName("links");
    public static final QName AT_SUCCESSFUL_BRANCHES_ONLY = new QName("successfulBranchesOnly" );    
    public static final QName AT_FAULT_MESSAGE_TYPE = new QName("faultMessageType");
    public static final QName AT_FAULT_ELEMENT = new QName("faultElement");
    public static final QName AT_COUNTER_NAME = new QName("counterName");
    public static final QName AT_PARALLEL = new QName("parallel");
    public static final QName AT_KEEP_SRC_ELEMENT = new QName("keepSrcElement");
    public static final QName AT_MUST_UNDERSTAND = new QName("mustUnderstand");
    
    // Some attribute values
    public static final String AT_VAL_IMPORT_XSD  = "http://www.w3.org/2001/XMLSchema";
    public static final String AT_VAL_IMPORT_WSDL = "http://schemas.xmlsoap.org/wsdl/";
        
    
    /** These are used in message.properties */
    public static final int    KIND_ATTRIBUTE= 2;
    public static final int    KIND_ACTIVITY = 1;
    public static final int    KIND_NODE     = 0;
    
    
    // WSDL nodes of interest
    public static final QName WSDL_ND_OPERATION = new QName(XMLNS_WSDL,"operation");
    public static final QName WSDL_ND_MESSAGE = new QName(XMLNS_WSDL,"message");    
    
    public static final QName WSDL_ND_INPUT = new QName(XMLNS_WSDL,"input");
    public static final QName WSDL_ND_OUTPUT = new QName(XMLNS_WSDL,"output");
    public static final QName WSDL_ND_FAULT = new QName(XMLNS_WSDL,"fault");
    
    public static final QName WSDL_ND_PORT_TYPE = new QName(XMLNS_WSDL,"portType");
    public static final QName WSDL_ND_PART = new QName(XMLNS_WSDL,"part");
          
    public static final QName WSDL_ND_DEFINITIONS = new QName(XMLNS_WSDL,"definitions");

    // WSDL attributes of interest
    public static final QName  WSDL_AT_INPUT = new QName("input");
    public static final QName  WSDL_AT_OUTPUT = new QName("output");
    public static final QName  WSDL_AT_MESSAGE = new QName("message");

    
    // Partner link extensions
    public static final QName PLNK_ND_PARTNER_LINK_TYPE = new QName(XMLNS_PLNK,"partnerLinkType");
    public static final QName PLNK_ND_ROLE = new QName(XMLNS_PLNK,"role");
    
    // Variable property extensions
    public static final QName VPROP_ND_PROPERTY = new QName(XMLNS_VPROP,"property");
    public static final QName VPROP_ND_PROPERTY_ALIAS = new QName(XMLNS_VPROP,"propertyAlias");    
    public static final QName VPROP_ND_QUERY = new QName(XMLNS_VPROP,"query");
               
    public static final QName  WSDL_AT_PROPERTY_NAME = new QName("propertyName");
    
        
    public static final String BOOLEAN_VALUES[] = { YES, NO };
    
    public static final String INITIATE_VALUES[] = { YES, JOIN, NO };
    
    public static final String ENDPOINT_VALUES [] = { MY_ROLE, PARTNER_ROLE };
    
    public static final String PATTERN_VALUES [] = { REQUEST , RESPONSE, REQUEST_RESPONSE, IN, OUT };
    
    public static final QName REPEATABLE_NODES [] = { 
    	ND_WHILE, ND_REPEAT_UNTIL, ND_FOR_EACH, ND_EVENT_HANDLERS, ND_COMPENSATION_HANDLER }; 
   
    
    public static final QName FAULT_HANDLER_BOUNDARY_NODES [] = {
    	ND_CATCH,ND_CATCH_ALL,ND_TERMINATION_HANDLER
    };
    
    /** FCT-Handlers as defined by the spec */
    public static final QName FCT_HANDLERS [] = {
    	ND_CATCH, ND_CATCH_ALL, ND_COMPENSATION_HANDLER, ND_TERMINATION_HANDLER 
    };
    
    static QName[] BPEL_ACTIVITIES = {
   		ND_RECEIVE,
		ND_REPLY,
		ND_INVOKE,
		ND_ASSIGN,
		ND_THROW,
		ND_EXIT,
		ND_WAIT,
		ND_EMPTY,
		ND_SEQUENCE,
		ND_IF,
		ND_WHILE,
		ND_REPEAT_UNTIL,
		ND_FOR_EACH,
		ND_PICK,
		ND_FLOW,
		ND_SCOPE,
		ND_COMPENSATE,
		ND_COMPENSATE_SCOPE,
		ND_RETHROW,
		ND_VALIDATE,
		ND_EXTENSION_ACTIVITY 	
		
		/*
		<receive>, <reply>, <invoke>, <assign>, <throw>, <exit>, <wait>
		<empty>, <sequence>, <if>, <while>, <repeatUntil>, <forEach>, <pick>
		<flow>, <scope>, <compensate>, <compensateScope>, <rethrow>, <validate>
		<extensionActivity>
		*/
    };
    
    
    static QName[] BPEL_ACTIVITIES_CONTAINERS = {
		ND_SEQUENCE,
		ND_IF,
		ND_ELSE,
		ND_ELSEIF,
		ND_WHILE,
		ND_REPEAT_UNTIL,
		ND_FOR_EACH,
		ND_PICK,
		ND_FLOW,
		ND_PROCESS,
		ND_SCOPE,
		ND_COMPENSATE,
		ND_COMPENSATE_SCOPE,
		ND_CATCH,
		ND_CATCH_ALL,
		ND_EXTENSION_ACTIVITY ,
		
		/** These three below can contain activities too */
		ND_ON_ALARM,
		ND_ON_EVENT,
		ND_ON_MESSAGE,
		
		/** Strangely enough these two can as well. */
		ND_TERMINATION_HANDLER,
		ND_COMPENSATION_HANDLER
		
		/*
		<receive>, <reply>, <invoke>, <assign>, <throw>, <exit>, <wait>
		<empty>, <sequence>, <if>, <while>, <repeatUntil>, <forEach>, <pick>
		<flow>, <scope>, <compensate>, <compensateScope>, <rethrow>, <validate>
		<extensionActivity>
		*/
    };
 
    static QName[] BPEL_STANDARD_FAULTS = {
    	new QName(XMLNS_BPEL,"ambiguousReceive"),
    	new QName(XMLNS_BPEL,"completionConditionFailure"),
    	new QName(XMLNS_BPEL,"conflictingReceive"),
    	new QName(XMLNS_BPEL,"conflictingRequest"),
    	new QName(XMLNS_BPEL,"correlationViolation"),
    	new QName(XMLNS_BPEL,"invalidBranchCondition"),
    	new QName(XMLNS_BPEL,"invalidExpressionValue"),
    	new QName(XMLNS_BPEL,"invalidVariables"),
    	new QName(XMLNS_BPEL,"joinFailure"),
    	new QName(XMLNS_BPEL,"mismatchedAssignmentFailure"),
    	new QName(XMLNS_BPEL,"missingReply"),
    	new QName(XMLNS_BPEL,"missingRequest"),
    	new QName(XMLNS_BPEL,"scopeInitializationFailure"),
    	new QName(XMLNS_BPEL,"selectionFailure"),
    	new QName(XMLNS_BPEL,"subLanguageExecutionFault"),
    	new QName(XMLNS_BPEL,"uninitializedPartnerRole"),
    	new QName(XMLNS_BPEL,"uninitializedVariable"),
    	new QName(XMLNS_BPEL,"unsupportedReference"),
    	new QName(XMLNS_BPEL,"xsltInvalidSource"),
    	new QName(XMLNS_BPEL,"xsltStylesheetNotFound")
    };
 	
	
}
