<commit_before><!--
  Copyright (C) 2010 Orbeon, Inc.

  This program is free software; you can redistribute it and/or modify it under the terms of the
  GNU Lesser General Public License as published by the Free Software Foundation; either version
  2.1 of the License, or (at your option) any later version.

  This program 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 Lesser General Public License for more details.

  The full text of the license is available at http://www.gnu.org/copyleft/lesser.html
  -->
<properties xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:oxf="http://www.orbeon.com/oxf/processors"
            xmlns:xh="http://www.w3.org/1999/xhtml"
            xmlns:xf="http://www.w3.org/2002/xforms"
            xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
            xmlns:exf="http://www.exforms.org/exf/1-0"
            xmlns:xbl="http://www.w3.org/ns/xbl"
            xmlns:xxbl="http://orbeon.org/oxf/xml/xbl"
            xmlns:fr="http://orbeon.org/oxf/xml/form-runner">

    <!-- ==== Internal base properties ============================================================================ -->

    <!-- URL rewriting -->
    <property as="xs:string"  name="oxf.url-rewriting.platform-paths">
        ^/(ops/|config/|xbl/orbeon/|forms/orbeon/|apps/fr/|js/|xforms-server).*$
    </property>
    <property as="xs:string"  name="oxf.url-rewriting.app-paths">
        ^/(apps|xbl|forms)/.*$
    </property>
    <property as="xs:string"  name="oxf.url-rewriting.app-prefix"                    value="/apps"/>

    <property as="xs:string"  name="oxf.url-rewriting.wsrp.context"                  value=""/>
    <property as="xs:boolean" name="oxf.url-rewriting.wsrp.encode-resources"         value="false"/>

    <!-- HTTP client -->
    <property as="xs:string"  name="oxf.http.state"                                  value="session"/>
    <property as="xs:string"  name="oxf.http.forward-headers.private"                value="Orbeon-Client"/>
    <property as="xs:string"  name="oxf.http.forward-cookies.private"                value=""/>

    <!--
        Note on Cache-Control for HTTP responses:

        For pages, we used to set Cache-Control to public, however this caused a rare and hard to reproduce issue
        where IE 7 (and maybe other versions of IE, but not Firefox), over-aggressively cached pages generated by Orbeon
        Forms. As a result, user A could log a page, logout from the application; later, user B logs into the
        application with the same browser, navigates to the page, and gets the version generated earlier for user A,
        which was cached by the browser (no request being set by IE to the server).

        Setting Cache-Control to no-cache solves the problem, but in that case IE doesn't reset the value of form fields
        when navigating back to a page, which breaks the mechanism we have to restore the form upon hitting back in the
        browser. Setting Cache-Control to private, max-age=0 solves the caching issue and doesn't prevent IE from
        restoring form fields upon hitting back. This is also what Google does on their home page (as of 2010-12-02).

        Note on blank Pragma:

        Tomcat adds "Pragma", "Expires" and "Cache-Control" headers when resources are constrained,disabling caching if
        they are not set. We must re-set them to allow caching.
    -->
    <property as="xs:string"  name="oxf.http.page.cache-headers">
        Cache-Control: private, max-age=0; Pragma:
    </property>
    <property as="xs:string"  name="oxf.http.resource.cache-headers">
        Cache-Control: public; Pragma:
    </property>
    <property as="xs:string"  name="oxf.http.nocache.cache-headers">
        Cache-Control: no-cache, no-store, must-revalidate; Pragma: no-cache; Expires: 0
    </property>

    <!--
        About oxf.http.internal-paths:

        The following property contains a regular expression which determines which request paths are internal.
        Since 4.7, we avoid doing HTTP requests over the network for requests that target Orbeon Forms itself, and
        we don't support anymore those requests being made over the network, so this property shouldn't be changed
        by users, and thus isn't listed in the documentation.
      -->
    <property as="xs:string"  name="oxf.http.internal-paths"                              value="(?!/exist/)/.*(?&lt;!\.jsp)"/>

    <!-- Processor-specific properties -->
    <property as="xs:string"  processor-name="oxf:page-flow" name="instance-passing"      value="redirect"/>
    <property as="xs:string"  processor-name="oxf:page-flow" name="submission-path"       value="/xforms-server-submit"/>
    <property as="xs:anyURI"  processor-name="oxf:page-flow" name="submission-model"      value="oxf:/ops/xforms/xforms-server-submit.xpl"/>

    <!-- ==== Internal XForms properties ========================================================================== -->

     <!-- XForms cache configuration -->
    <property as="xs:string"  name="oxf.xforms.state-handling"                            value="server"/>
    <property as="xs:boolean" name="oxf.xforms.cache.document"                            value="true"/>

    <property as="xs:boolean" name="oxf.xforms.optimize-get-all"                          value="true"/>
    <property as="xs:boolean" name="oxf.xforms.local-submission-forward"                  value="true"/>
    <property as="xs:boolean" name="oxf.xforms.local-submission-include"                  value="false"/>
    <property as="xs:boolean" name="oxf.xforms.local-instance-include"                    value="false"/>

    <property as="xs:boolean" name="oxf.xforms.gzip-state"                                value="true"/>

    <!-- NOTE: This is only used client-side by dialogs. Unclear why it should default to false. -->
    <property as="xs:boolean" name="oxf.xforms.use-aria"                                  value="false"/>

    <property as="xs:boolean" name="oxf.xforms.xforms11-switch"                           value="false"/>

    <!-- Whitespace handling for XForms documents -->
    <property as="xs:string"  name="oxf.xforms.whitespace.base.default"                   value="collapse"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.normalize">
        xf|model,
        xbl|xbl
    </property>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.preserve">
        xf|instance > *,
        xf|var,
        xxf|var,
        xf|variable,
        xxf|variable,
        exf|variable,
        xf|setvalue,
        xf|value,
        xxf|sequence,
        xxf|script,
        xf|action[type=xpath],
        xs|schema,
        xh|pre,
        xh|textarea,
        xh|script,
        xh|style,
        xh|template
    </property>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.collapse">
        xf|label,
        xf|help,
        xf|hint,
        xf|alert,
        xf|message,
        xbl|template,
        xxbl|global
    </property>
    <property as="xs:string"  name="oxf.xforms.whitespace.html.default"                   value="normalize"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.html.collapse">
        xh|title,
        xh|body
    </property>

    <property as="xs:string"  name="oxf.xforms.assets.baseline.updates.offline">
        <!-- Not sure if all of these are needed but listing them all won't hurt -->
        -/ops/javascript/scalajs/orbeon-xforms.js
        -/ops/javascript/scalajs/orbeon-xforms-offline.js
        -/apps/fr/resources/scalajs/orbeon-form-runner.js
        -/apps/fr/resources/scalajs/orbeon-form-runner-web.js
        -/forms/orbeon/builder/resources/scalajs/orbeon-form-builder.js

        <!-- Form Runner CSS -->
        +/apps/fr/style/form-runner-common.css
        +/apps/fr/style/form-runner-base.css
        +/apps/fr/style/form-runner-orbeon.css
        +/apps/fr/style/form-runner-responsive.css

        <!-- Temporary until we can create a baseline that includes baseline XBL components -->
        +/xbl/orbeon/section/section.css
        +/xbl/orbeon/grid/grid.css
        +/xbl/orbeon/error-summary/error-summary.css
        +/xbl/orbeon/number/number.css

        <!-- Temporary until we can create a baseline that includes baseline XBL components -->
        +/xbl/orbeon/date/date.css
        +/xbl/orbeon/date/bootstrap-datepicker-1.8.0-dist/css/bootstrap-datepicker.css
        +/xbl/orbeon/dropdown-select1-search/dropdown-select1-search.css
        +/xbl/orbeon/dropdown-select1-search/select2-4.0.7/css/select2.css
        +/xbl/orbeon/ladda-button/ladda-1.0.0-orbeon/ladda-themeless.min.css
        +/xbl/orbeon/ladda-button/ladda-button.css

        +/xbl/orbeon/date/bootstrap-datepicker-1.8.0-dist/js/bootstrap-datepicker.min.js
        +/xbl/orbeon/dropdown-select1-search/select2-4.0.7/js/select2.full.js
        +/xbl/orbeon/autosize-textarea/autosize.min.js
        +/xbl/orbeon/ladda-button/ladda-1.0.0-orbeon/spin.min.js
        +/xbl/orbeon/ladda-button/ladda-1.0.0-orbeon/ladda.min.js<commit_msg>Add missing CSS for repeated sections<commit_after><!--
  Copyright (C) 2010 Orbeon, Inc.

  This program is free software; you can redistribute it and/or modify it under the terms of the
  GNU Lesser General Public License as published by the Free Software Foundation; either version
  2.1 of the License, or (at your option) any later version.

  This program 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 Lesser General Public License for more details.

  The full text of the license is available at http://www.gnu.org/copyleft/lesser.html
  -->
