<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:xi="http://www.w3.org/2001/XInclude"
            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:xbl="http://www.w3.org/ns/xbl"
            xmlns:xxbl="http://orbeon.org/oxf/xml/xbl"
            xmlns:fr="http://orbeon.org/oxf/xml/form-runner">

    <!-- Whether to encrypt (encode) item values by default -->
    <property as="xs:boolean" name="oxf.xforms.encrypt-item-values"                     value="true"/>

    <!--
        Debug logging:

        * Document: document model submission submission-details control event action
        * Global:   analysis server html resources state resolver utils
        * Data:     analysis-xbl-tree submission-body model-serialized-instance server-body html-static-state
     -->
    <property as="xs:NMTOKENS" name="oxf.xforms.logging.debug"                          value="document model submission control event action analysis server html process"/>
    <!--
        Error logging:

        * Data: submission-error-body server-body
    -->
    <property as="xs:NMTOKENS" name="oxf.xforms.logging.error"                          value="submission-error-body"/>

    <!-- Debug properties -->
    <property as="xs:boolean" name="oxf.xforms.debug.log-xpath-analysis"                value="false"/>
    <property as="xs:boolean" name="oxf.xforms.debug.log-request-stats"                 value="false"/>

    <!-- XPath analysis (PE) -->
    <property as="xs:boolean" name="oxf.xforms.xpath-analysis"                          value="false"/>

    <!-- 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:integer" name="oxf.xforms.cache.documents.size"                    value="50"/>
    <property as="xs:integer" name="oxf.xforms.cache.static-state.size"                 value="50"/>
    <property as="xs:integer" name="oxf.xforms.cache.shared-instances.size"             value="50"/>

    <!-- Formats -->
    <property as="xs:string"  name="oxf.xforms.format.output.date"                      value="if (. castable as xs:date) then format-date(xs:date(.), '[FNn] [MNn] [D], [Y]', xxf:lang(), (), ()) else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.dateTime"                  value="if (. castable as xs:dateTime) then format-dateTime(xs:dateTime(.), '[FNn] [MNn] [D], [Y] [H01]:[m01]:[s01]', xxf:lang(), (), ()) else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.time"                      value="if (. castable as xs:time) then format-time(xs:time(.), '[H01]:[m01]:[s01]', xxf:lang(), (), ()) else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.decimal"                   value="if (. castable as xs:decimal) then format-number(xs:decimal(.),'###,###,###,##0.00') else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.integer"                   value="if (. castable as xs:integer) then format-number(xs:integer(.),'###,###,###,##0') else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.float"                     value="if (. castable as xs:float) then format-number(xs:float(.),'#,##0.000') else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.double"                    value="if (. castable as xs:double) then format-number(xs:double(.),'#,##0.000') else ."/>


    <property as="xs:string"  name="oxf.xforms.format.input.date"                       value="[M]/[D]/[Y]"/> <!-- [M]/[D]/[Y]  or [D]/[M]/[Y] or [D].[M].[Y]-->
    <property as="xs:string"  name="oxf.xforms.format.input.time"                       value="[h]:[m]:[s] [P,*-2]"/> <!-- [h]:[m]:[s] [P,*-2]  or  [h]:[m]:[s] [P,2-2]  or  [H]:[m]:[s] -->

    <!-- Other XForms options -->
    <property as="xs:string"  name="oxf.xforms.order"                                       value="label control help alert hint"/>
    <property as="xs:string"  name="oxf.xforms.label-element"                               value="label"/>
    <property as="xs:string"  name="oxf.xforms.hint-element"                                value="span"/>
    <property as="xs:string"  name="oxf.xforms.help-element"                                value="span"/>
    <property as="xs:string"  name="oxf.xforms.alert-element"                               value="span"/>
    <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:string"  name="oxf.xforms.forward-submission-headers"                  value="Orbeon-Client"/>
    <property as="xs:integer" name="oxf.xforms.submission-poll-delay"                       value="10000"/>
    <property as="xs:boolean" name="oxf.xforms.ajax.show-loading-icon"                      value="true"/>
    <property as="xs:integer" name="oxf.xforms.ajax.update.full.threshold"                  value="20"/>
    <property as="xs:boolean" name="oxf.xforms.gzip-state"                                  value="true"/>
    <property as="xs:string"  name="oxf.xforms.hint.appearance"                             value="inline"/>
    <property as="xs:string"  name="oxf.xforms.help.appearance"                             value="dialog"/>

    <property as="xs:boolean"  name="oxf.xforms.minimal-resources"                          value="true"/>
    <property as="xs:boolean"  name="oxf.xforms.combine-resources"                          value="true"/>
    <property as="xs:boolean"  name="oxf.xforms.cache-combined-resources"                   value="false"/>
    <property as="xs:boolean"  name="oxf.xforms.resources.javascript-at-bottom"             value="true"/>
    <property as="xs:boolean"  name="oxf.xforms.resources.encode-version"                   value="true"/>
    <property as="xs:string"   name="oxf.xforms.resources.baseline"                         value="fr:button fr:tabview fr:autocomplete"/>

    <property as="xs:boolean" name="oxf.xforms.expose-xpath-types"                          value="false"/>
    <property as="xs:boolean" name="oxf.xforms.session-heartbeat"                           value="true"/>
    <property as="xs:boolean" name="oxf.xforms.host-language-avts"                          value="true"/>
    <property as="xs:string"  name="oxf.xforms.additional-avt-element-namespaces"           value=""/> <!-- space separated list of element namespaces that can contain avts in their attributes1 -->
    <property as="xs:string"  name="oxf.xforms.additional-ref-id-attribute-names"           value=""/> <!-- space separated list of attribute names that contain references to id's -->
    <property as="xs:boolean" name="oxf.xforms.noscript"                                    value="false"/>
    <property as="xs:boolean" name="oxf.xforms.noscript-support"                            value="true"/>
    <property as="xs:boolean" name="oxf.xforms.async-portlet-load"                          value="false"/>
    <property as="xs:boolean" name="oxf.xforms.datepicker.navigator"                        value="true"/>
    <property as="xs:boolean" name="oxf.xforms.datepicker.two-months"                       value="false"/>
    <property as="xs:boolean" name="oxf.xforms.show-error-dialog"                           value="true"/>
    <property as="xs:integer" name="oxf.xforms.show-recoverable-errors"                     value="0"/>

    <property as="xs:integer" name="oxf.xforms.internal-short-delay"                        value="100"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-incremental-request"            value="500"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-force-incremental-request"      value="2000"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-display-loading"                value="500"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-ajax-timeout"                   value="30000"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-upload-progress-refresh"        value="2000"/>

    <property as="xs:string"  name="oxf.xforms.login-page-detection-regexp"                 value=""/>
    <property as="xs:string"  name="oxf.xforms.client.events.mode"                          value="default"/>   <!-- default | deferred -->
    <property as="xs:string"  name="oxf.xforms.client.events.filter"                        value=""/>
    <property as="xs:integer" name="oxf.xforms.retry.delay-increment"                       value="5000"/>
    <property as="xs:integer" name="oxf.xforms.retry.max-delay"                             value="30000"/>
    <property as="xs:boolean" name="oxf.xforms.use-aria"                                    value="false"/>
    <property as="xs:boolean" name="oxf.xforms.xforms11-switch"                             value="false"/>     <!-- default will switch to true at some point -->

    <property as="xs:string"  name="oxf.xforms.location-mode"                               value="none"/>

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

    <!-- Properties for XBL components which will eventually be moved inside the component to keep encapsulation -->
    <property as="xs:string"  name="oxf.xforms.xbl.fr.map.key"                              value=""/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.map.clientid"                         value=""/>
    <property as="xs:boolean" name="oxf.xforms.xbl.fr.map.ssl"                              value="false"/>

    <property as="xs:integer" name="oxf.xforms.xbl.fr.autocomplete.max-results-displayed"   value="10"/>

    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.prefix"                      value="$"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.suffix"                      value=""/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.digits-after-decimal"        value="2"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.decimal-separator"           value="."/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.grouping-separator"          value=","/>

    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.prefix"                        value=""/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.suffix"                        value=""/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.digits-after-decimal"          value="0"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.decimal-separator"             value="."/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.grouping-separator"            value=","/>

    <property as="xs:string"  name="oxf.xforms.xbl.fr.fusion-charts.uri-to-swf"             value=""/>

    <property as="xs:boolean" name="oxf.xforms.xbl.fr.accordion.open-closes-others"         value="false"/>

    <property as="xs:integer" name="oxf.xforms.xbl.fr.expandable-output.max-characters"     value="60"/>
    <property as="xs:integer" name="oxf.xforms.xbl.fr.expandable-output.tolerance"          value="20"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.dropdown-date.start-year"             value="1970"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.dropdown-date.end-year"               value="year-from-date(current-date())"/>

    <!-- Automatically search for XBL components in fr:* namespace -->
    <property as="xs:string"  name="oxf.xforms.xbl.mapping.orbeon"                          value="http://orbeon.org/oxf/xml/form-runner"/>

    <property as="xs:boolean" name="oxf.epilogue.xforms.preprocessing"                      value="false"/>
    <property as="xs:anyURI"  name="oxf.epilogue.xforms.preprocessing.uri"                  value=""/>
    <property as="xs:boolean" name="oxf.epilogue.xforms.inspector"                          value="false"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.spell-checker.service"                value="https://www.google.com/tbproxy/spell?lang=en&amp;hl=en"/>
    <property as="xs:boolean" name="oxf.xforms.xbl.fr.datatable.init-in-viewport"           value="false"/>

    <!--<property as="xs:NCName"  name="oxf.xforms.pipeline.trace.class"                        value="org.orbeon.oxf.processor.trace.StdOutTrace"/>-->

