| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- ============================================================= -->
- <!-- HEADER -->
- <!-- ============================================================= -->
- <!-- ============================================================= -->
- <!-- MODULE: DITA MAP XSD Module -->
- <!-- VERSION: 1.1 -->
- <!-- DATE: November 2006 -->
- <!-- -->
- <!-- ============================================================= -->
- <!-- ============================================================= -->
- <!-- SYSTEM: Darwin Information Typing Architecture (DITA) -->
- <!-- -->
- <!-- PURPOSE: W3C XML Schema to describe DITA maps -->
- <!-- -->
- <!-- ORIGINAL CREATION DATE: -->
- <!-- March 2001 -->
- <!-- -->
- <!-- (C) Copyright OASIS-Open.org 2005, 2006 -->
- <!-- (C) Copyright IBM Corporation 2001, 2004. -->
- <!-- All Rights Reserved. -->
- <!-- -->
- <!-- UPDATES: -->
- <!-- 2005.11.15 EAS: Moved domains attribute definition to -->
- <!-- map.xsd -->
- <!-- ============================================================= -->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
- <!-- ======= IMPORT - XML attributes and namespace ======= -->
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="urn:oasis:names:tc:dita:xsd:xml.xsd:1.1"/>
- <xs:import namespace="http://dita.oasis-open.org/architecture/2005/" schemaLocation="urn:oasis:names:tc:dita:xsd:ditaarch.xsd:1.1"/>
- <!-- STRUCTURAL MEMBERS ======================================================== -->
- <!-- things that can be nested under topic after body - redefined when specializing -->
- <!--xs:simpleType name="topicreftypes.class">
- <xs:restriction base="xs:string">
- <xs:enumeration value="topic"/>
- <xs:enumeration value="concept"/>
- <xs:enumeration value="task"/>
- <xs:enumeration value="reference"/>
- <xs:enumeration value="external"/>
- <xs:enumeration value="local"/>
- </xs:restriction>
- </xs:simpleType>-->
- <xs:attributeGroup name="topicref-atts">
- <xs:annotation>
- <xs:documentation>
- The %topicref-atts; parameter entity represents a group of attributes
- used in numerous map elements: map, topicref, relcolspec, relcell, topichead,
- and topicgroup. The set is similar to those documented in <ph><xref href="topicref-atts-no-toc.xml">topicref-atts-no-toc</xref></ph> but
- includes the <i><keyword>toc</keyword></i> attribute.
- </xs:documentation>
- </xs:annotation>
- <xs:attribute name="collection-type" type="collection-type.class"/>
- <xs:attribute name="type" type="xs:string"/>
- <xs:attribute name="scope" type="scope-att.class"/>
- <xs:attribute name="locktitle" type="yesno-att.class"/>
- <xs:attribute name="format" type="xs:string"/>
- <xs:attribute name="linking" type="linkingtypes.class"/>
- <xs:attribute name="toc" type="yesno-att.class"/>
- <xs:attribute name="print" type="yesno-att.class"/>
- <xs:attribute name="search" type="yesno-att.class"/>
- <xs:attribute name="chunk" type="xs:string"/>
- </xs:attributeGroup>
- <xs:simpleType name="collection-type.class">
- <xs:restriction base="xs:string">
- <xs:enumeration value="choice"/>
- <xs:enumeration value="unordered"/>
- <xs:enumeration value="sequence"/>
- <xs:enumeration value="family"/>
- <xs:enumeration value="-dita-use-conref-target"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="linkingtypes.class">
- <xs:restriction base="xs:string">
- <xs:enumeration value="targetonly"/>
- <xs:enumeration value="sourceonly"/>
- <xs:enumeration value="normal"/>
- <xs:enumeration value="none"/>
- <xs:enumeration value="-dita-use-conref-target"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:attributeGroup name="topicref-atts-no-toc">
- <xs:annotation>
- <xs:documentation>
- The %topicref-atts-no-toc; parameter entity represents the set
- of attributes used in the <ph><xref href="reltable.xml">reltable</xref></ph> map
- element. The set is similar to those documented in <ph><xref href="topicref-atts.xml">topicref-atts</xref></ph> but
- for <<keyword>reltable</keyword>> the <i><keyword>toc</keyword></i> attribute
- defaults to <q>no</q>. For the other elements that use the %topicref-atts;
- group declaration, the <i><keyword>toc</keyword></i> attribute doesn't have
- a default; they can inherit their <i><keyword>toc</keyword></i> value from
- the nearest container, otherwise it functions upon output as if set to <q>yes</q>.
- </xs:documentation>
- </xs:annotation>
- <xs:attribute name="collection-type" type="collection-type.class"/>
- <xs:attribute name="type" type="xs:string"/>
- <xs:attribute name="scope" type="scope-att.class"/>
- <xs:attribute name="locktitle" type="yesno-att.class"/>
- <xs:attribute name="format" type="xs:string"/>
- <xs:attribute name="linking" type="linkingtypes.class"/>
- <xs:attribute name="toc" type="yesno-att.class" default="no"/>
- <xs:attribute name="print" type="yesno-att.class"/>
- <xs:attribute name="search" type="yesno-att.class"/>
- <xs:attribute name="chunk" type="xs:string"/>
- </xs:attributeGroup>
-
- <xs:element name="map">
- <xs:annotation>
- <xs:documentation>
- The <<keyword>map</keyword>> element is used to define a map
- which describes the relationships among a set of DITA topics. Maps consist
- of references to topics organized into hierarchies and tables. Maps provide
- a way to express these relationships in a single common format that can be
- used for different outputs.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="map.class">
- <xs:attribute ref="class" default="- map/map " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="map.class" >
- <xs:sequence>
- <xs:group ref="title" minOccurs="0" />
- <xs:group ref="topicmeta" minOccurs="0" />
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="navref" />
- <xs:group ref="anchor" />
- <xs:group ref="topicref" />
- <xs:group ref="reltable" />
- <xs:group ref="data.element.incl" />
- </xs:choice>
- </xs:sequence>
- <xs:attribute name="title" type="xs:string" />
- <xs:attribute name="id" type="xs:ID" />
- <xs:attribute name="conref" type="xs:string" />
- <xs:attribute name="anchorref" type="xs:string" />
- <xs:attribute name="outputclass" type="xs:string" />
- <xs:attributeGroup ref="topicref-atts" />
- <xs:attributeGroup ref="select-atts" />
- <xs:attributeGroup ref="localization-atts"/>
- <xs:attribute ref="ditaarch:DITAArchVersion"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="navref">
- <xs:annotation>
- <xs:documentation>
- The <<keyword>navref</keyword>> element references a map file
- from within a map file. The reference is resolved at runtime for Eclipse
- navigation, typically to pull together the navigation for multiple components
- into a product navigation. <ph conref="commonLRdefs.xml#commonLRdefs/only4eclipse"></ph>
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="navref.class">
- <xs:attribute ref="class" default="- map/navref " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="navref.class">
- <xs:attributeGroup ref="univ-atts"/>
- <xs:attribute name="outputclass" type="xs:string" />
- <xs:attribute name="mapref" type="xs:string"/>
- <xs:attributeGroup ref="global-atts" />
-
- </xs:complexType>
- <xs:element name="topicref">
- <xs:annotation>
- <xs:documentation>
- The <<keyword>topicref</keyword>> element designates a topic
- (such as a concept, task, or reference) as a link in a DITA map. A <<keyword>topicref</keyword>>
- can contain other<<keyword>topicref</keyword>> elements, allowing you to
- express navigation or table-of-contents hierarchies, as well as implying relationships
- between the containing <<keyword>topicref</keyword>> and its children.
- You can set the collection-type of a container <<keyword>topicref</keyword>>
- to determine how its children are related to each other. Relationships end
- up expressed as links in the output (with each participant in a relationship
- having links to the other participants).
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="topicref.class">
- <xs:attribute ref="class" default="- map/topicref " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="topicref.class">
- <xs:sequence>
- <xs:group ref="topicmeta" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="navref" />
- <xs:group ref="anchor" />
- <xs:group ref="topicref" />
- <xs:group ref="data.element.incl" />
- </xs:choice>
- </xs:sequence>
- <xs:attribute name="navtitle" type="xs:string"/>
- <xs:attribute name="href" type="xs:string"/>
- <xs:attribute name="keyref" type="xs:string"/>
- <xs:attribute name="query" type="xs:string"/>
- <xs:attribute name="copy-to" type="xs:string"/>
- <xs:attributeGroup ref="topicref-atts" />
- <xs:attributeGroup ref="univ-atts" />
- <xs:attribute name="outputclass" type="xs:string"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="reltable">
- <xs:annotation>
- <xs:documentation>
- The relationship table (<<keyword>reltable</keyword>>) defines
- relationships between topics, based on the familiar table model of rows (<<keyword>relrow</keyword>>),
- columns (<<keyword>relheader</keyword>>), and cells (<<keyword>relcell</keyword>>).
- The <<keyword>relcell</keyword>> elements can contain <<keyword>topicref</keyword>>
- elements, which are then related to other <<keyword>topicref</keyword>>
- elements in the same row (although not necessarily in the same cell). By default,
- the contents of a <<keyword>reltable</keyword>> element are not output
- for navigation or TOC purposes, and are used only to define relationships
- that can be expressed as topic-to-topic links.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="reltable.class">
- <xs:attribute ref="class" default="- map/reltable " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="reltable.class">
- <xs:sequence>
- <xs:group ref="topicmeta" minOccurs="0" />
- <xs:group ref="relheader" minOccurs="0" />
- <xs:group ref="relrow" maxOccurs="unbounded" />
- </xs:sequence>
- <xs:attribute name="title" type="xs:string" />
- <xs:attributeGroup ref="topicref-atts-no-toc" />
- <xs:attributeGroup ref="univ-atts" />
- <xs:attribute name="outputclass" type="xs:string"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="relheader">
- <xs:annotation>
- <xs:documentation>
- The <<keyword>relheader</keyword>> element is a row of column
- definitions (<<keyword>relcolspec</keyword>> elements) in a relationship
- table. Each table can have only one set of column definitions.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="relheader.class">
- <xs:attribute ref="class" default="- map/relheader " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="relheader.class">
- <xs:sequence maxOccurs="unbounded">
- <xs:group ref="relcolspec" />
- </xs:sequence>
- <xs:attributeGroup ref="univ-atts" />
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="relcolspec">
- <xs:annotation>
- <xs:documentation>
- A column definition in the relationship table. You can use <<keyword>relcolspec</keyword>>
- column definitions to set defaults for the attributes of <<keyword>topicref</keyword>>
- elements in the column. For example, you can set type="concept" to treat all
- untyped <<keyword>topicref</keyword>> elements in the column as concepts.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="relcolspec.class">
- <xs:attribute ref="class" default="- map/relcolspec " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="relcolspec.class">
- <xs:sequence minOccurs="0">
- <xs:group ref="topicmeta" />
- </xs:sequence>
- <xs:attributeGroup ref="univ-atts" />
- <xs:attributeGroup ref="topicref-atts" />
- <xs:attribute name="outputclass" type="xs:string"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="relrow">
- <xs:annotation>
- <xs:documentation>
- A <<keyword>relrow</keyword>> is a row in the relationship table.
- This creates a relationship between the cells in the row, which will end up
- expressed as links among the <<keyword>topicref</keyword>> elements in
- the cells.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="relrow.class">
- <xs:attribute ref="class" default="- map/relrow " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="relrow.class">
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="relcell" />
- </xs:sequence>
- <xs:attributeGroup ref="univ-atts" />
- <xs:attribute name="outputclass" type="xs:string"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="relcell">
- <xs:annotation>
- <xs:documentation>
- A <<keyword>relcell</keyword>> element is a cell in the relationship
- table. The <<keyword>topicref</keyword>> elements it contains will be related
- to topicrefs in other cells of the same row. By default, topicrefs in the
- same cell are not related to each other, unless you change the relcell's collection-type
- attribute to indicate that they are related.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="relcell.class">
- <xs:attribute ref="class" default="- map/relcell " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="relcell.class">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="topicref" />
- <xs:group ref="data.element.incl" />
- </xs:choice>
- <xs:attributeGroup ref="univ-atts" />
- <xs:attributeGroup ref="topicref-atts" />
- <xs:attribute name="outputclass" type="xs:string"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="anchor">
- <xs:annotation>
- <xs:documentation>
- The <<keyword>anchor</keyword>> element is used for runtime
- integration of navigation. It provides an integration point that another map
- can point to in order to insert its navigation into the current navigation
- tree. It is currently supported by Eclipse output only.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="anchor.class">
- <xs:attribute ref="class" default="- map/anchor " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="anchor.class">
- <xs:attribute name="id" type="xs:ID" use="required"/>
- <xs:attribute name="outputclass" type="xs:string"/>
- <xs:attribute name="conref" type="xs:string"/>
- <xs:attributeGroup ref="localization-atts"/>
- <xs:attributeGroup ref="select-atts" />
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="topicmeta">
- <xs:annotation>
- <xs:documentation>
- The <<keyword>topicmeta</keyword>> element defines the metadata
- that applies to a topic and the topic's children. When creating links, it
- can also be used to override the title and short description of the topic.
- In addition, it can insert index entries through the <<keyword>keywords</keyword>>
- element.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="topicmeta.class">
- <xs:attribute ref="class" default="- map/topicmeta " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="topicmeta.class" >
- <xs:sequence>
- <xs:group ref="linktext" minOccurs="0"/>
- <xs:group ref="searchtitle" minOccurs="0"/>
- <xs:group ref="shortdesc" minOccurs="0"/>
- <xs:group ref="author" minOccurs="0" maxOccurs="unbounded"/>
- <xs:group ref="source" minOccurs="0"/>
- <xs:group ref="publisher" minOccurs="0"/>
- <xs:group ref="copyright" minOccurs="0" maxOccurs="unbounded"/>
- <xs:group ref="critdates" minOccurs="0"/>
- <xs:group ref="permissions" minOccurs="0"/>
- <xs:group ref="audience" minOccurs="0" maxOccurs="unbounded"/>
- <xs:group ref="category" minOccurs="0" maxOccurs="unbounded"/>
- <xs:group ref="keywords" minOccurs="0" maxOccurs="unbounded"/>
- <xs:group ref="prodinfo" minOccurs="0" maxOccurs="unbounded"/>
- <xs:group ref="othermeta" minOccurs="0" maxOccurs="unbounded"/>
- <xs:group ref="resourceid" minOccurs="0" maxOccurs="unbounded"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="data.element.incl" />
- <xs:group ref="foreign.unknown.incl" />
- </xs:choice>
- </xs:sequence>
- <xs:attribute name="lockmeta" type="yesno-att.class"/>
- <xs:attributeGroup ref="univ-atts"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="linktext">
- <xs:annotation>
- <xs:documentation>
- The <<keyword>linktext</keyword>> element provides the literal
- label or line of text for a link. In most cases, the text of a link can be
- resolved during processing by cross reference with the target resource. Use
- the <<keyword>linktext</keyword>> element only when the target cannot be
- reached, such as when it is a peer or external link.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType mixed="true">
- <xs:complexContent>
- <xs:extension base="linktext.class">
- <xs:attribute ref="class" default="- map/linktext " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="linktext.class" mixed="true">
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="words.cnt"/>
- </xs:sequence>
- <xs:attribute name="outputclass" type="xs:string"/>
- <xs:attributeGroup ref="univ-atts"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType>
- <xs:element name="searchtitle">
- <xs:annotation>
- <xs:documentation>
- When your DITA topic is transformed to XHTML, the <<keyword>searchtitle</keyword>>
- element is used to create a title element at the top of the resulting HTML
- file. This title is normally used in search result summaries by some search
- engines, such as that in Eclipse (<ph><xref format="html" href="http://eclipse.org"
- scope="external">http://eclipse.org</xref></ph>); if not set, the XHTML's
- title element defaults to the source topic's title content (which may not
- be as well optimized for search summaries)
- </xs:documentation>
- </xs:annotation>
- <xs:complexType mixed="true">
- <xs:complexContent>
- <xs:extension base="searchtitle.class">
- <xs:attribute ref="class" default="- map/searchtitle " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="searchtitle.class" mixed="true">
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="words.cnt"/>
- </xs:sequence>
- <xs:attribute name="outputclass" type="xs:string"/>
- <xs:attributeGroup ref="univ-atts"/>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType >
- <xs:element name="shortdesc">
- <xs:annotation>
- <xs:documentation>
- The short description (<<keyword>shortdesc</keyword>>) element
- occurs between the topic title and the topic body, as the initial paragraph-like
- content of a topic. The short description, which represents the purpose or
- theme of the topic, is also intended to be used as a link preview and for
- searching.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType mixed="true">
- <xs:complexContent>
- <xs:extension base="shortdesc.class">
- <xs:attribute ref="class" default="- map/shortdesc " />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <!--<xs:complexType name="shortdesc.class" mixed="true">
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="words.cnt"/>
- </xs:sequence>
- <xs:attributeGroup ref="global-atts" />
- </xs:complexType >-->
-
- </xs:schema>
|