You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by th...@apache.org on 2006/07/21 11:36:34 UTC

svn commit: r424244 - /forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/locationmap.xml

Author: thorsten
Date: Fri Jul 21 02:36:34 2006
New Revision: 424244

URL: http://svn.apache.org/viewvc?rev=424244&view=rev
Log:
white noise - formating changes only

Modified:
    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/locationmap.xml

Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/locationmap.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/locationmap.xml?rev=424244&r1=424243&r2=424244&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/locationmap.xml (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/locationmap.xml Fri Jul 21 02:36:34 2006
@@ -17,105 +17,125 @@
 -->
 <!-- Default Forrest locationmap for the structurer/themer -->
 <locationmap xmlns="http://apache.org/forrest/locationmap/1.0">
-  <components>
-    <matchers default="lm">
-      <matcher name="lm" 
-        src="org.apache.forrest.locationmap.WildcardLocationMapHintMatcher"/>
-    </matchers>
-    <actions default="RecursiveDirectoryTraversalAction">
-      <action name="RecursiveDirectoryTraversalAction" 
-        src="org.apache.forrest.dispatcher.acting.RecursiveDirectoryTraversalAction"/>
-      <action name="resourceTypeAction" 
-        src="org.apache.forrest.dispatcher.acting.ResourceTypeAction"/>
-      <action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.forrest.sourcetype.SourceTypeAction">
-       <sourcetype name="document-v10">
-         <document-declaration public-id="-//APACHE//DTD Documentation V1.0//EN" />
-       </sourcetype>
-       <sourcetype name="howto-v10">
-         <document-declaration public-id="-//APACHE//DTD How-to V1.0//EN" />
-       </sourcetype>
-       <sourcetype name="todo-v10">
-         <document-declaration public-id="-//APACHE//DTD Todo V1.0//EN" />
-       </sourcetype>
-       <sourcetype name="changes-v10">
-         <document-declaration public-id="-//APACHE//DTD Changes V1.0//EN" />
-       </sourcetype>
-       <sourcetype name="document-v11">
-         <document-declaration public-id="-//APACHE//DTD Documentation V1.1//EN" />
-       </sourcetype>
-       <sourcetype name="howto-v11">
-         <document-declaration public-id="-//APACHE//DTD How-to V1.1//EN" />
-       </sourcetype>
-       <sourcetype name="todo-v11">
-         <document-declaration public-id="-//APACHE//DTD Todo V1.1//EN" />
-       </sourcetype>
-       <sourcetype name="changes-v11">
-         <document-declaration public-id="-//APACHE//DTD Changes V1.1//EN" />
-       </sourcetype>
-       <sourcetype name="todo-v12">
-         <document-declaration public-id="-//APACHE//DTD Todo V1.2//EN" />
-       </sourcetype>
-       <sourcetype name="changes-v12">
-         <document-declaration public-id="-//APACHE//DTD Changes V1.2//EN" />
-       </sourcetype>
-       <sourcetype name="howto-v12">
-         <document-declaration public-id="-//APACHE//DTD How-to V1.2//EN" />
-       </sourcetype>
-       <sourcetype name="todo-v13">
-         <document-declaration public-id="-//APACHE//DTD Todo V1.3//EN" />
-       </sourcetype>
-       <sourcetype name="changes-v13">
-         <document-declaration public-id="-//APACHE//DTD Changes V1.3//EN" />
-       </sourcetype>
-       <sourcetype name="howto-v13">
-         <document-declaration public-id="-//APACHE//DTD How-to V1.3//EN" />
-       </sourcetype>
-       <sourcetype name="document-v20a">
-         <document-declaration public-id="-//APACHE//DTD Documentation V2.0a//EN" />
-       </sourcetype>
-       <sourcetype name="document-v20">
-         <document-declaration public-id="-//APACHE//DTD Documentation V2.0//EN" />
-       </sourcetype>
-       <sourcetype name="todo-v20">
-         <document-declaration public-id="-//APACHE//DTD Todo V2.0//EN" />
-       </sourcetype>
-       <sourcetype name="changes-v20">
-         <document-declaration public-id="-//APACHE//DTD Changes V2.0//EN" />
-       </sourcetype>
-       <sourcetype name="howto-v20">
-         <document-declaration public-id="-//APACHE//DTD How-to V2.0//EN" />
-       </sourcetype>
-     </action>
-    </actions>
-    <selectors default="exists">
-      <selector name="exists" logger="sitemap.selector.exists" 
-        src="org.apache.forrest.sourceexists.SourceExistsSelector" />
-    </selectors>
-  </components>
-  <locator>
-    <!-- xhtml2 to html core transformation -->
-    <match pattern="transform.xhtml2.html.structurer">
-      <select>
-        <location 
-          src="{project:structurer}/resources/stylesheets/html/xhtml2_to_html.xsl" 
-          />
-        <location 
-          src="{defaults:structurer}/resources/stylesheets/html/xhtml2_to_html.xsl" 
-          />
-      </select>
-    </match>
-    <!-- resource types -->
-    <match pattern="dispatcher.structurer.resourceType.**">
-      <select>
-        <location 
-          src="{project:resources}/structurer/resource-types/{1}{project:theme-ext}" 
-          />
-        <location 
-          src="{defaults:themer}/structurer/resource-types/{1}{project:theme-ext}" 
-          />
-      </select>
-    </match>
-    <!-- 
+    <components>
+        <matchers default="lm">
+            <matcher name="lm" 
+                src="org.apache.forrest.locationmap.WildcardLocationMapHintMatcher"/>
+        </matchers>
+        <actions default="RecursiveDirectoryTraversalAction">
+            <action name="RecursiveDirectoryTraversalAction" 
+                src="org.apache.forrest.dispatcher.acting.RecursiveDirectoryTraversalAction"/>
+            <action name="resourceTypeAction" 
+                src="org.apache.forrest.dispatcher.acting.ResourceTypeAction"/>
+            <action logger="sitemap.action.sourcetype" name="sourcetype" 
+                src="org.apache.forrest.sourcetype.SourceTypeAction">
+                <sourcetype name="document-v10">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Documentation V1.0//EN" />
+                </sourcetype>
+                <sourcetype name="howto-v10">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD How-to V1.0//EN" />
+                </sourcetype>
+                <sourcetype name="todo-v10">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Todo V1.0//EN" />
+                </sourcetype>
+                <sourcetype name="changes-v10">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Changes V1.0//EN" />
+                </sourcetype>
+                <sourcetype name="document-v11">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Documentation V1.1//EN" />
+                </sourcetype>
+                <sourcetype name="howto-v11">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD How-to V1.1//EN" />
+                </sourcetype>
+                <sourcetype name="todo-v11">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Todo V1.1//EN" />
+                </sourcetype>
+                <sourcetype name="changes-v11">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Changes V1.1//EN" />
+                </sourcetype>
+                <sourcetype name="todo-v12">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Todo V1.2//EN" />
+                </sourcetype>
+                <sourcetype name="changes-v12">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Changes V1.2//EN" />
+                </sourcetype>
+                <sourcetype name="howto-v12">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD How-to V1.2//EN" />
+                </sourcetype>
+                <sourcetype name="todo-v13">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Todo V1.3//EN" />
+                </sourcetype>
+                <sourcetype name="changes-v13">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Changes V1.3//EN" />
+                </sourcetype>
+                <sourcetype name="howto-v13">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD How-to V1.3//EN" />
+                </sourcetype>
+                <sourcetype name="document-v20a">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Documentation V2.0a//EN" />
+                </sourcetype>
+                <sourcetype name="document-v20">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Documentation V2.0//EN" />
+                </sourcetype>
+                <sourcetype name="todo-v20">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Todo V2.0//EN" />
+                </sourcetype>
+                <sourcetype name="changes-v20">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD Changes V2.0//EN" />
+                </sourcetype>
+                <sourcetype name="howto-v20">
+                    <document-declaration 
+                        public-id="-//APACHE//DTD How-to V2.0//EN" />
+                </sourcetype>
+            </action>
+        </actions>
+        <selectors default="exists">
+            <selector name="exists" logger="sitemap.selector.exists" 
+                src="org.apache.forrest.sourceexists.SourceExistsSelector" />
+        </selectors>
+    </components>
+    <locator>
+        <!-- xhtml2 to html core transformation -->
+        <match pattern="transform.xhtml2.html.structurer">
+            <select>
+                <location 
+                    src="{project:structurer}/resources/stylesheets/html/xhtml2_to_html.xsl" 
+                    />
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/html/xhtml2_to_html.xsl" 
+                    />
+            </select>
+        </match>
+        <!-- resource types -->
+        <match pattern="dispatcher.structurer.resourceType.**">
+            <select>
+                <location 
+                    src="{project:resources}/structurer/resource-types/{1}{project:theme-ext}" 
+                    />
+                <location 
+                    src="{defaults:themer}/structurer/resource-types/{1}{project:theme-ext}" 
+                    />
+            </select>
+        </match>
+        <!-- 
       FIXME - Problem with the pattern
       ********************************
       We have encountered a strange problem with the pattern 'resolve.structurer.**'.
@@ -146,262 +166,298 @@
       1) {project:theme}{project:theme-ext}
       2) {defaults:theme}{defaults:theme-ext}
       -->
