<?xml version="1.0" encoding="UTF-8"?>
<chapter id="XSLPreferences" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="http://www.docbook.org/xsd/4.5/docbook.xsd">
	<?dbhtml filename="preferences/xslpreferences.html" ?>
	<title>XSL Tooling Preferences</title>
	<para>
		The XSL Preference pages has several sub sections.  Each of these allow for configuration
		of various aspects of the preferences.   From the controlling of the default XSL processor
		to be used during transformations.   To extending the content assist support of the XPath
		functions available in the XML editor.
   </para>
	<mediaobject>
		<imageobject>
			<imagedata align="center" fileref="../images/preferences/xslpreferences.png"
				format="PNG" />
		</imageobject>
	</mediaobject>
	<section id="XSLFeatures">
		<?dbhtml filename="preferences/xslfeatures.html" ?>
		<title>Features</title>
		<para>
   			The XSL Features preference page allows for the configuration of features for a particular
   			processor.   XSL Tooling comes with Xalan 2.7.0 by default.  Adopters can extend and include
   			their own specific features for their own procesoors.   An adopter could extend the tooling
   			to support XSLT 2.0 transformations, and features particular to that parser.
   		</para>
		<mediaobject>
			<imageobject>
				<imagedata align="center" format="PNG"
					fileref="../images/preferences/xslfeatures.png" />
			</imageobject>
		</mediaobject>
		<para>
   			The <emphasis role="bold">Processor Type</emphasis> allows you to set features for a specific processor.  In this case
   			this is for the processor that is being installed.   XSL Tooling comes with Xalan 2.7.0, and it is the only available
   			processor type by default.
   		</para>
		<para>
   		    The feature table lists the features that are specific to the processor that was selected.  As you
   		    select each of the features, information regarding that feature and it's abilitis is displayed in the
   		    description box.   By clicking in the value column, next to the feature you want to set the value
   		    for, the user can set the feature.
   		</para>
	</section>
	<section id="XSLProcessors">
		<?dbhtml filename="preferences/xslprocessors.html" ?>
		<title>Installed Processors</title>
		<para>
  			The installed processors page lets you pick which of the installed XSLT processors will be used
  			by default.   The default is the System Default Procesoor, but you can select any of the
  			available processors to be used as the default processor.    	
      	</para>
      	<mediaobject>
      	   <imageobject>
      	   		<imagedata align="center" fileref="../images/preferences/xsl_InstalledProcessors.png" format="PNG"/>
      	   </imageobject>
      	</mediaobject>
	</section>
	<section id="XSLOutputProperties">
		<?dbhtml filename="preferences/xsloutputproperties.html" ?>
		<title>Output Properties</title>
		<para>
			The various xsl processors support a wide variety of processor specific tweaks.  However there
			are several Standard processor features that all XSLT processors support.   These options can be
			set and will act as the defaults for all transformations unless they are specifically overriden by
			the stylesheet or the launch configuration.
		</para>
		<mediaobject>
		    <imageobject>
		    	<imagedata align="center" fileref="../images/preferences/xsl_outputproperties.png" format="PNG"/>
		    </imageobject>
		</mediaobject>
		<para>
			In addition to the Standard Output Properties, each XSLT processor can have processors
			specific features.
		</para>
	</section>
	<section id="XPathTemplates">
		<?dbhtml filename="preferences/xpathtemplates.html" ?>
		<title>XPath Templates</title>
		<para>
		    XPath template proposal is supported by the XSL Tooling project through the
		    built in template functionality of eclipse.   Users and Adopters can add
		    their own specific xpath extensions for processor specific extensions.  An
		    example would be to add the EXSLT extensions for proposal support.
		</para>
		<mediaobject>
		    <imageobject>
		        <objectinfo>
		           <title>XPath Templates</title>
		        </objectinfo>
		    	<imagedata align="center" fileref="../images/preferences/XPathTemplates.png" format="PNG"/>
		    </imageobject>
		</mediaobject>
		<para>
		   The following content types are available:
		</para>
		<itemizedlist>
			<listitem>
				<para>
					<emphasis role="bold">axis</emphasis> - an XPath navigation axis statement.
				</para>
			</listitem>
			<listitem>
				<para>
					<emphasis role="bold">exslt</emphasis> - An XPath statement that is defined by
					the <ulink url="http://www.exslt.org/">EXSLT</ulink> library.  Xalan and most
					other processors have built in support for the EXSLT library.
				</para>
			</listitem>
			<listitem>
				<para>
					<emphasis role="bold">xpath</emphasis> - Represents an XPATH 1.0 function.  These
					are functions as defined by the XPath 1.0 specification.
				</para>
			</listitem>
			<listitem>
				<para>
					<emphasis role="bold">xpath 2.0</emphasis> - Represents an XPath 2.0 function.
					<emphasis>Note: That currently XSL Tooling only ships with templates defined for XPath 1.0 .</emphasis>
				</para>
			</listitem>
			<listitem>
				<para>
					<emphasis role="bold">operator</emphasis> - An xpath logical operator like AND, OR, etc.
				</para>
			</listitem>
		</itemizedlist>
		<section id="XPathTemplateNew">
		   <?dbhtml filename="preferences/xpathtemplatenew.html" ?>
		   <title>Creating New Templates</title>
		   <!-- TODO: Create Additional information on creating new templates-->
		   <para>
		      Add documentation about creating new templates.
		   </para>
		</section>
		<section id="XPathImport">
		   <?dbhtml filename="preferences/xpathimport.html" ?>
		   <title>Import XPath Templates</title>
		   <para>
		      Add documentation about importing new templates.
		   </para>
		</section>
		<section id="XPathExport">
		   <?dbhtml filename="preferences/xpathexport.html" ?>
		   <title>Import XPath Templates</title>
		   <para>
		      Add documentation about importing new templates.
		   </para>
		</section>
		
	</section>
	
</chapter>