<?xml version="1.0" encoding="iso-8859-1" ?>
<engine-configurations>
	<configuration id = "template_config">
		<h2>[ config template ]</h2>

		<import-xml
			id = "import_applicationcomponents_xml"
			src = "application_components.xml"
			context_path = "/application-components/application-component[@id = 'demo_component_1']"
		/>
		
	</configuration>


	<object-definitions>
		<!--
			Imports xml into the configuration context
		-->
		<definition id="import-xml">
			<implementation context-switch = "1" context-path = "ora:context_path_attr">
				<package pid="org.cote.js.xml" />
				<constructor name="getXml">
					<param value="ora:src_attr" />
					<param value="ora:integer_0" />
					<param value="ora:integer_0" />
					<param value="ora:id_attr" />
					<param value="ora:integer_1" />
				</constructor>
			</implementation>
		</definition>

		<!--
			Imports the transformation of an xml file with an xsl file into the configuration context
		-->
		<definition id = "import-txml">
			<implementation context-switch = "1" context-path = "/">
				<package pid = "org.cote.js.xml" />
				<constructor name = "transformNode">
					<param value="ora:src_attr" />
					<param value="ora:xsl_attr" />
					<param value="ora:integer_0" />
					<param value="ora:id_attr" />
					<param value="ora:xsl_id_attr" />
					<param value="ora:integer_1" />
				</constructor>
			</implementation>
		</definition>

		<definition id="application-component">
			<implementation>
				<package pid="org.cote.js.appcomp.ApplicationComponent" />
				<constructor name="newInstance">
					<param value="ora:integer_0" />
					<param value="ora:node_context" />
					<param value="ora:engine_id" />
				</constructor>
			</implementation>
		</definition>

		<!--
			Even though a context path is specified for child nodes in application-components,
			the root node must be handled because the tree gets copied
		-->
		<definition id = "application-components">
			<implementation abstract = "1" />
		</definition>


		<definition id = "component-fragment">

			<matdef rid = "p" />
			<matdef rid = "input" />
			<matdef rid = "select" />
			<matdef rid = "textarea" />
			<implementation>
				<package pid = "org.cote.js.xhtml.XHTMLComponent" />
				<constructor name = "newInstance">
					<param value="ora:parent_element" />
					<param value="ora:node_context" />
					<param value="ora:rid_attr" />
					<param value="ora:engine_id" />
					<param value = "org.cote.js.xhtml.form.XHTMLFormComponent" />
				</constructor>
			</implementation>
		</definition>
		<!--
			Even though a context path is specified for child nodes in html-fragment,
			the root node must be handled because the tree gets copied
		-->
		<definition id = "html-fragment">
			<implementation abstract = "1" />
		</definition>

		<definition id="wire-link">
			<implementation no-recursion = "1">
				<package pid="org.cote.js.engine.EngineService" mid = "getWireService" />
				<constructor name="hardWire">
					<param value="ora:engine_object" />
					<param value="ora:id_attr" />
					<param value="ora:xpath-node-value-list:params[@id='action_arguments']/param" />
					<param value="ora:xpath-node-value-list:params[@id='handler_arguments']/param" />
					<param value="ora:xpath-node-value:action-class/text()" />
					<param value="ora:xpath-node-value:action/text()" />
					<param value="ora:xpath-node-value:handler-class/text()" />
					<param value="ora:xpath-node-value:handler/text()" />
					<param value="ora:xpath-node-value:error-class/text()" />
					<param value="ora:xpath-node-value:error/text()" />
					<param value="ora:xpath-node-value-list:params[@id='error_arguments']/param" />
				</constructor>
			</implementation>
		</definition>
		
	</object-definitions>
</engine-configurations>