-    <match pattern="resolve.structurer.**">
-      <select type="exists">
-        <!-- project-based 
+        <match pattern="resolve.structurer.**">
+            <select type="exists">
+                <!-- project-based 
           url-based (url location) -->
-	  <location src="{project:resources}/structurer/url/{../1}{1}{project:theme-ext}" />
-        <!-- project-based 
+                <location 
+                    src="{project:resources}/structurer/url/{../1}{1}{project:theme-ext}" 
+                    />
+                <!-- project-based 
           url-based (xdocs location)  [depreciated]-->
-	  <location src="{project:content.xdocs}{../1}{1}{project:theme-ext}" />
-	<act type="sourcetype" src="{project:content.xdocs}{../1}{1}.xml">
-          <!-- Sourcetype based 
+                <location 
+                    src="{project:content.xdocs}{../1}{1}{project:theme-ext}" />
+                <act type="sourcetype" 
+                    src="{project:content.xdocs}{../1}{1}.xml">
+                    <!-- Sourcetype based 
           http://forrest.apache.org/docs/cap.html-->
-          <location src="lm://dispatcher.structurer.resourceType.{sourcetype}" 
-            />
-        </act>
-        <act type="resourceTypeAction">
-	  <parameter value="{../1}{1}" name="request"/>
-          <parameter value="{project:content.xdocs}" name="projectDir"/>
-          <parameter value="lm://dispatcher.structurer.resourceType." name="resourceTypeBase"/>
-          <parameter value=".xml.meta" name="metaExtension"/>
-          <parameter value="resourceType" name="resourceTypeElement"/>
-          <parameter value="http://apache.org/cocoon/lenya/page-envelope/1.0" name="resourceTypeElementNS"/>
-          <!--  Meta data based -->
-          <location src="{uri}" />
-        </act>
-        <act type="RecursiveDirectoryTraversalAction">
-	  <parameter value="{../1}{1}" name="request"/>
-          <parameter value="{project:theme}" name="projectFallback"/>
-          <parameter value="{project:theme-ext}" name="projectExtension"/>
-          <parameter value="{project:resources}structurer/url/" name="projectDir"/>
-          <!--  url
+                    <location 
+                        src="lm://dispatcher.structurer.resourceType.{sourcetype}" 
+                        />
+                </act>
+                <act type="resourceTypeAction">
+                    <parameter value="{../1}{1}" name="request"/>
+                    <parameter value="{project:content.xdocs}" 
+                        name="projectDir"/>
+                    <parameter value="lm://dispatcher.structurer.resourceType." 
+                        name="resourceTypeBase"/>
+                    <parameter value=".xml.meta" name="metaExtension"/>
+                    <parameter value="resourceType" name="resourceTypeElement"/>
+                    <parameter 
+                        value="http://apache.org/cocoon/lenya/page-envelope/1.0" 
+                        name="resourceTypeElementNS"/>
+                    <!--  Meta data based -->
+                    <location src="{uri}" />
+                </act>
+                <act type="RecursiveDirectoryTraversalAction">
+                    <parameter value="{../1}{1}" name="request"/>
+                    <parameter value="{project:theme}" name="projectFallback"/>
+                    <parameter value="{project:theme-ext}" 
+                        name="projectExtension"/>
+                    <parameter value="{project:resources}structurer/url/" 
+                        name="projectDir"/>
+                    <!--  url
             project-based theme-based = directory-based / parent-directory based (recursively) -->
