<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/11/its" xmlns:xlinkf="http://www.w3.org/1999/xlinkf" xmlns:its="http://www.w3.org/2005/11/its">
  <xs:import namespace="http://www.w3.org/1999/xlinkf" schemaLocation="xlinkf.xsd"/>
  <!-- Schema generated 2006-04-11T13:43:02+09:00 -->
  <xs:element name="rules">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="its:rules.content">
          <xs:attributeGroup ref="its:rules.attributes"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="rules.content">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" ref="its:ns"/>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="its:translateRule"/>
        <xs:element ref="its:locInfoRule"/>
        <xs:element ref="its:termRule"/>
        <xs:element ref="its:dirRule"/>
        <xs:element ref="its:rubyRule"/>
        <xs:element ref="its:langRule"/>
        <xs:element ref="its:withinTextRule"/>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>
  <xs:attributeGroup name="rules.attributes">
    <xs:attributeGroup ref="its:att.xlink.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.xlink.attributes">
    <xs:attributeGroup ref="its:att.xlink.attribute.href"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.xlink.attribute.href">
    <xs:attribute ref="xlinkf:href"/>
  </xs:attributeGroup>
  <xs:element name="ns">
    <xs:annotation>
      <xs:documentation>An element to describe namespace URIs and prefixes within XPath expressions in
                rules elements.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attributeGroup ref="its:ns.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="ns.attributes">
    <xs:attributeGroup ref="its:att.nsident.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.nsident.attributes">
    <xs:attributeGroup ref="its:att.nsident.attribute.prefix"/>
    <xs:attributeGroup ref="its:att.nsident.attribute.uri"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.nsident.attribute.prefix">
    <xs:attribute name="prefix" use="required" form="qualified" type="xs:NCName"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.nsident.attribute.uri">
    <xs:attribute name="uri" use="required" form="qualified" type="xs:anyURI"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.selector.attributes">
    <xs:attributeGroup ref="its:att.selector.attribute.selector"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.selector.attribute.selector">
    <xs:attribute name="selector" use="required"/>
  </xs:attributeGroup>
  <xs:element name="span">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="its:span.content">
          <xs:attributeGroup ref="its:span.attributes"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="span.content" mixed="true">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" ref="its:ruby"/>
    </xs:sequence>
  </xs:complexType>
  <xs:attributeGroup name="span.attributes">
    <xs:attributeGroup ref="its:att.translate.attributes"/>
    <xs:attributeGroup ref="its:att.locInfo.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.term.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:element name="translateRule">
    <xs:complexType>
      <xs:attributeGroup ref="its:translateRule.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="translateRule.attributes">
    <xs:attributeGroup ref="its:att.selector.attributes"/>
    <xs:attributeGroup ref="its:att.translate.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.translate.attributes">
    <xs:attributeGroup ref="its:att.translate.attribute.translate"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.translate.attribute.translate">
    <xs:attribute name="translate" form="qualified">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="yes"/>
          <xs:enumeration value="no"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:element name="locInfoRule">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="its:locInfoRule.content">
          <xs:attributeGroup ref="its:locInfoRule.attributes"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="locInfoRule.content">
    <xs:sequence>
      <xs:element minOccurs="0" ref="its:locInfo"/>
    </xs:sequence>
  </xs:complexType>
  <xs:attributeGroup name="locInfoRule.attributes">
    <xs:attributeGroup ref="its:att.selector.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoPointer.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRefPointer.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
  </xs:attributeGroup>
  <xs:element name="locInfo">
    <xs:complexType mixed="true">
      <xs:attributeGroup ref="its:locInfo.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="locInfo.attributes">
    <xs:attributeGroup ref="its:att.translate.attributes"/>
    <xs:attributeGroup ref="its:att.locInfo.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.term.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfo.attributes">
    <xs:attributeGroup ref="its:att.locInfo.attribute.locInfo"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfo.attribute.locInfo">
    <xs:attribute name="locInfo" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfoPointer.attributes">
    <xs:attributeGroup ref="its:att.locInfoPointer.attribute.locInfoPointer"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfoPointer.attribute.locInfoPointer">
    <xs:attribute name="locInfoPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfoType.attributes">
    <xs:attributeGroup ref="its:att.locInfoType.attribute.locInfoType"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfoType.attribute.locInfoType">
    <xs:attribute name="locInfoType" form="qualified">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="alert"/>
          <xs:enumeration value="description"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfoRef.attributes">
    <xs:attributeGroup ref="its:att.locInfoRef.attribute.locInfoRef"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfoRef.attribute.locInfoRef">
    <xs:attribute name="locInfoRef" form="qualified" type="xs:anyURI"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfoRefPointer.attributes">
    <xs:attributeGroup ref="its:att.locInfoRefPointer.attribute.locInfoRefPointer"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.locInfoRefPointer.attribute.locInfoRefPointer">
    <xs:attribute name="locInfoRefPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:element name="termRule">
    <xs:complexType>
      <xs:attributeGroup ref="its:termRule.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="termRule.attributes">
    <xs:attributeGroup ref="its:att.selector.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.termRefPointer.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.termRef.attributes">
    <xs:attributeGroup ref="its:att.termRef.attribute.termRef"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.termRef.attribute.termRef">
    <xs:attribute name="termRef" form="qualified" type="xs:anyURI"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.termRefPointer.attributes">
    <xs:attributeGroup ref="its:att.termRefPointer.attribute.termRefPointer"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.termRefPointer.attribute.termRefPointer">
    <xs:attribute name="termRefPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.term.attributes">
    <xs:attributeGroup ref="its:att.term.attribute.term"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.term.attribute.term">
    <xs:attribute name="term" form="qualified">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="yes"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:element name="dirRule">
    <xs:complexType>
      <xs:attributeGroup ref="its:dirRule.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="dirRule.attributes">
    <xs:attributeGroup ref="its:att.selector.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.dir.attributes">
    <xs:attributeGroup ref="its:att.dir.attribute.dir"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.dir.attribute.dir">
    <xs:attribute name="dir" form="qualified">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="ltr"/>
          <xs:enumeration value="rtl"/>
          <xs:enumeration value="lro"/>
          <xs:enumeration value="rlo"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:element name="rubyRule">
    <xs:complexType>
      <xs:attributeGroup ref="its:rubyRule.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="rubyRule.attributes">
    <xs:attributeGroup ref="its:att.selector.attributes"/>
    <xs:attributeGroup ref="its:att.rubyPointers.attributes"/>
    <xs:attributeGroup ref="its:att.rubyText.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyPointers.attributes">
    <xs:attributeGroup ref="its:att.rubyPointers.attribute.rubyPointer"/>
    <xs:attributeGroup ref="its:att.rubyPointers.attribute.rbPointer"/>
    <xs:attributeGroup ref="its:att.rubyPointers.attribute.rtPointer"/>
    <xs:attributeGroup ref="its:att.rubyPointers.attribute.rpPointer"/>
    <xs:attributeGroup ref="its:att.rubyPointers.attribute.rbcPointer"/>
    <xs:attributeGroup ref="its:att.rubyPointers.attribute.rtcPointer"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyPointers.attribute.rubyPointer">
    <xs:attribute name="rubyPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyPointers.attribute.rbPointer">
    <xs:attribute name="rbPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyPointers.attribute.rtPointer">
    <xs:attribute name="rtPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyPointers.attribute.rpPointer">
    <xs:attribute name="rpPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyPointers.attribute.rbcPointer">
    <xs:attribute name="rbcPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyPointers.attribute.rtcPointer">
    <xs:attribute name="rtcPointer" form="qualified"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyText.attributes">
    <xs:attributeGroup ref="its:att.rubyText.attribute.rubyText"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.rubyText.attribute.rubyText">
    <xs:attribute name="rubyText" form="qualified"/>
  </xs:attributeGroup>
  <xs:element name="ruby">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="its:ruby.content">
          <xs:attributeGroup ref="its:ruby.attributes"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ruby.content">
    <xs:choice>
      <xs:sequence>
        <xs:element ref="its:rb"/>
        <xs:choice>
          <xs:element ref="its:rt"/>
          <xs:sequence>
            <xs:element ref="its:rp"/>
            <xs:element ref="its:rt"/>
            <xs:element ref="its:rp"/>
          </xs:sequence>
        </xs:choice>
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="its:rbc"/>
        <xs:element ref="its:rtc"/>
        <xs:element minOccurs="0" ref="its:rtc"/>
      </xs:sequence>
    </xs:choice>
  </xs:complexType>
  <xs:attributeGroup name="ruby.attributes">
    <xs:attributeGroup ref="its:att.translate.attributes"/>
    <xs:attributeGroup ref="its:att.locInfo.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.term.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:element name="rb">
    <xs:complexType mixed="true">
      <xs:attributeGroup ref="its:rb.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="rb.attributes">
    <xs:attributeGroup ref="its:att.translate.attributes"/>
    <xs:attributeGroup ref="its:att.locInfo.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.term.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:element name="rt">
    <xs:complexType mixed="true">
      <xs:attributeGroup ref="its:rt.content"/>
      <xs:attributeGroup ref="its:rt.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="rt.content">
    <xs:attribute name="rbspan" use="required"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="rt.attributes">
    <xs:attributeGroup ref="its:att.translate.attributes"/>
    <xs:attributeGroup ref="its:att.locInfo.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.term.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:element name="rbc">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="its:rbc.content">
          <xs:attributeGroup ref="its:rbc.attributes"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="rbc.content">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" ref="its:rb"/>
    </xs:sequence>
  </xs:complexType>
  <xs:attributeGroup name="rbc.attributes">
    <xs:attributeGroup ref="its:att.translate.attributes"/>
    <xs:attributeGroup ref="its:att.locInfo.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.term.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:element name="rtc">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="its:rtc.content">
          <xs:attributeGroup ref="its:rtc.attributes"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="rtc.content">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" ref="its:rt"/>
    </xs:sequence>
  </xs:complexType>
  <xs:attributeGroup name="rtc.attributes">
    <xs:attributeGroup ref="its:att.translate.attributes"/>
    <xs:attributeGroup ref="its:att.locInfo.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.term.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:element name="rp">
    <xs:complexType mixed="true">
      <xs:attributeGroup ref="its:rp.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="rp.attributes">
    <xs:attributeGroup ref="its:att.translate.attributes"/>
    <xs:attributeGroup ref="its:att.locInfo.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoType.attributes"/>
    <xs:attributeGroup ref="its:att.locInfoRef.attributes"/>
    <xs:attributeGroup ref="its:att.term.attributes"/>
    <xs:attributeGroup ref="its:att.termRef.attributes"/>
    <xs:attributeGroup ref="its:att.dir.attributes"/>
  </xs:attributeGroup>
  <xs:element name="langRule">
    <xs:complexType>
      <xs:attributeGroup ref="its:langRule.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="langRule.attributes">
    <xs:attributeGroup ref="its:att.selector.attributes"/>
    <xs:attributeGroup ref="its:att.langPointer.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.langPointer.attributes">
    <xs:attributeGroup ref="its:att.langPointer.attribute.langPointer"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.langPointer.attribute.langPointer">
    <xs:attribute name="langPointer" use="required" form="qualified"/>
  </xs:attributeGroup>
  <xs:element name="withinTextRule">
    <xs:complexType>
      <xs:attributeGroup ref="its:withinTextRule.attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="withinTextRule.attributes">
    <xs:attributeGroup ref="its:att.selector.attributes"/>
    <xs:attributeGroup ref="its:att.withinText.attributes"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.withinText.attributes">
    <xs:attributeGroup ref="its:att.withinText.attribute.withinText"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="att.withinText.attribute.withinText">
    <xs:attribute name="withinText" use="required" form="qualified">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="yes"/>
          <xs:enumeration value="no"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
</xs:schema>
