<commit_before><!--
    Copyright (C) 2005 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
-->
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"
      xmlns:xforms="http://www.w3.org/2002/xforms"
      xmlns:ev="http://www.w3.org/2001/xml-events"
      xmlns:xi="http://www.w3.org/2001/XInclude">
    <xhtml:head>
        <xhtml:title>SQL Address Book</xhtml:title>
        <xforms:model>
            <xforms:instance id="main">
                <dummy/>
            </xforms:instance>
            <xforms:instance id="add-instance">
                <form>
                    <first/>
                    <last/>
                    <phone/>
                </form>
            </xforms:instance>
            <xforms:instance id="delete-instance">
                <form>
                    <id/>
                </form>
            </xforms:instance>
            <xforms:instance id="refresh-instance">
                <form/>
            </xforms:instance>
            <xforms:instance id="status">
                <status>
                    <message>Read records</message>
                </status>
            </xforms:instance>
            <xforms:submission id="get-submission" ref="instance('main')" replace="instance" method="post" action="/xforms-sql-address-book/get"/>
            <xforms:submission id="add-submission" ref="instance('add-instance')" replace="none" instance="main" method="post" action="/xforms-sql-address-book/add"/>
            <xforms:submission id="delete-submission" ref="instance('delete-instance')" replace="none" instance="main" method="post" action="/xforms-sql-address-book/delete"/>
            <xforms:send submission="get-submission" ev:event="xforms-ready"/>
        </xforms:model>
    </xhtml:head>
    <xhtml:body>
        <xhtml:table class="gridtable">
            <xhtml:tr>
                <xhtml:th>First Name</xhtml:th>
                <xhtml:th>Last Name</xhtml:th>
                <xhtml:th>Phone Number</xhtml:th>
                <xhtml:th>Action</xhtml:th>
            </xhtml:tr>
            <xforms:repeat nodeset="friend" id="friendsRepeat">
                <xhtml:tr>
                    <xhtml:td>
                        <xforms:output ref="first"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:output ref="last"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:output ref="phone"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:trigger>
                            <xforms:label>Remove</xforms:label>
                            <xforms:action ev:event="DOMActivate">
                                <xforms:setvalue ref="instance('delete-instance')/id" value="instance('main')/friend[index('friendsRepeat')]/id"/>
                                <xforms:send submission="delete-submission"/>
                                <xforms:send submission="get-submission"/>
                                <xforms:setvalue ref="instance('status')/message">Deleted record</xforms:setvalue>
                            </xforms:action>
                        </xforms:trigger>
                    </xhtml:td>
                </xhtml:tr>
            </xforms:repeat>
            <xforms:group ref="instance('add-instance')">
                <xhtml:tr>
                    <xhtml:td>
                        <xforms:input ref="first"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:input ref="last"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:input ref="phone"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:trigger>
                            <xforms:label>Add</xforms:label>
                            <xforms:action ev:event="DOMActivate">
                                <xforms:send submission="add-submission"/>
                                <xforms:send submission="get-submission"/>
                                <xforms:setvalue ref="instance('status')/message">Added record</xforms:setvalue>
                                <xforms:setvalue ref="first"/>
                                <xforms:setvalue ref="last"/>
                                <xforms:setvalue ref="phone"/>
                            </xforms:action>
                        </xforms:trigger>
                    </xhtml:td>
                </xhtml:tr>
            </xforms:group>
        </xhtml:table>
        <xhtml:p>
            Status: <xforms:output ref="instance('status')/message"/>
        </xhtml:p>
        <xforms:trigger>
            <xforms:label>Refresh</xforms:label>
            <xforms:action ev:event="DOMActivate">
                <xforms:send submission="get-submission"/>
                <xforms:setvalue ref="instance('status')/message">Read records</xforms:setvalue>
            </xforms:action>
        </xforms:trigger>

        <widget:xforms-instance-inspector xmlns:widget="http://orbeon.org/oxf/xml/widget"/>
    </xhtml:body><commit_msg>Workaround for IE CSS issue with border collapse (border at the bottom of the table not showing)<commit_after><!--
    Copyright (C) 2005 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
