<commit_before><?xml version="1.0" encoding="UTF-8"?>
<!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more contributor license agreements. See the NOTICE file ~ distributed with this work for additional information 
    ~ regarding copyright ownership. The ASF licenses this file ~ to you under the Apache License, Version 2.0 (the ~ "License"); you may not use this file except in compliance ~ with the 
    License. You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed 
    under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for the specific language governing 
    permissions and ~ limitations under the License. -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="uri:ivory:process:0.1" xmlns="uri:ivory:process:0.1"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1">
    <xs:annotation>
        <xs:documentation>
            Licensed to the Apache Software Foundation (ASF) under one or more
            contributor license agreements. See the NOTICE file distributed with
            this work for
            additional information regarding copyright ownership.
            The ASF licenses this file to You under the Apache License, Version
            2.0
            (the "License"); you may not use this file
            except in compliance with
            the License. You may obtain a copy of the License at

            http://www.apache.org/licenses/LICENSE-2.0

            Unless required by applicable law or agreed to in
            writing, software
            distributed under the License is distributed on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
            implied.
            See the License
            for the specific language governing permissions and
            limitations under the License.
        </xs:documentation>
        <xs:appinfo>
            <jaxb:schemaBindings>
                <jaxb:package name="org.apache.ivory.entity.v0.process" />
            </jaxb:schemaBindings>
        </xs:appinfo>
    </xs:annotation>

    <xs:element name="process" type="process">
        <xs:annotation>
            <xs:documentation>
                Licensed to the Apache Software Foundation (ASF) under one
                or more contributor license agreements. See the NOTICE file
                distributed with this work for
                additional information
                regarding copyright ownership. The ASF licenses this file
                to you under the Apache License, Version 2.0 (the
                "License"); you may not use this
                file except in compliance
                with the License. You may obtain a copy of the License at

                http://www.apache.org/licenses/LICENSE-2.0

                Unless required by applicable law or
                agreed to in writing, software
                distributed under the License is distributed on an "AS IS" BASIS,
                WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
                implied.
                See the License for the specific language governing permissions and
                limitations under the License.

                A process defines configuration for the workflow job like
                frequency of the workflow, inputs and outputs for the workflow, how to
                handle workflow failures, how to handle data that comes late and so on.
            </xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="process">
        <xs:sequence>
            <xs:element type="clusters" name="clusters">
                <xs:annotation>
                    <xs:documentation>Defines the clusters where the workflow should run
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="parallel">
                <xs:annotation>
                    <xs:documentation>Defines how many workflow instances can run concurrently
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:unsignedShort">
                        <xs:minInclusive value="1" />
                        <xs:maxInclusive value="12" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element type="execution-type" name="order">
                <xs:annotation>
                    <xs:documentation>Defines the order in which ready workflow instances should run
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="frequency-type" name="timeout" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Defines time after which instances will no longer be executed
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="frequency-type" name="frequency">
                <xs:annotation>
                    <xs:documentation>Defines workflow frequency
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="timezone" minOccurs="0" default="UTC">
                <xs:simpleType>
                    <xs:annotation>
                        <xs:appinfo>
                            <jaxb:javaType name="java.util.TimeZone" parseMethod="java.util.TimeZone.getTimeZone" 
                                        printMethod="org.apache.ivory.entity.v0.SchemaHelper.getTimeZoneId" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:restriction base="xs:string" />
                </xs:simpleType>
            </xs:element>
            <xs:element type="inputs" name="inputs" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Defines inputs for the workflow. The workflow will run only when the scheduled time is up and all the inputs are available
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="outputs" name="outputs" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Defines outputs of the workflow
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="properties" name="properties" minOccurs="0">
            </xs:element>
            <xs:element type="workflow" name="workflow">
                <xs:annotation>
                    <xs:documentation>Defines the workflow that should run. The workflow should be defined with respect to the workflow specification of the workflow engine.
                        Only
                        oozie workflow engine is supported as of now. The workflow path is the path on hdfs which contains the workflow xml
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="retry" name="retry" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Retry defines how to handle workflow failures. Policy type - backoff, exponention backoff along with the delay define how frequenctly
                        the
                        workflow should be re-tried. Number of attempts define how many times to re-try the failures.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="late-process" name="late-process" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Late process defines how the late data should be handled. Late policy - backoff, exponential backoff, final along with delay
                        define how
                        frequently Ivory should check for late data. The late data handling can be customized for each input separatly.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute type="IDENTIFIER" name="name" use="required" />
    </xs:complexType>

    <xs:simpleType name="IDENTIFIER">
        <xs:restriction base="xs:string">
            <xs:pattern value="([a-zA-Z]([\-a-zA-Z0-9])*){1,39})" />
        </xs:restriction><commit_msg>Corrected regular expression for IDENTIFIER<commit_after><?xml version="1.0" encoding="UTF-8"?>