-          <location src="{uri}" />
-        </act>
-        <act type="RecursiveDirectoryTraversalAction">
-	  <parameter value="{../1}{1}" name="request"/>
-          <parameter value="{project:theme}" name="projectFallback"/>
-          <parameter value="{project:theme-ext}" name="projectExtension"/>
-          <parameter value="{project:content.xdocs}" name="projectDir"/>
-          <!--  xdocs  [depreciated]
+                    <location src="{uri}" />
+                </act>
+                <act type="RecursiveDirectoryTraversalAction">
+                    <parameter value="{../1}{1}" name="request"/>
+                    <parameter value="{project:theme}" name="projectFallback"/>
+                    <parameter value="{project:theme-ext}" 
+                        name="projectExtension"/>
+                    <parameter value="{project:content.xdocs}" 
+                        name="projectDir"/>
+                    <!--  xdocs  [depreciated]
             project-based theme-based = directory-based / parent-directory based (recursively) -->
-          <location src="{uri}" />
-        </act>
-        <!-- themes-dir: project-application-based theme-dir-based -->
-        <location 
-          src="{lm:themer.project.dir}/{project:theme}{project:theme-ext}" />
-        <!-- themer: project-application-based theme-based -->
-        <location 
-          src="{project:themer}/themes/{project:theme}{project:theme-ext}" 
-          />
-        <!-- themes-dir: project-application-based default -->
-        <location 
-          src="{lm:themer.project.dir}/{defaults:theme}{defaults:theme-ext}" />
-        <!-- themer: project-application-based default -->
-        <location 
-          src="{project:themer}/themes/{defaults:theme}{defaults:theme-ext}" 
-          />
-        <!-- themer: forrest-application-based theme-based -->
-        <location 
-          src="{defaults:themer}/themes/{project:theme}{project:theme-ext}" 
-          />
-        <!-- themer: forrest-application-based default -->
-        <location 
-          src="{defaults:themer}/themes/{defaults:theme}{defaults:theme-ext}" 
-          />
-      </select>
-    </match>
-    <!-- Structurer tiles - You can group elements to a template and call it from any view. -->
-    <match pattern="resolve.tiles.**">
-      <select type="exists">
-        <location 
-          src="{project:resources}/themes/{project:theme}/html/{1}.vt.xml" />
-        <location 
-          src="{project:resources}/themes/{defaults:theme}/html/{1}.vt.xml" />
-        <location 
-          src="{project:themer}/themes/{project:theme}/html/{1}.vt.xml" 
-          />
-        <location 
-          src="{project:themer}/themes/{defaults:theme}/html/{1}.vt.xml" 
-          />
-        <location 
-          src="{defaults:themer}/themes/{project:theme}/html/{1}.vt.xml" 
-          />
-        <location 
-          src="{defaults:themer}/themes/{defaults:theme}/html/{1}.vt.xml" 
-          />
-      </select>
-    </match>
-    <!-- Some input need to be striped by their root element. -->
-    <match pattern="root-strip.xsl">
-      <select type="exists">
-        <location 
-          src="{project:structurer}/resources/stylesheets/root-strip.xsl" />
-        <location 
-          src="{defaults:structurer}/resources/stylesheets/root-strip.xsl" />
-      </select>
-    </match>
-    <!-- Next coming from themer -->
-    <!-- Project implementation of templates have priority before default ones.
+                    <location src="{uri}" />
+                </act>
+                <!-- themes-dir: project-application-based theme-dir-based -->
+                <location 
+                    src="{lm:themer.project.dir}/{project:theme}{project:theme-ext}" 
+                    />
+                <!-- themer: project-application-based theme-based -->
+                <location 
+                    src="{project:themer}/themes/{project:theme}{project:theme-ext}" 
+                    />
+                <!-- themes-dir: project-application-based default -->
+                <location 
+                    src="{lm:themer.project.dir}/{defaults:theme}{defaults:theme-ext}" 
+                    />
+                <!-- themer: project-application-based default -->
+                <location 
+                    src="{project:themer}/themes/{defaults:theme}{defaults:theme-ext}" 
+                    />
+                <!-- themer: forrest-application-based theme-based -->
+                <location 
+                    src="{defaults:themer}/themes/{project:theme}{project:theme-ext}" 
+                    />
+                <!-- themer: forrest-application-based default -->
+                <location 
+                    src="{defaults:themer}/themes/{defaults:theme}{defaults:theme-ext}" 
+                    />
+            </select>
+        </match>
+        <!-- Structurer tiles - You can group elements to a template and call it from any view. -->
+        <match pattern="resolve.tiles.**">
+            <select type="exists">
+                <location 
+                    src="{project:resources}/themes/{project:theme}/html/{1}.vt.xml" 
+                    />
+                <location 
+                    src="{project:resources}/themes/{defaults:theme}/html/{1}.vt.xml" 
+                    />
+                <location 
+                    src="{project:themer}/themes/{project:theme}/html/{1}.vt.xml" 
+                    />
+                <location 
+                    src="{project:themer}/themes/{defaults:theme}/html/{1}.vt.xml" 
+                    />
+                <location 
+                    src="{defaults:themer}/themes/{project:theme}/html/{1}.vt.xml" 
+                    />
+                <location 
+                    src="{defaults:themer}/themes/{defaults:theme}/html/{1}.vt.xml" 
+                    />
+            </select>
+        </match>
+        <!-- Some input need to be striped by their root element. -->
+        <match pattern="root-strip.xsl">
+            <select type="exists">
+                <location 
+                    src="{project:structurer}/resources/stylesheets/root-strip.xsl" 
+                    />
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/root-strip.xsl" 
+                    />
+            </select>
+        </match>
+        <!-- Next coming from themer -->
+        <!-- Project implementation of templates have priority before default ones.
         If no implementation can be found we use the noFt (~ - no forrest:template) implementation.  
        {1} name of the contract -->
