<commit_before><?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2007 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
-->
<config xmlns="http://www.orbeon.com/oxf/controller"
        xmlns:oxf="http://www.orbeon.com/oxf/processors">

    <!-- Home redirects to Form Builder summary page -->
    <page path-info="/fr/?" matcher="oxf:perl5-matcher">
        <action>
            <result page="summary" transform="oxf:xinclude">
                <request xmlns="">
                    <app>orbeon</app>
                    <form>builder</form>
                </request>
            </result>
        </action>
    </page>

    <!-- ==== Built-in eXist-based Persistence Services ============================================================ -->

    <!-- Create, Read, Update and Delete operations (id provided) -->
    <page path-info="/fr/service/exist/crud/([^/]+/[^/]+/(form/[^/]+|data/[^/]+/[^/]+))" matcher="oxf:perl5-matcher"
          model="persistence/exist/crud.xpl"/>

    <!-- Search -->
    <page path-info="/fr/service/exist/search/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="persistence/exist/search.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
        <setvalue ref="/*/form" matcher-group="2"/>
    </page>

    <!-- List deployed forms for a given application -->
    <page path-info="/fr/service/exist/list/([^/]+)" matcher="oxf:perl5-matcher"
          default-submission="persistence/exist/list-submission.xml"
          view="persistence/exist/list.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
    </page>

    <!-- ==== Built-in Oracle-based Persistence Services =========================================================== -->

    <!-- Create, Read, Update and Delete operations (id provided) -->
    <page path-info="/fr/service/oracle/crud/([^/]+/[^/]+/(form/[^/]+|data/[^/]+/[^/]+))" matcher="oxf:perl5-matcher"
          model="persistence/oracle/crud.xpl"/>

    <!-- Search -->
    <page path-info="/fr/service/oracle/search/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="persistence/oracle/search.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
        <setvalue ref="/*/form" matcher-group="2"/>
    </page>

    <!-- List deployed forms for a given application -->
    <page path-info="/fr/service/oracle/list/([^/]+)" matcher="oxf:perl5-matcher"
          default-submission="persistence/oracle/list-submission.xml"
          view="persistence/oracle/list.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
    </page>

    <!-- ==== Built-in Resource Manager-Based Persistence Services ================================================= -->

    <!-- Create, Read, Update and Delete operations (id provided) -->
    <page path-info="/fr/service/resource/crud/([^/]+/[^/]+/(form/[^/]+|data/[^/]+/[^/]+))" matcher="oxf:perl5-matcher"
          model="persistence/resource/crud.xpl">
    </page>

    <!-- ==== Internationalization ================================================================================= -->

    <!-- Service putting together Form Runner resources -->
    <page path-info="/fr/service/i18n/fr-resources/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="i18n/fr-resources.xpl"  
          default-submission="request-parameters.xml">
        <setvalue ref="/*/app" matcher-group="1"/>
        <setvalue ref="/*/form" matcher-group="2"/>
    </page>

    <!-- ==== Other Services ======================================================================================= -->

    <!-- Email document -->
    <page path-info="/fr/service/([^/]+)/([^/]+)/(email)(/([^/]+))?/?" matcher="oxf:perl5-matcher"
          view="email/email-form.xpl"/>

    <!-- Create PDF -->
    <page path-info="/fr/service/([^/]+)/([^/]+)/(pdf)(/([^/]+))?/?" matcher="oxf:perl5-matcher"
          view="print/print-form.xpl"/>

    <!-- Generate HTML to be saved -->
    <page path-info="/fr/service/import-export/save-generate" view="import-export/save-generate.xpl"/>

    <!-- Serve document previously produced -->
    <page path-info="/fr/service/import-export/serve" model="import-export/serve.xpl"
          default-submission="import-export/serve-instance.xml">
        <setvalue ref="/instance/uuid" parameter="uuid"/>
        <setvalue ref="/instance/filename" parameter="filename"/>
    </page>

    <!-- ==== Custom Services and Pages ============================================================================ -->

    <!-- Custom persistence implementation provided by the application -->
    <page path-info="/fr/service/custom/([^/]+)/crud/[^/]+/[^/]+/(form/[^/]+|data/[^/]+/[^/]+)" matcher="oxf:perl5-matcher"
          model="/forms/${1}/service/crud.xpl">
    </page>

    <page path-info="/fr/service/custom/([^/]+)/search/[^/]+/[^/]+" matcher="oxf:perl5-matcher"
          view="/forms/${1}/service/search.xpl">
    </page>

    <!-- Custom services provided by the application -->
    <page path-info="/fr/service/custom/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="/forms/${1}/service/${2}.xpl"/>

    <!-- Custom services provided by Form Builder -->
    <!-- NOTE: This shouldn't be here, but this service uses its own serialization -->
    <page path-info="/fr/service/custom/([^/]+)/([^/]+)/toolbox" matcher="oxf:perl5-matcher"
          model="/forms/${1}/${2}/service/toolbox.xpl"/>

    <!-- Custom services provided by the form -->
    <page path-info="/fr/service/custom/([^/]+)/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="/forms/${1}/${2}/service/${3}.xpl"/>

    <!-- Custom pages provided by the application -->
    <page path-info="/fr/page/custom/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="/forms/${1}/page/${2}.xhtml"/>

    <!-- ==== Pages ================================================================================================ -->

    <!-- NOTE: Put those here as some URLs starting with /fr/service or /fr/page can erroneously match on those -->

    <!-- Summary -->
    <page id="summary"
          path-info="/fr/([^/]+)/([^/]+)(/summary/|/list/|/)?" matcher="oxf:perl5-matcher"
          default-submission="request-parameters.xml"
          model="summary/view.xhtml" view="html-view.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
        <setvalue ref="/*/form" matcher-group="2"/>
        <setvalue ref="/*/mode">summary</setvalue>
    </page>

    <page path-info="/fr/unauthorized" view="unauthorized.xhtml" matcher="oxf:perl5-matcher"/>

    <!-- New, edit or view document -->
    <page path-info="/fr/([^/]+)/([^/]+)/(new|edit|view)(/([^/]+))?/?" matcher="oxf:perl5-matcher"
          model="detail/detail-model.xpl" view="html-view.xpl">
    </page>

    <!-- View document as PDF --><commit_msg>Accept missing trailing slash in summary page.<commit_after><?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2007 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