</properties>
<commit_msg>Whitespace stripping: fix variables and XPath actions<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:xi="http://www.w3.org/2001/XInclude"
            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">

    <!-- Whether to encrypt (encode) item values by default -->
    <property as="xs:boolean" name="oxf.xforms.encrypt-item-values"                     value="true"/>

    <!--
        Debug logging:

        * Document: document model submission submission-details control event action
        * Global:   analysis server html resources state resolver utils
        * Data:     analysis-xbl-tree submission-body model-serialized-instance server-body html-static-state
     -->
    <property as="xs:NMTOKENS" name="oxf.xforms.logging.debug"                          value="document model submission control event action analysis server html process"/>
    <!--
        Error logging:

        * Data: submission-error-body server-body
    -->
    <property as="xs:NMTOKENS" name="oxf.xforms.logging.error"                          value="submission-error-body"/>

    <!-- Debug properties -->
    <property as="xs:boolean" name="oxf.xforms.debug.log-xpath-analysis"                value="false"/>
    <property as="xs:boolean" name="oxf.xforms.debug.log-request-stats"                 value="false"/>

    <!-- XPath analysis (PE) -->
    <property as="xs:boolean" name="oxf.xforms.xpath-analysis"                          value="false"/>

    <!-- 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:integer" name="oxf.xforms.cache.documents.size"                    value="50"/>
    <property as="xs:integer" name="oxf.xforms.cache.static-state.size"                 value="50"/>
    <property as="xs:integer" name="oxf.xforms.cache.shared-instances.size"             value="50"/>

    <!-- Formats -->
    <property as="xs:string"  name="oxf.xforms.format.output.date"                      value="if (. castable as xs:date) then format-date(xs:date(.), '[FNn] [MNn] [D], [Y]', xxf:lang(), (), ()) else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.dateTime"                  value="if (. castable as xs:dateTime) then format-dateTime(xs:dateTime(.), '[FNn] [MNn] [D], [Y] [H01]:[m01]:[s01]', xxf:lang(), (), ()) else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.time"                      value="if (. castable as xs:time) then format-time(xs:time(.), '[H01]:[m01]:[s01]', xxf:lang(), (), ()) else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.decimal"                   value="if (. castable as xs:decimal) then format-number(xs:decimal(.),'###,###,###,##0.00') else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.integer"                   value="if (. castable as xs:integer) then format-number(xs:integer(.),'###,###,###,##0') else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.float"                     value="if (. castable as xs:float) then format-number(xs:float(.),'#,##0.000') else ."/>
    <property as="xs:string"  name="oxf.xforms.format.output.double"                    value="if (. castable as xs:double) then format-number(xs:double(.),'#,##0.000') else ."/>


    <property as="xs:string"  name="oxf.xforms.format.input.date"                       value="[M]/[D]/[Y]"/> <!-- [M]/[D]/[Y]  or [D]/[M]/[Y] or [D].[M].[Y]-->
    <property as="xs:string"  name="oxf.xforms.format.input.time"                       value="[h]:[m]:[s] [P,*-2]"/> <!-- [h]:[m]:[s] [P,*-2]  or  [h]:[m]:[s] [P,2-2]  or  [H]:[m]:[s] -->

    <!-- Other XForms options -->
    <property as="xs:string"  name="oxf.xforms.order"                                       value="label control help alert hint"/>
    <property as="xs:string"  name="oxf.xforms.label-element"                               value="label"/>
    <property as="xs:string"  name="oxf.xforms.hint-element"                                value="span"/>
    <property as="xs:string"  name="oxf.xforms.help-element"                                value="span"/>
    <property as="xs:string"  name="oxf.xforms.alert-element"                               value="span"/>
    <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:string"  name="oxf.xforms.forward-submission-headers"                  value="Orbeon-Client"/>
    <property as="xs:integer" name="oxf.xforms.submission-poll-delay"                       value="10000"/>
    <property as="xs:boolean" name="oxf.xforms.ajax.show-loading-icon"                      value="true"/>
    <property as="xs:integer" name="oxf.xforms.ajax.update.full.threshold"                  value="20"/>
    <property as="xs:boolean" name="oxf.xforms.gzip-state"                                  value="true"/>
    <property as="xs:string"  name="oxf.xforms.hint.appearance"                             value="inline"/>
    <property as="xs:string"  name="oxf.xforms.help.appearance"                             value="dialog"/>

    <property as="xs:boolean"  name="oxf.xforms.minimal-resources"                          value="true"/>
    <property as="xs:boolean"  name="oxf.xforms.combine-resources"                          value="true"/>
    <property as="xs:boolean"  name="oxf.xforms.cache-combined-resources"                   value="false"/>
    <property as="xs:boolean"  name="oxf.xforms.resources.javascript-at-bottom"             value="true"/>
    <property as="xs:boolean"  name="oxf.xforms.resources.encode-version"                   value="true"/>
    <property as="xs:string"   name="oxf.xforms.resources.baseline"                         value="fr:button fr:tabview fr:autocomplete"/>

    <property as="xs:boolean" name="oxf.xforms.expose-xpath-types"                          value="false"/>
    <property as="xs:boolean" name="oxf.xforms.session-heartbeat"                           value="true"/>
    <property as="xs:boolean" name="oxf.xforms.host-language-avts"                          value="true"/>
    <property as="xs:string"  name="oxf.xforms.additional-avt-element-namespaces"           value=""/> <!-- space separated list of element namespaces that can contain avts in their attributes1 -->
    <property as="xs:string"  name="oxf.xforms.additional-ref-id-attribute-names"           value=""/> <!-- space separated list of attribute names that contain references to id's -->
    <property as="xs:boolean" name="oxf.xforms.noscript"                                    value="false"/>
    <property as="xs:boolean" name="oxf.xforms.noscript-support"                            value="true"/>
    <property as="xs:boolean" name="oxf.xforms.async-portlet-load"                          value="false"/>
    <property as="xs:boolean" name="oxf.xforms.datepicker.navigator"                        value="true"/>
    <property as="xs:boolean" name="oxf.xforms.datepicker.two-months"                       value="false"/>
    <property as="xs:boolean" name="oxf.xforms.show-error-dialog"                           value="true"/>
    <property as="xs:integer" name="oxf.xforms.show-recoverable-errors"                     value="0"/>

    <property as="xs:integer" name="oxf.xforms.internal-short-delay"                        value="100"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-incremental-request"            value="500"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-force-incremental-request"      value="2000"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-display-loading"                value="500"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-ajax-timeout"                   value="30000"/>
    <property as="xs:integer" name="oxf.xforms.delay-before-upload-progress-refresh"        value="2000"/>

    <property as="xs:string"  name="oxf.xforms.login-page-detection-regexp"                 value=""/>
    <property as="xs:string"  name="oxf.xforms.client.events.mode"                          value="default"/>   <!-- default | deferred -->
    <property as="xs:string"  name="oxf.xforms.client.events.filter"                        value=""/>
    <property as="xs:integer" name="oxf.xforms.retry.delay-increment"                       value="5000"/>
    <property as="xs:integer" name="oxf.xforms.retry.max-delay"                             value="30000"/>
    <property as="xs:boolean" name="oxf.xforms.use-aria"                                    value="false"/>
    <property as="xs:boolean" name="oxf.xforms.xforms11-switch"                             value="false"/>     <!-- default will switch to true at some point -->

    <property as="xs:string"  name="oxf.xforms.location-mode"                               value="none"/>

    <!-- Whitespace handling for XForms documents -->
    <property as="xs:string"  name="oxf.xforms.whitespace.base.default"                     value="normalize"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.normalize"                   value="
                                                                                                xf|model,
                                                                                                xbl|xbl"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.preserve"                    value="
                                                                                                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"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.base.collapse"                    value="
                                                                                                xf|label,
                                                                                                xf|help,
                                                                                                xf|hint,
                                                                                                xf|alert,
                                                                                                xf|message,
                                                                                                xbl|template,
                                                                                                xxbl|global"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.html.default"                     value="normalize"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.html.normalize"                   value="
                                                                                                xh|html"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.html.preserve"                    value="
                                                                                                xh|pre,
                                                                                                xh|textarea,
                                                                                                xh|script,
                                                                                                xh|style,
                                                                                                xh|template"/>
    <property as="xs:string"  name="oxf.xforms.whitespace.html.collapse"                    value="
                                                                                                xh|title,
                                                                                                xh|body"/>

    <!-- Properties for XBL components which will eventually be moved inside the component to keep encapsulation -->
    <property as="xs:string"  name="oxf.xforms.xbl.fr.map.key"                              value=""/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.map.clientid"                         value=""/>
    <property as="xs:boolean" name="oxf.xforms.xbl.fr.map.ssl"                              value="false"/>

    <property as="xs:integer" name="oxf.xforms.xbl.fr.autocomplete.max-results-displayed"   value="10"/>

    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.prefix"                      value="$"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.suffix"                      value=""/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.digits-after-decimal"        value="2"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.decimal-separator"           value="."/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.currency.grouping-separator"          value=","/>

    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.prefix"                        value=""/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.suffix"                        value=""/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.digits-after-decimal"          value="0"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.decimal-separator"             value="."/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.number.grouping-separator"            value=","/>

    <property as="xs:string"  name="oxf.xforms.xbl.fr.fusion-charts.uri-to-swf"             value=""/>

    <property as="xs:boolean" name="oxf.xforms.xbl.fr.accordion.open-closes-others"         value="false"/>

    <property as="xs:integer" name="oxf.xforms.xbl.fr.expandable-output.max-characters"     value="60"/>
    <property as="xs:integer" name="oxf.xforms.xbl.fr.expandable-output.tolerance"          value="20"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.dropdown-date.start-year"             value="1970"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.dropdown-date.end-year"               value="year-from-date(current-date())"/>

    <!-- Automatically search for XBL components in fr:* namespace -->
    <property as="xs:string"  name="oxf.xforms.xbl.mapping.orbeon"                          value="http://orbeon.org/oxf/xml/form-runner"/>

    <property as="xs:boolean" name="oxf.epilogue.xforms.preprocessing"                      value="false"/>
    <property as="xs:anyURI"  name="oxf.epilogue.xforms.preprocessing.uri"                  value=""/>
    <property as="xs:boolean" name="oxf.epilogue.xforms.inspector"                          value="false"/>
    <property as="xs:string"  name="oxf.xforms.xbl.fr.spell-checker.service"                value="https://www.google.com/tbproxy/spell?lang=en&amp;hl=en"/>
    <property as="xs:boolean" name="oxf.xforms.xbl.fr.datatable.init-in-viewport"           value="false"/>

    <!--<property as="xs:NCName"  name="oxf.xforms.pipeline.trace.class"                        value="org.orbeon.oxf.processor.trace.StdOutTrace"/>-->

</properties>

{'fraction_non_alphanumeric': 0.1433745762220741, 'fraction_numerical': 0.006722494277186984, 'mean_word_length': 1.4684929547242687, 'pattern_counts': {'":': 0, '<': 251, '<?xml version=': 0, '>': 253, 'https://': 2, 'lorem ipsum': 0, 'www.': 17, 'xml': 27}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 224, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6032340', 'n_tokens_mistral': 9404, 'n_tokens_neox': 9002, 'n_words': 1489}