-    <match pattern="resolve.contract.*.**">
-      <select type="exists">
-        <!-- project-based theme -->
-        <location src="{lm:themer.project.dir}/{project:theme}/{1}/{2}.ft" />
-        <!-- project-based default fallback -->
-        <location src="{lm:themer.project.dir}/{defaults:theme}/{1}/{2}.ft" />
-        <!-- project-application-based theme -->
-        <location 
-          src="{project:themer}/themes/{project:theme}/{1}/{2}.ft" />
-        <!--  project-application-based default fallback -->
-        <location 
-          src="{project:themer}/themes/{defaults:theme}/{1}/{2}.ft" />
-        <!--  plugin provided contracts -->
-        <location src="{lm:resolvePluginContract.{1}.{2}}" />
-        <!-- forrest-application-based theme -->
-        <location 
-          src="{defaults:themer}/themes/{project:theme}/{1}/{2}.ft" />
-        <!--  forrest-application-based default fallback -->
-        <location 
-          src="{defaults:themer}/themes/{defaults:theme}/{1}/{2}.ft" 
-          />
-        <!--  forrest-application-based no found -->
-        <location 
-          src="{defaults:themer}/themes/{defaults:theme}/{1}/noFt.ft" 
-          />
-      </select>
-    </match>
-    <match pattern="dataModel-xml-document-to-**.xsl">
-      <select type="exists">
-        <location 
-          src="{project:skins-dir}{project:theme}/xslt/xml/document-to-{1}.xsl" 
-          />
-        <location 
-          src="{project:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" 
-          />
-        <location 
-          src="{defaults:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" 
-          />
-      </select>
-    </match>
-    <match pattern="dataModel-html-**.xsl">
-      <select type="exists">
-        <location src="{project:skins-dir}{project:theme}/xslt/html/{1}.xsl" />
-        <location src="{project:structurer}/resources/stylesheets/html/{1}.xsl" 
-          />
-        <location 
-          src="{defaults:structurer}/resources/stylesheets/html/{1}.xsl" />
-      </select>
-    </match>
-    <!-- contracts have to be striped to their stylesheet for aggregation. -->
-    <match pattern="contract-strip-xsl.xsl">
-      <select type="exists">
-        <location 
-          src="{project:structurer}/resources/stylesheets/contract-strip-xsl.xsl" 
-          />
-        <location 
-          src="{defaults:structurer}/resources/stylesheets/contract-strip-xsl.xsl" 
-          />
-      </select>
-    </match>
-    <match pattern="hooks-to-html.xsl">
-      <select type="exists">
-        <location 
-          src="{project:structurer}/resources/stylesheets/hooksMatcher-html.xsl" />
-        <location 
-          src="{defaults:structurer}/resources/stylesheets/hooksMatcher-html.xsl" />
-      </select>
-    </match>
-    <!-- contracts (e.g. html) that can be used in the project. -->
-    <match pattern="ls.contracts.xsl">
-      <select type="exists">
-        <location 
-          src="{project:structurer}/resources/stylesheets/ls.contracts.xsl" />
-        <location 
-          src="{defaults:structurer}/resources/stylesheets/ls.contracts.xsl" />
-      </select>
-    </match>
-    <match pattern="ls.contracts-to-document.xsl">
-      <select type="exists">
-        <location 
-          src="{project:structurer}/resources/stylesheets/ls.contracts-to-document.xsl" 
-          />
-        <location 
-          src="{defaults:structurer}/resources/stylesheets/ls.contracts-to-document.xsl" 
-          />
-      </select>
-    </match>
-    <!--Theme dir-->
-    <match pattern="themer.project.dir">
-      <select type="exists">
-        <location src="{project:resources}themes"/>
-        <!-- v1 location -->
-        <location src="{project:resources}templates" />
-      </select>
-    </match>
-    <!-- contracts (e.g. html) that can be used in the project. -->
-    <match pattern="themer.contracts.dir">
-      <select type="exists">
-        <location src="{project:themer}/themes" />
-        <location src="{defaults:themer}/themes" />
-      </select>
-    </match>
-    <!-- generic match for theme image resources -->
-    <!-- 
+        <match pattern="resolve.contract.*.**">
+            <select type="exists">
+                <!-- project-based theme -->
+                <location 
+                    src="{lm:themer.project.dir}/{project:theme}/{1}/{2}.ft" />
+                <!-- project-based default fallback -->
+                <location 
+                    src="{lm:themer.project.dir}/{defaults:theme}/{1}/{2}.ft" />
+                <!-- project-application-based theme -->
+                <location 
+                    src="{project:themer}/themes/{project:theme}/{1}/{2}.ft" />
+                <!--  project-application-based default fallback -->
+                <location 
+                    src="{project:themer}/themes/{defaults:theme}/{1}/{2}.ft" />
+                <!--  plugin provided contracts -->
+                <location src="{lm:resolvePluginContract.{1}.{2}}" />
+                <!-- forrest-application-based theme -->
+                <location 
+                    src="{defaults:themer}/themes/{project:theme}/{1}/{2}.ft" />
+                <!--  forrest-application-based default fallback -->
+                <location 
+                    src="{defaults:themer}/themes/{defaults:theme}/{1}/{2}.ft" 
+                    />
+                <!--  forrest-application-based no found -->
+                <location 
+                    src="{defaults:themer}/themes/{defaults:theme}/{1}/noFt.ft" 
+                    />
+            </select>
+        </match>
+        <match pattern="dataModel-xml-document-to-**.xsl">
+            <select type="exists">
+                <location 
+                    src="{project:skins-dir}{project:theme}/xslt/xml/document-to-{1}.xsl" 
+                    />
+                <location 
+                    src="{project:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" 
+                    />
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" 
+                    />
+            </select>
+        </match>
+        <match pattern="dataModel-html-**.xsl">
+            <select type="exists">
+                <location 
+                    src="{project:skins-dir}{project:theme}/xslt/html/{1}.xsl" 
+                    />
+                <location 
+                    src="{project:structurer}/resources/stylesheets/html/{1}.xsl" 
+                    />
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/html/{1}.xsl" 
+                    />
+            </select>
+        </match>
+        <!-- contracts have to be striped to their stylesheet for aggregation. -->
+        <match pattern="contract-strip-xsl.xsl">
+            <select type="exists">
+                <location 
+                    src="{project:structurer}/resources/stylesheets/contract-strip-xsl.xsl" 
+                    />
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/contract-strip-xsl.xsl" 
+                    />
+            </select>
+        </match>
+        <match pattern="hooks-to-html.xsl">
+            <select type="exists">
+                <location 
+                    src="{project:structurer}/resources/stylesheets/hooksMatcher-html.xsl" 
+                    />
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/hooksMatcher-html.xsl" 
+                    />
+            </select>
+        </match>
+        <!-- contracts (e.g. html) that can be used in the project. -->
+        <match pattern="ls.contracts.xsl">
+            <select type="exists">
+                <location 
+                    src="{project:structurer}/resources/stylesheets/ls.contracts.xsl" 
+                    />
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/ls.contracts.xsl" 
+                    />
+            </select>
+        </match>
+        <match pattern="ls.contracts-to-document.xsl">
+            <select type="exists">
+                <location 
+                    src="{project:structurer}/resources/stylesheets/ls.contracts-to-document.xsl" 
+                    />
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/ls.contracts-to-document.xsl" 
+                    />
+            </select>
+        </match>
+        <!--Theme dir-->
+        <match pattern="themer.project.dir">
+            <select type="exists">
+                <location src="{project:resources}themes"/>
+                <!-- v1 location -->
+                <location src="{project:resources}templates" />
+            </select>
+        </match>
+        <!-- contracts (e.g. html) that can be used in the project. -->
+        <match pattern="themer.contracts.dir">
+            <select type="exists">
+                <location src="{project:themer}/themes" />
+                <location src="{defaults:themer}/themes" />
+            </select>
+        </match>
+        <!-- generic match for theme image resources -->
+        <!-- 
       {1} name
       {2} extension (note we assume e.g. {1}.gif)
       -->
