pub const DMN_3_1111: &str = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<definitions namespace=\"https://dsntk.io/spec/DMN/1111-feel-matches-function\"\n name=\"1111-feel-matches-function\"\n id=\"_1111-feel-matches-function\"\n xmlns=\"https://www.omg.org/spec/DMN/20211108/MODEL/\">\n\n <description>\n Examples of FEEL built-in function `matches(input, pattern, flags?)` in category string functions.\n </description>\n\n <itemDefinition name=\"booleanList\" isCollection=\"true\">\n <typeRef>boolean</typeRef>\n </itemDefinition>\n\n <decision name=\"decision001\">\n <description>Evaluates `matches` function with null input.</description>\n <question>What is the result of FEEL expression \'matches(null, \"pattern\")\'?</question>\n <allowedAnswers>null (boolean)</allowedAnswers>\n <variable typeRef=\"boolean\" name=\"decision001\"/>\n <literalExpression>\n <text>matches(null, \"pattern\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"decision002\">\n <description>Evaluates `matches` function with null pattern.</description>\n <question>What is the result of FEEL expression \'matches(\"input\", null)\'?</question>\n <allowedAnswers>null (boolean)</allowedAnswers>\n <variable typeRef=\"boolean\" name=\"decision002\"/>\n <literalExpression>\n <text>matches(\"input\", null)</text>\n </literalExpression>\n </decision>\n\n <decision name=\"decision003\">\n <description>Evaluates `matches` function with null flags.</description>\n <question>What is the result of FEEL expression \'matches(\"abracadabra\", \"bra\", null)\'?</question>\n <allowedAnswers>true (boolean)</allowedAnswers>\n <variable typeRef=\"boolean\" name=\"decision003\"/>\n <literalExpression>\n <text>matches(\"abracadabra\", \"bra\", null)</text>\n </literalExpression>\n </decision>\n\n <decision name=\"fn-matches2args-1\">\n <description>Evaluates \"matches\" function with the arguments set as follows: $input = xs:string(lower bound) $pattern = xs:string(lower bound)</description>\n <variable typeRef=\"boolean\" name=\"fn-matches2args-1\"/>\n <literalExpression>\n <text>matches(\"This is a characte\",\"This is a characte\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"fn-matchesErr-1\">\n <description>Invalid flag for third argument of matches.</description>\n <variable typeRef=\"boolean\" name=\"fn-matchesErr-1\"/>\n <literalExpression>\n <text>matches(\"abracadabra\", \"bra\", \"p\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"fn-matches-27\">\n <description>Check for the correct behavior of ^ and $ in multi-line mode This test case was motivated by the resolution of Bug Report 4543</description>\n <variable typeRef=\"boolean\" name=\"fn-matches-27\"/>\n <literalExpression>\n <text>matches(\"\\nabcd\\ndefg\\n\", \"^$\", \"m\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"fn-matches-28\">\n <description>Check for the correct behavior of ^ and $ in multi-line mode This test case was motivated by the resolution of Bug Report 4543</description>\n <variable typeRef=\"boolean\" name=\"fn-matches-28\"/>\n <literalExpression>\n <text>matches(\"abcd\\n\\ndefg\\n \", \"^$\", \"m\")</text>\n </literalExpression>\n </decision>\n\n <!--\n <decision name=\"fn-matches-32\">\n <description> Evaluation of matches function with \"q\" flag (allowed in XQuery 3.0) </description>\n <variable typeRef=\"boolean\" name=\"fn-matches-32\"/>\n <literalExpression>\n <text>matches(\"abracadabra\", \"(?:abra(?:cad)?)*\", \"q\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"fn-matches-33\">\n <description> Evaluation of matches function with \"q\" flag (allowed in XQuery 3.0) </description>\n <variable typeRef=\"boolean\" name=\"fn-matches-33\"/>\n <literalExpression>\n <text>matches(\"x[y-z]\", \"x[y-z]\", \"q\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"fn-matches-34\">\n <description> Evaluation of matches function with \"q\" and \"i\" flags (allowed in XQuery 3.0) </description>\n <variable typeRef=\"boolean\" name=\"fn-matches-34\"/>\n <literalExpression>\n <text>matches(\"x[Y-z]\", \"X[y-Z]\", \"qi\")</text>\n </literalExpression>\n </decision>\n -->\n\n <decision name=\"fn-matches-45\">\n <description>\".\" does NOT match CR in default mode</description>\n <variable typeRef=\"boolean\" name=\"fn-matches-45\"/>\n <literalExpression>\n <text>matches(\"Mary\\u000DJones\", \"Mary.Jones\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch01\">\n <description>Simple call of matches() with \"i\" flag</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch01\"/>\n <literalExpression>\n <text>matches(\"abc\", \"ABC\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch02\">\n <description>Call of matches() with \"i\" flag and a character range</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch02\"/>\n <literalExpression>\n <text>matches(\"abZ\", \"[A-Z]*\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch03\">\n <description>Call of matches() with \"i\" flag and a character range</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch03\"/>\n <literalExpression>\n <text>matches(\"abZ\", \"[a-z]*\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch07\">\n <description>Call of matches() with \"i\" flag and Kelvin sign Kelvin sign</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch07\"/>\n <literalExpression>\n <text>matches(\"\\u212A\", \"k\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch08\">\n <description>Call of matches() with \"i\" flag and range subtraction</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch08\"/>\n <literalExpression>\n <text>matches(\"x\", \"[A-Z-[OI]]\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch09\">\n <description>Call of matches() with \"i\" flag and range subtraction</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch09\"/>\n <literalExpression>\n <text>matches(\"X\", \"[A-Z-[OI]]\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch10\">\n <description>Call of matches() with \"i\" flag and range subtraction</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch10\"/>\n <literalExpression>\n <text>matches(\"O\", \"[A-Z-[OI]]\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch11\">\n <description>Call of matches() with \"i\" flag and range subtraction</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch11\"/>\n <literalExpression>\n <text>matches(\"i\", \"[A-Z-[OI]]\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch12\">\n <description>Call of matches() with \"i\" flag and negation</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch12\"/>\n <literalExpression>\n <text>matches(\"Q\", \"[^Q]\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"caselessmatch13\">\n <description>Call of matches() with \"i\" flag and negation</description>\n <variable typeRef=\"boolean\" name=\"caselessmatch13\"/>\n <literalExpression>\n <text>matches(\"q\", \"[^Q]\", \"i\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K-MatchesFunc-1\">\n <description>The pattern can\'t be the empty sequence.</description>\n <variable typeRef=\"boolean\" name=\"K-MatchesFunc-1\"/>\n <literalExpression>\n <text>matches(\"input\", [])</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K-MatchesFunc-2\">\n <description>matches() takes at least two arguments, not one.</description>\n <variable typeRef=\"boolean\" name=\"K-MatchesFunc-2\"/>\n <literalExpression>\n <text>matches(\"input\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K-MatchesFunc-3\">\n <description>The third argument cannot be the empty sequence.</description>\n <variable typeRef=\"boolean\" name=\"K-MatchesFunc-3\"/>\n <literalExpression>\n <text>matches(\"input\", \"pattern\", [])</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K-MatchesFunc-4\">\n <description>Only three arguments are accepted.</description>\n <variable typeRef=\"boolean\" name=\"K-MatchesFunc-4\"/>\n <literalExpression>\n <text>matches(\"input\", \"pattern\", \"\", [])</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K-MatchesFunc-5\">\n <description>The flags argument cannot contain whitespace.</description>\n <variable typeRef=\"boolean\" name=\"K-MatchesFunc-5\"/>\n <literalExpression>\n <text>matches(\"input\", \"pattern\", \" \")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K-MatchesFunc-6\">\n <description>The flags argument cannot contain \'X\'.</description>\n <variable typeRef=\"boolean\" name=\"K-MatchesFunc-6\"/>\n <literalExpression>\n <text>matches(\"input\", \"pattern\", \"X\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-1\">\n <description>Whitespace in the regexp is collapsed.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-1\"/>\n <literalExpression>\n <text>matches(\"hello world\", \"hello\\ sworld\", \"x\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-2\">\n <description>Whitespace(before) in the regexp is collapsed, but not inside a character class.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-2\"/>\n <literalExpression>\n <text>matches(\"hello world\", \" hello[ ]world\", \"x\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-3\">\n <description>Whitespace(after) in the regexp is collapsed, but not inside a character class.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-3\"/>\n <literalExpression>\n <text>matches(\"hello world\", \"hello[ ]world \", \"x\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-4\">\n <description>Whitespace(in the middle) in the regexp is collapsed, but not inside a character class.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-4\"/>\n <literalExpression>\n <text>matches(\"hello world\", \"he ll o[ ]worl d\", \"x\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-5\">\n <description>whitespace in the regexp is collapsed, and should therefore compile.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-5\"/>\n <literalExpression>\n <text>matches(\"hello world\", \"\\p{ IsBasicLatin}+\", \"x\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-6\">\n <description>whitespace in the regexp is collapsed completely, and should therefore compile and match.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-6\"/>\n <literalExpression>\n <text>matches(\"hello world\", \"\\p{ I s B a s i c L a t i n }+\", \"x\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-7\">\n <description>whitespace in the regexp is not collapsed, and should therefore not compile.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-7\"/>\n <literalExpression>\n <text>matches(\"hello world\", \"\\p{ IsBasicLatin}+\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-8\">\n <description>Since no string is captured by the back-reference, the single character is matched.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-8\"/>\n <literalExpression>\n <text>matches(\"h\", \"(.)\\3\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-9\">\n <description>Since no string is captured by the back-reference, the single character is matched(#2).</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-9\"/>\n <literalExpression>\n <text>matches(\"h\", \"(.)\\2\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-10\">\n <description>A non-matching backwards-reference matches the empty string.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-10\"/>\n <literalExpression>\n <text>matches(\"input\", \"\\3\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-11\">\n <description>Use a back reference inside a character class.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-11\"/>\n <literalExpression>\n <text>matches(\"abcd\", \"(asd)[\\1]\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-12\">\n <description>Use a back reference inside a character class(#2).</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-12\"/>\n <literalExpression>\n <text>matches(\"abcd\", \"(asd)[asd\\1]\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-13\">\n <description>Use a back reference inside a character class(#3).</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-13\"/>\n <literalExpression>\n <text>matches(\"abcd\", \"(asd)[asd\\0]\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-14\">\n <description>Use a back reference inside a character class(#3).</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-14\"/>\n <literalExpression>\n <text>matches(\"abcd\", \"1[asd\\0]\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-15\">\n <description>A negative character class never match a non-character.</description>\n <variable typeRef=\"booleanList\" name=\"K2-MatchesFunc-15\"/>\n <literalExpression>\n <text>[matches(\"a\", \"a[^b]\"), matches(\"a \", \"a[^b]\")]</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-16\">\n <description>Use a pattern whose interpretation is unknown. See public report 4466 and 21425.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-16\"/>\n <literalExpression>\n <text>matches(\"input\", \"[0-9-.]*/\")</text>\n </literalExpression>\n </decision>\n\n <decision name=\"K2-MatchesFunc-17\">\n <description>Caseless match with back-reference.</description>\n <variable typeRef=\"boolean\" name=\"K2-MatchesFunc-17\"/>\n <literalExpression>\n <text>matches(\"aA\", \"(a)(a)\", \"i\")</text>\n </literalExpression>\n </decision>\n\n</definitions>\n";