summaryrefslogtreecommitdiffstats
path: root/JLanguageTool/src/rules/pattern.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'JLanguageTool/src/rules/pattern.xsd')
-rw-r--r--JLanguageTool/src/rules/pattern.xsd287
1 files changed, 287 insertions, 0 deletions
diff --git a/JLanguageTool/src/rules/pattern.xsd b/JLanguageTool/src/rules/pattern.xsd
new file mode 100644
index 0000000..c2451fa
--- /dev/null
+++ b/JLanguageTool/src/rules/pattern.xsd
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+<!--
+ * LanguageTool, a natural language style checker
+ * Copyright (c) Marcin MiƂkowski, 2010 (http://www.languagetool.org)
+ *
+ * This library 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 library 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+ * USA
+
+ Schema for patterns: used in grammar rules and in disambiguator rules
+ -->
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> Unification declarations
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="unification">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="equivalence" minOccurs="1" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="feature" type="xs:ID" use="required" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="equivalence">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="token"/>
+ </xs:sequence>
+ <xs:attribute name="type" type="xs:ID" use="required" />
+ </xs:complexType>
+ </xs:element>
+
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> Phrase-related vocabulary
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> Phrase definitions
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="phrases">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="phrase" minOccurs="1" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> individual phrase
+ definition </xs:documentation>
+ </xs:annotation>
+ <xs:element name="phrase">
+ <xs:complexType>
+ <xs:choice minOccurs="1" maxOccurs="unbounded">
+ <xs:element ref="unify" />
+ <xs:element ref="and" />
+ <xs:element ref="token" />
+ <xs:element ref="includephrases" />
+ </xs:choice>
+ <xs:attribute name="id" type="xs:ID" use="required" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> OR operator for phrases
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="includephrases">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="phraseref" minOccurs='1' maxOccurs='unbounded' />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> element that points to
+ the defined phrase </xs:documentation>
+ </xs:annotation>
+ <xs:element name="phraseref">
+ <xs:complexType>
+ <xs:attribute name="idref" type="xs:IDREF" use="required" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en">Reference to the pattern element.
+ Might be used in a suggestion or in the pattern.</xs:documentation>
+ </xs:annotation>
+ <xs:element name="match">
+ <xs:complexType mixed="true">
+ <xs:attribute name="regexp_match" type="xs:string" use="optional" />
+ <xs:attribute name="postag_regexp" type="binaryYesNo"
+ use="optional" default="no" />
+ <xs:attribute name="setpos" type="binaryYesNo" use="optional"
+ default="no" />
+ <xs:attribute name="case_conversion" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="startlower" />
+ <xs:enumeration value="startupper" />
+ <xs:enumeration value="allupper" />
+ <xs:enumeration value="alllower" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="regexp_replace" type="xs:string"
+ use="optional" />
+ <xs:attribute name="postag_replace" type="xs:string"
+ use="optional" />
+ <xs:attribute name="postag" type="xs:string" use="optional" />
+ <xs:attribute name="no" type="xs:nonNegativeInteger"
+ use="required" />
+ <xs:attribute name="include_skipped" type="includeSelector" use="optional"
+ default="none"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="token">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="exception" />
+ <xs:element ref="match" />
+ </xs:choice>
+ <xs:attribute name="postag_regexp" type="binaryYesNo"
+ use="optional" default="no" />
+ <xs:attribute name="inflected" type="binaryYesNo" use="optional"
+ default="no" />
+ <xs:attribute name="negate" type="binaryYesNo" use="optional"
+ default="no" />
+ <xs:attribute name="regexp" type="binaryYesNo" use="optional"
+ default="no" />
+ <xs:attribute name="spacebefore" use="optional" default="ignore">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="yes" />
+ <xs:enumeration value="no" />
+ <xs:enumeration value="ignore" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="postag" type="xs:token" use="optional" />
+ <xs:attribute name="skip" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="-1" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="negate_pos" type="binaryYesNo" use="optional"
+ default="no" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> Enables logical AND
+ between token elements. </xs:documentation>
+ </xs:annotation>
+ <xs:element name="and">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="token" minOccurs="2" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> Exception to the matched
+ token. </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="exception">
+ <xs:complexType mixed="true">
+ <xs:attribute name="postag_regexp" type="binaryYesNo" use="optional" default="no" />
+ <xs:attribute name="negate_pos" type="binaryYesNo" use="optional"
+ default="no" />
+ <xs:attribute name="postag" type="xs:string" use="optional" />
+ <xs:attribute name="spacebefore" use="optional" default="ignore">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="yes" />
+ <xs:enumeration value="no" />
+ <xs:enumeration value="ignore" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="inflected" type="binaryYesNo" use="optional"
+ default="no" />
+ <xs:attribute name="scope" use="optional" default="current">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="current" />
+ <xs:enumeration value="next" />
+ <xs:enumeration value="previous" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="regexp" type="binaryYesNo" use="optional"
+ default="no" />
+ <xs:attribute name="negate" type="binaryYesNo" use="optional"
+ default="no" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="unify">
+ <xs:complexType>
+ <xs:sequence minOccurs="1" maxOccurs="unbounded">
+ <xs:element ref="feature"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="and" />
+ <xs:element ref="token" />
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="negate" type="binaryYesNo" use="optional"
+ default="no" />
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="feature">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="type" />
+ </xs:choice>
+ <xs:attribute name="id" type="xs:IDREF" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="type">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:IDREF"/>
+ </xs:complexType>
+ </xs:element>
+
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> Helper type for binary
+ choices. </xs:documentation>
+ </xs:annotation>
+
+ <xs:simpleType name="binaryYesNo">
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="yes" />
+ <xs:enumeration value="no" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> Helper type for match[@include_skipped].
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:simpleType name="includeSelector">
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="all" />
+ <xs:enumeration value="following" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en"> Marks the matched part of
+ the example.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="marker">
+ <xs:complexType mixed="true" />
+ </xs:element>
+
+</xs:schema> \ No newline at end of file