-    <match pattern="themes/images/**.*">
-      <select type="exists">
-        <location src="{lm:themer.project.dir}/{project:theme}/images/{1}.{2}" 
-          />
-        <location src="{lm:themer.project.dir}/{defaults:theme}/images/{1}.{2}" 
-          />
-        <location 
-          src="{project:themer}/themes/{project:theme}/images/{1}.{2}" 
-          />
-        <location 
-          src="{project:themer}/themes/{defaults:theme}/images/{1}.{2}" 
-          />
-        <location 
-          src="{defaults:themer}/themes/{project:theme}/images/{1}.{2}" 
-          />
-        <location 
-          src="{defaults:themer}/themes/{defaults:theme}/images/{1}.{2}" 
-          />
-      </select>
-    </match>
-    <!-- generic match for theme resources like css and js. -->
-    <!-- 
+        <match pattern="themes/images/**.*">
+            <select type="exists">
+                <location 
+                    src="{lm:themer.project.dir}/{project:theme}/images/{1}.{2}" 
+                    />
+                <location 
+                    src="{lm:themer.project.dir}/{defaults:theme}/images/{1}.{2}" 
+                    />
+                <location 
+                    src="{project:themer}/themes/{project:theme}/images/{1}.{2}" 
+                    />
+                <location 
+                    src="{project:themer}/themes/{defaults:theme}/images/{1}.{2}" 
+                    />
+                <location 
+                    src="{defaults:themer}/themes/{project:theme}/images/{1}.{2}" 
+                    />
+                <location 
+                    src="{defaults:themer}/themes/{defaults:theme}/images/{1}.{2}" 
+                    />
+            </select>
+        </match>
+        <!-- generic match for theme resources like css and js. -->
+        <!-- 
       {1} name
       {2} extension (note we assume e.g. PATH/css/{1}.css)
       -->