-->
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"
      xmlns:xforms="http://www.w3.org/2002/xforms"
      xmlns:ev="http://www.w3.org/2001/xml-events"
      xmlns:xi="http://www.w3.org/2001/XInclude">
    <xhtml:head>
        <xhtml:title>SQL Address Book</xhtml:title>
        <xforms:model>
            <xforms:instance id="main">
                <dummy/>
            </xforms:instance>
            <xforms:instance id="add-instance">
                <form>
                    <first/>
                    <last/>
                    <phone/>
                </form>
            </xforms:instance>
            <xforms:instance id="delete-instance">
                <form>
                    <id/>
                </form>
            </xforms:instance>
            <xforms:instance id="refresh-instance">
                <form/>
            </xforms:instance>
            <xforms:instance id="status">
                <status>
                    <message>Read records</message>
                </status>
            </xforms:instance>
            <xforms:submission id="get-submission" ref="instance('main')" replace="instance" method="post" action="/xforms-sql-address-book/get"/>
            <xforms:submission id="add-submission" ref="instance('add-instance')" replace="none" instance="main" method="post" action="/xforms-sql-address-book/add"/>
            <xforms:submission id="delete-submission" ref="instance('delete-instance')" replace="none" instance="main" method="post" action="/xforms-sql-address-book/delete"/>
            <xforms:send submission="get-submission" ev:event="xforms-ready"/>
        </xforms:model>
    </xhtml:head>
    <xhtml:body>
        <xhtml:table class="gridtable">
            <xhtml:tr>
                <xhtml:th>First Name</xhtml:th>
                <xhtml:th>Last Name</xhtml:th>
                <xhtml:th>Phone Number</xhtml:th>
                <xhtml:th>Action</xhtml:th>
            </xhtml:tr>
            <xforms:repeat nodeset="friend" id="friendsRepeat">
                <xhtml:tr>
                    <xhtml:td>
                        <xforms:output ref="first"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:output ref="last"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:output ref="phone"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:trigger>
                            <xforms:label>Remove</xforms:label>
                            <xforms:action ev:event="DOMActivate">
                                <xforms:setvalue ref="instance('delete-instance')/id" value="instance('main')/friend[index('friendsRepeat')]/id"/>
                                <xforms:send submission="delete-submission"/>
                                <xforms:send submission="get-submission"/>
                                <xforms:setvalue ref="instance('status')/message">Deleted record</xforms:setvalue>
                            </xforms:action>
                        </xforms:trigger>
                    </xhtml:td>
                </xhtml:tr>
            </xforms:repeat>
            <xforms:group ref="instance('add-instance')">
                <xhtml:tr>
                    <xhtml:td>
                        <xforms:input ref="first"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:input ref="last"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:input ref="phone"/>
                    </xhtml:td>
                    <xhtml:td>
                        <xforms:trigger>
                            <xforms:label>Add</xforms:label>
                            <xforms:action ev:event="DOMActivate">
                                <xforms:send submission="add-submission"/>
                                <xforms:send submission="get-submission"/>
                                <xforms:setvalue ref="instance('status')/message">Added record</xforms:setvalue>
                                <xforms:setvalue ref="first"/>
                                <xforms:setvalue ref="last"/>
                                <xforms:setvalue ref="phone"/>
                            </xforms:action>
                        </xforms:trigger>
                    </xhtml:td>
                </xhtml:tr>
            </xforms:group>
            <!-- Workaround for IE CSS issue with border collapse (border at the bottom of the table not showing) -->
            <xhtml:tr/>
        </xhtml:table>
        <xhtml:p>
            Status: <xforms:output ref="instance('status')/message"/>
        </xhtml:p>
        <xforms:trigger>
            <xforms:label>Refresh</xforms:label>
            <xforms:action ev:event="DOMActivate">
                <xforms:send submission="get-submission"/>
                <xforms:setvalue ref="instance('status')/message">Read records</xforms:setvalue>
            </xforms:action>
        </xforms:trigger>

        <widget:xforms-instance-inspector xmlns:widget="http://orbeon.org/oxf/xml/widget"/>
    </xhtml:body>
{'fraction_non_alphanumeric': 0.12871287128712872, 'fraction_numerical': 0.004476969436074042, 'mean_word_length': 1.4820512820512821, 'pattern_counts': {'":': 0, '<': 239, '<?xml version=': 0, '>': 239, 'https://': 0, 'lorem ipsum': 0, 'www.': 10, 'xml': 14}, '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': '4436828', 'n_tokens_mistral': 3211, 'n_tokens_neox': 2948, 'n_words': 567}