<properties xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:oxf="http://www.orbeon.com/oxf/processors"
            xmlns:xh="http://www.w3.org/1999/xhtml"
            xmlns:xf="http://www.w3.org/2002/xforms"
            xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
            xmlns:exf="http://www.exforms.org/exf/1-0"
            xmlns:xbl="http://www.w3.org/ns/xbl"
            xmlns:xxbl="http://orbeon.org/oxf/xml/xbl"
            xmlns:fr="http://orbeon.org/oxf/xml/form-runner">

    <!-- ==== Internal base properties ============================================================================ -->

    <!-- URL rewriting -->
    <property as="xs:string"  name="oxf.url-rewriting.platform-paths">
        ^/(ops/|config/|xbl/orbeon/|forms/orbeon/|apps/fr/|js/|xforms-server).*$
    </property>
    <property as="xs:string"  name="oxf.url-rewriting.app-paths">
        ^/(apps|xbl|forms)/.*$
    </property>
    <property as="xs:string"  name="oxf.url-rewriting.app-prefix"                    value="/apps"/>

    <property as="xs:string"  name="oxf.url-rewriting.wsrp.context"                  value=""/>
    <property as="xs:boolean" name="oxf.url-rewriting.wsrp.encode-resources"         value="false"/>

    <!-- HTTP client -->
    <property as="xs:string"  name="oxf.http.state"                                  value="session"/>
    <property as="xs:string"  name="oxf.http.forward-headers.private"                value="Orbeon-Client"/>
    <property as="xs:string"  name="oxf.http.forward-cookies.private"                value=""/>

    <!--
        Note on Cache-Control for HTTP responses:

        For pages, we used to set Cache-Control to public, however this caused a rare and hard to reproduce issue
        where IE 7 (and maybe other versions of IE, but not Firefox), over-aggressively cached pages generated by Orbeon
        Forms. As a result, user A could log a page, logout from the application; later, user B logs into the
        application with the same browser, navigates to the page, and gets the version generated earlier for user A,
        which was cached by the browser (no request being set by IE to the server).

        Setting Cache-Control to no-cache solves the problem, but in that case IE doesn't reset the value of form fields
        when navigating back to a page, which breaks the mechanism we have to restore the form upon hitting back in the
        browser. Setting Cache-Control to private, max-age=0 solves the caching issue and doesn't prevent IE from
        restoring form fields upon hitting back. This is also what Google does on their home page (as of 2010-12-02).

        Note on blank Pragma:

        Tomcat adds "Pragma", "Expires" and "Cache-Control" headers when resources are constrained,disabling caching if
        they are not set. We must re-set them to allow caching.
    -->
    <property as="xs:string"  name="oxf.http.page.cache-headers">
        Cache-Control: private, max-age=0; Pragma:
    </property>
    <property as="xs:string"  name="oxf.http.resource.cache-headers">
        Cache-Control: public; Pragma:
    </property>
    <property as="xs:string"  name="oxf.http.nocache.cache-headers">
        Cache-Control: no-cache, no-store, must-revalidate; Pragma: no-cache; Expires: 0
    </property>

    <!--
        About oxf.http.internal-paths:

        The following property contains a regular expression which determines which request paths are internal.
        Since 4.7, we avoid doing HTTP requests over the network for requests that target Orbeon Forms itself, and
        we don't support anymore those requests being made over the network, so this property shouldn't be changed
        by users, and thus isn't listed in the documentation.
      -->
    <property as="xs:string"  name="oxf.http.internal-paths"                              value="(?!/exist/)/.*(?&lt;!\.jsp)"/>

    <!-- Processor-specific properties -->
    <property as="xs:string"  processor-name="oxf:page-flow" name="instance-passing"      value="redirect"/>
    <property as="xs:string"  processor-name="oxf:page-flow" name="submission-path"       value="/xforms-server-submit"/>
    <property as="xs:anyURI"  processor-name="oxf:page-flow" name="submission-model"      value="oxf:/ops/xforms/xforms-server-submit.xpl"/>

    <!-- ==== Internal XForms properties ========================================================================== -->

     <!-- XForms cache configuration -->
    <property as="xs:string"  name="oxf.xforms.state-handling"                            value="server"/>
    <property as="xs:boolean" name="oxf.xforms.cache.document"                            value="true"/>

    <property as="xs:boolean" name="oxf.xforms.optimize-get-all"                          value="true"/>
    <property as="xs:boolean" name="oxf.xforms.local-submission-forward"                  value="true"/>
    <property as="xs:boolean" name="oxf.xforms.local-submission-include"                  value="false"/>
    <property as="xs:boolean" name="oxf.xforms.local-instance-include"                    value="false"/>

    <property as="xs:boolean" name="oxf.xforms.gzip-state"                                value="true"/>

    <!-- NOTE: This is only used client-side by dialogs. Unclear why it should default to false. -->
    <property as="xs:boolean" name="oxf.xforms.use-aria"                                  value="false"/>

    <property as="xs:boolean" name="oxf.xforms.xforms11-switch"                           value="false"/>

    <!-- Whitespace handling for XForms documents -->
    <property as="xs:string"  name="oxf.xforms.whitespace.base.default"                   value="collapse"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.normalize">
        xf|model,
        xbl|xbl
    </property>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.preserve">
        xf|instance > *,
        xf|var,
        xxf|var,
        xf|variable,
        xxf|variable,
        exf|variable,
        xf|setvalue,
        xf|value,
        xxf|sequence,
        xxf|script,
        xf|action[type=xpath],
        xs|schema,
        xh|pre,
        xh|textarea,
        xh|script,
        xh|style,
        xh|template
    </property>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.collapse">
        xf|label,
        xf|help,
        xf|hint,
        xf|alert,
        xf|message,
        xbl|template,
        xxbl|global
    </property>
    <property as="xs:string"  name="oxf.xforms.whitespace.html.default"                   value="normalize"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.html.collapse">
        xh|title,
        xh|body
    </property>

    <property as="xs:string"  name="oxf.xforms.assets.baseline.updates.offline">
        <!-- Not sure if all of these are needed but listing them all won't hurt -->
        -/ops/javascript/scalajs/orbeon-xforms.js
        -/ops/javascript/scalajs/orbeon-xforms-offline.js
        -/apps/fr/resources/scalajs/orbeon-form-runner.js
        -/apps/fr/resources/scalajs/orbeon-form-runner-web.js
        -/forms/orbeon/builder/resources/scalajs/orbeon-form-builder.js

        <!-- Form Runner CSS -->
        +/apps/fr/style/form-runner-common.css
        +/apps/fr/style/form-runner-base.css
        +/apps/fr/style/form-runner-orbeon.css
        +/apps/fr/style/form-runner-responsive.css

        <!-- Temporary until we can create a baseline that includes baseline XBL components -->
        +/xbl/orbeon/section/section.css
        +/xbl/orbeon/grid/grid.css
        /xbl/orbeon/repeater/repeater.css
        +/xbl/orbeon/error-summary/error-summary.css
        +/xbl/orbeon/number/number.css

        <!-- Temporary until we can create a baseline that includes baseline XBL components -->
        +/xbl/orbeon/date/date.css
        +/xbl/orbeon/date/bootstrap-datepicker-1.8.0-dist/css/bootstrap-datepicker.css
        +/xbl/orbeon/dropdown-select1-search/dropdown-select1-search.css
        +/xbl/orbeon/dropdown-select1-search/select2-4.0.7/css/select2.css
        +/xbl/orbeon/ladda-button/ladda-1.0.0-orbeon/ladda-themeless.min.css
        +/xbl/orbeon/ladda-button/ladda-button.css

        +/xbl/orbeon/date/bootstrap-datepicker-1.8.0-dist/js/bootstrap-datepicker.min.js
        +/xbl/orbeon/dropdown-select1-search/select2-4.0.7/js/select2.full.js
        +/xbl/orbeon/autosize-textarea/autosize.min.js
        +/xbl/orbeon/ladda-button/ladda-1.0.0-orbeon/spin.min.js
        +/xbl/orbeon/ladda-button/ladda-1.0.0-orbeon/ladda.min.js
{'fraction_non_alphanumeric': 0.1471769815418024, 'fraction_numerical': 0.00749185667752443, 'mean_word_length': 2.476972442431106, 'pattern_counts': {'":': 0, '<': 115, '<?xml version=': 0, '>': 117, 'https://': 0, 'lorem ipsum': 0, 'www.': 14, 'xml': 24}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6305', 'n_tokens_mistral': 5851, 'n_tokens_neox': 5560, 'n_words': 1277}