-    <match pattern="themes/**.*">
-      <select type="exists">
-        <location src="{lm:themer.project.dir}/{project:theme}/{2}/{1}.{2}" />
-        <location src="{lm:themer.project.dir}/{defaults:theme}/{2}/{1}.{2}" />
-        <location 
-          src="{project:themer}/themes/{project:theme}/{2}/{1}.{2}" />
-        <location 
-          src="{project:themer}/themes/{defaults:theme}/{2}/{1}.{2}" 
-          />
-        <location 
-          src="{defaults:themer}/themes/{project:theme}/{2}/{1}.{2}" 
-          />
-        <location 
-          src="{defaults:themer}/themes/{defaults:theme}/{2}/{1}.{2}" 
-          />
-      </select>
-    </match>
-    <!--  Extracts the style sheet from the contract.  -->
-    <match pattern="contract-strip-xsl.xsl">
-      <select type="exists">
-        <!-- don't think it's wise to let project override this... -->
-        <!-- location src="{project:structurer}/resources/stylesheets/helper/contract-strip-xsl.xsl" /-->
-        <location src="{defaults:structurer}/resources/stylesheets/helper/contract-strip-xsl.xsl" />
-      </select>
-    </match>
-  </locator>
+        <match pattern="themes/**.*">
+            <select type="exists">
+                <location 
+                    src="{lm:themer.project.dir}/{project:theme}/{2}/{1}.{2}" />
+                <location 
+                    src="{lm:themer.project.dir}/{defaults:theme}/{2}/{1}.{2}" 
+                    />
+                <location 
+                    src="{project:themer}/themes/{project:theme}/{2}/{1}.{2}" />
+                <location 
+                    src="{project:themer}/themes/{defaults:theme}/{2}/{1}.{2}" 
+                    />
+                <location 
+                    src="{defaults:themer}/themes/{project:theme}/{2}/{1}.{2}" 
+                    />
+                <location 
+                    src="{defaults:themer}/themes/{defaults:theme}/{2}/{1}.{2}" 
+                    />
+            </select>
+        </match>
+        <!--  Extracts the style sheet from the contract.  -->
+        <match pattern="contract-strip-xsl.xsl">
+            <select type="exists">
+                <!-- don't think it's wise to let project override this... -->
+                <!-- location src="{project:structurer}/resources/stylesheets/helper/contract-strip-xsl.xsl" /-->
+                <location 
+                    src="{defaults:structurer}/resources/stylesheets/helper/contract-strip-xsl.xsl" 
+                    />
+            </select>
+        </match>
+    </locator>
 </locationmap>