<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <define name="its-version.type">
    <a:documentation>Version of ITS</a:documentation>
    <data type="string">
      <param name="pattern">[0-9]+\.[0-9]+</param>
    </data>
  </define>
  <define name="its-queryLanguage.type">
    <a:documentation>The query language to be used for processing the rules</a:documentation>
    <choice>
      <value>xpath</value>
      <value>css</value>
      <text/>
    </choice>
  </define>
  <define name="its-absolute-selector.type">
    <data type="string" datatypeLibrary="">
      <a:documentation>Absolute selector</a:documentation>
    </data>
  </define>
  <define name="its-relative-selector.type">
    <data type="string" datatypeLibrary="">
      <a:documentation>Relative selector</a:documentation>
    </data>
  </define>
  <define name="its-xpath-expression.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-confidence.type">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">1</param>
    </data>
  </define>
  <define name="its-translate.type">
    <a:documentation>The Translate data category information to be attached to the current node</a:documentation>
    <choice>
      <value>yes</value>
      <a:documentation>The nodes need to be translated</a:documentation>
      <value>no</value>
      <a:documentation>The nodes must not be translated</a:documentation>
    </choice>
  </define>
  <define name="its-locNote.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-locNoteType.type">
    <a:documentation>The type of localization note</a:documentation>
    <choice>
      <value>alert</value>
      <a:documentation>Localization note is an alert</a:documentation>
      <value>description</value>
      <a:documentation>Localization note is a description</a:documentation>
    </choice>
  </define>
  <define name="its-locNoteRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-termInfoRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-term.type">
    <a:documentation>Indicates a term locally</a:documentation>
    <choice>
      <value>yes</value>
      <a:documentation>The value 'yes' means that this is a term</a:documentation>
      <value>no</value>
      <a:documentation>The value 'no' means that this is not a term</a:documentation>
    </choice>
  </define>
  <define name="its-termConfidence.type">
    <ref name="its-confidence.type"/>
  </define>
  <define name="its-dir.type">
    <a:documentation>The text direction for the context</a:documentation>
    <choice>
      <value>ltr</value>
      <a:documentation>Left-to-right text</a:documentation>
      <value>rtl</value>
      <a:documentation>Right-to-left text</a:documentation>
      <value>lro</value>
      <a:documentation>Left-to-right override</a:documentation>
      <value>rlo</value>
      <a:documentation>Right-to-left override</a:documentation>
    </choice>
  </define>
  <define name="its-withinText.type">
    <a:documentation>States whether current context is regarded as "within text"</a:documentation>
    <choice>
      <value>yes</value>
      <a:documentation>The element and its content are part of the flow of its parent element</a:documentation>
      <value>no</value>
      <a:documentation>The element splits the text flow of its parent element and its content is an independent text flow</a:documentation>
      <value>nested</value>
      <a:documentation>The element is part of the flow of its parent element, its content is an independent flow</a:documentation>
    </choice>
  </define>
  <define name="its-domainMapping.type">
    <a:documentation>A comma separated list of mappings between values in the content
and workflow specific values. The values may contain spaces; in
that case they MUST be delimited by quotation marks.</a:documentation>
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-taConfidence.type">
    <ref name="its-confidence.type"/>
  </define>
  <define name="its-taClassPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-taClassRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-taClassRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-taIdentRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-taIdent.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-taSource.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-taIdentPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-taIdentRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-taSourcePointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-localeFilterList.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-localeFilterType.type">
    <choice>
      <value>include</value>
      <value>exclude</value>
    </choice>
  </define>
  <define name="its-provenanceRecordsRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-person.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-personRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-org.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-orgRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-tool.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-toolRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-revPerson.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-revPersonRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-revOrg.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-revOrgRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-revTool.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-revToolRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-provRef.type">
    <list>
      <oneOrMore>
        <data type="anyURI"/>
      </oneOrMore>
    </list>
  </define>
  <define name="its-externalResourceRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-targetPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-idValue.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-space.type">
    <choice>
      <value>default</value>
      <value>preserve</value>
    </choice>
  </define>
  <define name="its-locQualityIssuesRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-locQualityIssuesRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueType.type">
    <choice>
      <value>terminology</value>
      <value>mistranslation</value>
      <value>omission</value>
      <value>untranslated</value>
      <value>addition</value>
      <value>duplication</value>
      <value>inconsistency</value>
      <value>grammar</value>
      <value>legal</value>
      <value>register</value>
      <value>locale-specific-content</value>
      <value>locale-violation</value>
      <value>style</value>
      <value>characters</value>
      <value>misspelling</value>
      <value>typographical</value>
      <value>formatting</value>
      <value>inconsistent-entities</value>
      <value>numbers</value>
      <value>markup</value>
      <value>pattern-problem</value>
      <value>whitespace</value>
      <value>internationalization</value>
      <value>length</value>
      <value>non-conformance</value>
      <value>uncategorized</value>
      <value>other</value>
    </choice>
  </define>
  <define name="its-locQualityIssueTypePointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueComment.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-locQualityIssueCommentPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueSeverity.type">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">100</param>
    </data>
  </define>
  <define name="its-locQualityIssueSeverityPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueProfileRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-locQualityIssueProfileRefPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-locQualityIssueEnabled.type">
    <choice>
      <value>yes</value>
      <value>no</value>
    </choice>
  </define>
  <define name="its-locQualityRatingScore.type">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">100</param>
    </data>
  </define>
  <define name="its-locQualityRatingVote.type">
    <data type="integer"/>
  </define>
  <define name="its-locQualityRatingScoreThreshold.type">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">100</param>
    </data>
  </define>
  <define name="its-locQualityRatingVoteThreshold.type">
    <data type="integer"/>
  </define>
  <define name="its-locQualityRatingProfileRef.type">
    <data type="anyURI"/>
  </define>
  <define name="its-mtConfidence.type">
    <ref name="its-confidence.type"/>
  </define>
  <define name="its-allowedCharacters.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-allowedCharactersPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-storageSize.type">
    <data type="nonNegativeInteger"/>
  </define>
  <define name="its-storageSizePointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-storageEncoding.type">
    <data type="string" datatypeLibrary=""/>
  </define>
  <define name="its-storageEncodingPointer.type">
    <ref name="its-relative-selector.type"/>
  </define>
  <define name="its-lineBreakType.type">
    <choice>
      <value>cr</value>
      <value>lf</value>
      <value>crlf</value>
    </choice>
  </define>
  <define name="its-annotatorsRef.type">
    <data type="string" datatypeLibrary=""/>
  </define>
</grammar>