<!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more contributor license agreements. See the NOTICE file ~ distributed with this work for additional information 
    ~ regarding copyright ownership. The ASF licenses this file ~ to you under the Apache License, Version 2.0 (the ~ "License"); you may not use this file except in compliance ~ with the 
    License. You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed 
    under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for the specific language governing 
    permissions and ~ limitations under the License. -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="uri:ivory:process:0.1" xmlns="uri:ivory:process:0.1"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1">
    <xs:annotation>
        <xs:documentation>
            Licensed to the Apache Software Foundation (ASF) under one or more
            contributor license agreements. See the NOTICE file distributed with
            this work for
            additional information regarding copyright ownership.
            The ASF licenses this file to You under the Apache License, Version
            2.0
            (the "License"); you may not use this file
            except in compliance with
            the License. You may obtain a copy of the License at

            http://www.apache.org/licenses/LICENSE-2.0

            Unless required by applicable law or agreed to in
            writing, software
            distributed under the License is distributed on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
            implied.
            See the License
            for the specific language governing permissions and
            limitations under the License.
        </xs:documentation>
        <xs:appinfo>
            <jaxb:schemaBindings>
                <jaxb:package name="org.apache.ivory.entity.v0.process" />
            </jaxb:schemaBindings>
        </xs:appinfo>
    </xs:annotation>

    <xs:element name="process" type="process">
        <xs:annotation>
            <xs:documentation>
                Licensed to the Apache Software Foundation (ASF) under one
                or more contributor license agreements. See the NOTICE file
                distributed with this work for
                additional information
                regarding copyright ownership. The ASF licenses this file
                to you under the Apache License, Version 2.0 (the
                "License"); you may not use this
                file except in compliance
                with the License. You may obtain a copy of the License at

                http://www.apache.org/licenses/LICENSE-2.0

                Unless required by applicable law or
                agreed to in writing, software
                distributed under the License is distributed on an "AS IS" BASIS,
                WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
                implied.
                See the License for the specific language governing permissions and
                limitations under the License.

                A process defines configuration for the workflow job like
                frequency of the workflow, inputs and outputs for the workflow, how to
                handle workflow failures, how to handle data that comes late and so on.
            </xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="process">
        <xs:sequence>
            <xs:element type="clusters" name="clusters">
                <xs:annotation>
                    <xs:documentation>Defines the clusters where the workflow should run
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="parallel">
                <xs:annotation>
                    <xs:documentation>Defines how many workflow instances can run concurrently
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:unsignedShort">
                        <xs:minInclusive value="1" />
                        <xs:maxInclusive value="12" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element type="execution-type" name="order">
                <xs:annotation>
                    <xs:documentation>Defines the order in which ready workflow instances should run
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="frequency-type" name="timeout" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Defines time after which instances will no longer be executed
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="frequency-type" name="frequency">
                <xs:annotation>
                    <xs:documentation>Defines workflow frequency
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="timezone" minOccurs="0" default="UTC">
                <xs:simpleType>
                    <xs:annotation>
                        <xs:appinfo>
                            <jaxb:javaType name="java.util.TimeZone" parseMethod="java.util.TimeZone.getTimeZone" 
                                        printMethod="org.apache.ivory.entity.v0.SchemaHelper.getTimeZoneId" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:restriction base="xs:string" />
                </xs:simpleType>
            </xs:element>
            <xs:element type="inputs" name="inputs" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Defines inputs for the workflow. The workflow will run only when the scheduled time is up and all the inputs are available
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="outputs" name="outputs" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Defines outputs of the workflow
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="properties" name="properties" minOccurs="0">
            </xs:element>
            <xs:element type="workflow" name="workflow">
                <xs:annotation>
                    <xs:documentation>Defines the workflow that should run. The workflow should be defined with respect to the workflow specification of the workflow engine.
                        Only
                        oozie workflow engine is supported as of now. The workflow path is the path on hdfs which contains the workflow xml
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="retry" name="retry" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Retry defines how to handle workflow failures. Policy type - backoff, exponention backoff along with the delay define how frequenctly
                        the
                        workflow should be re-tried. Number of attempts define how many times to re-try the failures.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element type="late-process" name="late-process" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Late process defines how the late data should be handled. Late policy - backoff, exponential backoff, final along with delay
                        define how
                        frequently Ivory should check for late data. The late data handling can be customized for each input separatly.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute type="IDENTIFIER" name="name" use="required" />
    </xs:complexType>

    <xs:simpleType name="IDENTIFIER">
        <xs:restriction base="xs:string">
            <xs:pattern value="(([a-zA-Z]([\-a-zA-Z0-9])*){1,39})" />
        </xs:restriction>
{'fraction_non_alphanumeric': 0.0841355739105668, 'fraction_numerical': 0.0048988892053546, 'mean_word_length': 1.8031294906594284, 'pattern_counts': {'":': 0, '<': 213, '<?xml version=': 2, '>': 213, 'https://': 0, 'lorem ipsum': 0, 'www.': 8, 'xml': 12}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4926685', 'n_tokens_mistral': 4252, 'n_tokens_neox': 3958, 'n_words': 1409}