-->
<config xmlns="http://www.orbeon.com/oxf/controller"
        xmlns:oxf="http://www.orbeon.com/oxf/processors">

    <!-- Home redirects to Form Builder summary page -->
    <page path-info="/fr/?" matcher="oxf:perl5-matcher">
        <action>
            <result page="summary" transform="oxf:xinclude">
                <request xmlns="">
                    <app>orbeon</app>
                    <form>builder</form>
                </request>
            </result>
        </action>
    </page>

    <!-- ==== Built-in eXist-based Persistence Services ============================================================ -->

    <!-- Create, Read, Update and Delete operations (id provided) -->
    <page path-info="/fr/service/exist/crud/([^/]+/[^/]+/(form/[^/]+|data/[^/]+/[^/]+))" matcher="oxf:perl5-matcher"
          model="persistence/exist/crud.xpl"/>

    <!-- Search -->
    <page path-info="/fr/service/exist/search/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="persistence/exist/search.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
        <setvalue ref="/*/form" matcher-group="2"/>
    </page>

    <!-- List deployed forms for a given application -->
    <page path-info="/fr/service/exist/list/([^/]+)" matcher="oxf:perl5-matcher"
          default-submission="persistence/exist/list-submission.xml"
          view="persistence/exist/list.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
    </page>

    <!-- ==== Built-in Oracle-based Persistence Services =========================================================== -->

    <!-- Create, Read, Update and Delete operations (id provided) -->
    <page path-info="/fr/service/oracle/crud/([^/]+/[^/]+/(form/[^/]+|data/[^/]+/[^/]+))" matcher="oxf:perl5-matcher"
          model="persistence/oracle/crud.xpl"/>

    <!-- Search -->
    <page path-info="/fr/service/oracle/search/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="persistence/oracle/search.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
        <setvalue ref="/*/form" matcher-group="2"/>
    </page>

    <!-- List deployed forms for a given application -->
    <page path-info="/fr/service/oracle/list/([^/]+)" matcher="oxf:perl5-matcher"
          default-submission="persistence/oracle/list-submission.xml"
          view="persistence/oracle/list.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
    </page>

    <!-- ==== Built-in Resource Manager-Based Persistence Services ================================================= -->

    <!-- Create, Read, Update and Delete operations (id provided) -->
    <page path-info="/fr/service/resource/crud/([^/]+/[^/]+/(form/[^/]+|data/[^/]+/[^/]+))" matcher="oxf:perl5-matcher"
          model="persistence/resource/crud.xpl">
    </page>

    <!-- ==== Internationalization ================================================================================= -->

    <!-- Service putting together Form Runner resources -->
    <page path-info="/fr/service/i18n/fr-resources/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="i18n/fr-resources.xpl"  
          default-submission="request-parameters.xml">
        <setvalue ref="/*/app" matcher-group="1"/>
        <setvalue ref="/*/form" matcher-group="2"/>
    </page>

    <!-- ==== Other Services ======================================================================================= -->

    <!-- Email document -->
    <page path-info="/fr/service/([^/]+)/([^/]+)/(email)(/([^/]+))?/?" matcher="oxf:perl5-matcher"
          view="email/email-form.xpl"/>

    <!-- Create PDF -->
    <page path-info="/fr/service/([^/]+)/([^/]+)/(pdf)(/([^/]+))?/?" matcher="oxf:perl5-matcher"
          view="print/print-form.xpl"/>

    <!-- Generate HTML to be saved -->
    <page path-info="/fr/service/import-export/save-generate" view="import-export/save-generate.xpl"/>

    <!-- Serve document previously produced -->
    <page path-info="/fr/service/import-export/serve" model="import-export/serve.xpl"
          default-submission="import-export/serve-instance.xml">
        <setvalue ref="/instance/uuid" parameter="uuid"/>
        <setvalue ref="/instance/filename" parameter="filename"/>
    </page>

    <!-- ==== Custom Services and Pages ============================================================================ -->

    <!-- Custom persistence implementation provided by the application -->
    <page path-info="/fr/service/custom/([^/]+)/crud/[^/]+/[^/]+/(form/[^/]+|data/[^/]+/[^/]+)" matcher="oxf:perl5-matcher"
          model="/forms/${1}/service/crud.xpl">
    </page>

    <page path-info="/fr/service/custom/([^/]+)/search/[^/]+/[^/]+" matcher="oxf:perl5-matcher"
          view="/forms/${1}/service/search.xpl">
    </page>

    <!-- Custom services provided by the application -->
    <page path-info="/fr/service/custom/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="/forms/${1}/service/${2}.xpl"/>

    <!-- Custom services provided by Form Builder -->
    <!-- NOTE: This shouldn't be here, but this service uses its own serialization -->
    <page path-info="/fr/service/custom/([^/]+)/([^/]+)/toolbox" matcher="oxf:perl5-matcher"
          model="/forms/${1}/${2}/service/toolbox.xpl"/>

    <!-- Custom services provided by the form -->
    <page path-info="/fr/service/custom/([^/]+)/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="/forms/${1}/${2}/service/${3}.xpl"/>

    <!-- Custom pages provided by the application -->
    <page path-info="/fr/page/custom/([^/]+)/([^/]+)" matcher="oxf:perl5-matcher"
          view="/forms/${1}/page/${2}.xhtml"/>

    <!-- ==== Pages ================================================================================================ -->

    <!-- NOTE: Put those here as some URLs starting with /fr/service or /fr/page can erroneously match on those -->

    <!-- Summary -->
    <page id="summary"
          path-info="/fr/([^/]+)/([^/]+)(/summary|/list|)?/?" matcher="oxf:perl5-matcher"
          default-submission="request-parameters.xml"
          model="summary/view.xhtml" view="html-view.xpl">
        <setvalue ref="/*/app" matcher-group="1"/>
        <setvalue ref="/*/form" matcher-group="2"/>
        <setvalue ref="/*/mode">summary</setvalue>
    </page>

    <page path-info="/fr/unauthorized" view="unauthorized.xhtml" matcher="oxf:perl5-matcher"/>

    <!-- New, edit or view document -->
    <page path-info="/fr/([^/]+)/([^/]+)/(new|edit|view)(/([^/]+))?/?" matcher="oxf:perl5-matcher"
          model="detail/detail-model.xpl" view="html-view.xpl">
    </page>

    <!-- View document as PDF -->
{'fraction_non_alphanumeric': 0.27866394001363326, 'fraction_numerical': 0.007361963190184049, 'mean_word_length': 2.9480624327233587, 'pattern_counts': {'":': 0, '<': 185, '<?xml version=': 2, '>': 185, 'https://': 0, 'lorem ipsum': 0, 'www.': 6, 'xml': 18}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1991560', 'n_tokens_mistral': 4605, 'n_tokens_neox': 4323, 'n_words': 832}