Fix OpenSearch Geo regexes
This commit is contained in:
parent
0e97f128eb
commit
4260c96d58
|
@ -55,24 +55,22 @@ This file was derived from the OpenSearch Geo Extension 1.0 Draft 2 at
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
<!--
|
<!--
|
||||||
XSD does not support defining reusable groups in regexes, so this uses some "manual variable expansion":
|
XSD does not support defining reusable groups in regexes, so this uses some "manual variable expansion":
|
||||||
number: [+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)
|
number: [+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?
|
||||||
non_empty_point: \(\s*number\s+number\s*\)
|
non_empty_point: number\s+number
|
||||||
point: [Pp][Oo][Ii][Nn][Tt]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|non_empty_point)
|
point: [Pp][Oo][Ii][Nn][Tt]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*non_empty_point\s*\))
|
||||||
point_text: (?:[Ee][Mm][Pp][Tt][Yy]|non_empty_point)
|
point_text: (?:[Ee][Mm][Pp][Tt][Yy]|\(\s*non_empty_point\s*\))
|
||||||
linestring: [Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:non_empty_point\s*,\s*)*non_empty_point\s*\))
|
linestring: [Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:non_empty_point\s*,\s*)*non_empty_point\s*\))
|
||||||
linestring_text: (?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:non_empty_point\s*,\s*)*non_empty_point\s*\))
|
linestring_text: (?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:non_empty_point\s*,\s*)*non_empty_point\s*\))
|
||||||
polygon: [Pp][Oo][Ll][Yy][Gg][Oo][Nn]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:linestring_text\s*,\s*)*linestring_text\s*\))
|
polygon_or_multilinestring: (?:[Pp][Oo][Ll][Yy][Gg][Oo][Nn]|[Mm][Uu][Ll][Tt][Ii][Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg])\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:linestring_text\s*,\s*)*linestring_text\s*\))
|
||||||
polygon_text: (?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:linestring_text\s*,\s*)*linestring_text\s*\))
|
polygon_text: (?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:linestring_text\s*,\s*)*linestring_text\s*\))
|
||||||
multipoint: [Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ii][Nn][Tt]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:point_text\s*,\s*)*point_text\s*\))
|
multipoint: [Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ii][Nn][Tt]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:point_text\s*,\s*)*point_text\s*\))
|
||||||
multilinestring: [Mm][Uu][Ll][Tt][Ii][Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:linestring_text\s*,\s*)*linestring_text\s*\))
|
|
||||||
multipolygon: [Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ll][Yy][Gg][Oo][Nn]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:polygon_text\s*,\s*)*polygon_text\s*\))
|
multipolygon: [Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ll][Yy][Gg][Oo][Nn]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:polygon_text\s*,\s*)*polygon_text\s*\))
|
||||||
-->
|
-->
|
||||||
<xs:pattern value="[Pp][Oo][Ii][Nn][Tt]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\))" />
|
<xs:pattern value="[Pp][Oo][Ii][Nn][Tt]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))" />
|
||||||
<xs:pattern value="[Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))" />
|
<xs:pattern value="[Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*,\s*)*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))" />
|
||||||
<xs:pattern value="[Pp][Oo][Ll][Yy][Gg][Oo][Nn]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))\s*\))" />
|
<xs:pattern value="(?:[Pp][Oo][Ll][Yy][Gg][Oo][Nn]|[Mm][Uu][Ll][Tt][Ii][Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg])\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*,\s*)*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*,\s*)*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))\s*\))" />
|
||||||
<xs:pattern value="[Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ii][Nn][Tt]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\))\s*\))" />
|
<xs:pattern value="[Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ii][Nn][Tt]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))\s*\))" />
|
||||||
<xs:pattern value="[Mm][Uu][Ll][Tt][Ii][Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))\s*\))" />
|
<xs:pattern value="[Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ll][Yy][Gg][Oo][Nn]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*,\s*)*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*,\s*)*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*,\s*)*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*,\s*)*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?\s*\))\s*\))\s*\))" />
|
||||||
<xs:pattern value="[Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ll][Yy][Gg][Oo][Nn]\s*(?:\s+[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))\s*,\s*)*(?:[Ee][Mm][Pp][Tt][Yy]|\(\s*(?:\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*,\s*)*\(\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)\s*\)\s*\))\s*\))\s*\))" />
|
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user