XML Source of "topicMod.xsd"
See Also: |
|
Schema Location: |
http://docs.oasis-open.org/dita/v1.1/OS/schema/topicMod.xsd |
XML Source
<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================= -->
<!-- HEADER -->
<!-- ============================================================= -->
<!-- MODULE: DITA Topic XSD Module -->
<!-- VERSION: 1.1 -->
<!-- DATE: November 2006 -->
<!-- -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- SYSTEM: Darwin Information Typing Architecture (DITA) -->
<!-- -->
<!-- PURPOSE: Define elements and specialization attributes -->
<!-- for Topics -->
<!-- -->
<!-- ORIGINAL CREATION DATE: -->
<!-- March 2001 -->
<!-- -->
<!-- (C) Copyright OASIS-Open.org 2005, 2006 -->
<!-- (C) Copyright IBM Corporation 2001, 2004. -->
<!-- All Rights Reserved. -->
<!-- ============================================================= -->
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- ==================== Import Section ======================= -->
<!-- these are common for some classes of resources and exhibits -->
<xs:annotation>
<xs:documentation>
Relational attributes (<
<keyword>%rel-atts;</keyword>
>) is a
parameter entity declaration in the topic DTD that includes attributes whose
values may be used for representing navigational relationships. These attributes
occur only on elements that represent relationships between topics.
</xs:documentation>
</xs:annotation>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="otherrole" type="xs:string"/>
</xs:attributeGroup>
<!-- Predefined content.model groups, based on the previous, element-only categories: -->
<!-- txt.incl is appropriate for any mixed content definitions (those that have PCDATA) -->
<!-- the context for blocks is implicitly an InfoMaster "containing_division" -->
<!-- <!ENTITY % body.cnt "%basic.block;|%required-cleanup;"> -->
<xs:choice>
<xs:group ref="basic.block"/>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:choice>
</xs:group>
<!-- <!ENTITY % section.cnt "#PCDATA | %basic.ph; | %basic.block; | %title; | %txt.incl;"> -->
<xs:choice>
<xs:group ref="basic.ph"/>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:choice>
</xs:group>
<!-- <!ENTITY % section.notitle.cnt "#PCDATA | %basic.ph; | %basic.block; | %txt.incl;"> -->
<xs:choice>
<xs:group ref="basic.ph"/>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:choice>
</xs:group>
<!-- STRUCTURAL MEMBERS ======================================================== -->
<!-- things that can be nested under topic after body - redefined when specializing -->
<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:enumeration value="-dita-use-conref-target"/>
</xs:restriction>
</xs:simpleType>
</xs:group>
<!-- infotype 'topic'
| Topic is the archetype from which other typed topics may be derived.
| Its body has completely optional content, which allows topic to be used as a titled container
| role: migration target for XHTML, other hierarchically structured source
*-->
<xs:element name="topic">
<xs:annotation>
<xs:documentation>
The <
<keyword>topic</keyword>
> element is the top-level DITA
element for a single-subject topic or article. Other top-level DITA elements
that are more content-specific are <
<keyword>concept</keyword>
>, <
<keyword>task</keyword>
>,
and <
<keyword>reference</keyword>
>.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="topic.class">
<xs:attribute default="- topic/topic " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:sequence>
<xs:group ref="title"/>
<xs:choice minOccurs="0">
</xs:choice>
<xs:group minOccurs="0" ref="prolog"/>
<xs:group minOccurs="0" ref="body"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="conref" type="xs:string"/>
</xs:complexType>
<!-- Rename null to no-topic-nesting -->
<xs:annotation>
<xs:documentation>
The <
<keyword>no-topic-nesting</keyword>
> element is a placeholder
in the DITA architecture. It is not actually used by the DITA DTDs; it is
for use only when creating a customized DTD where the information designer
wants to eliminate the ability to nest topics.
<b>Not for use by authors.</b>
</xs:documentation>
</xs:annotation>
<xs:complexContent>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The alternate title element (<
<keyword>titlealts</keyword>
>)
is optional, but can occur after the topic title. Two elements can be inserted
as sub-elements of <
<keyword>titlealts</keyword>
>: navigation title <
<keyword>navtitle</keyword>
>
and search title <
<keyword>searchtitle</keyword>
>. 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 XHTML file. This
title may differ from the first level heading that shows in the main browser
window. In HTML output, the <
<keyword>navtitle</keyword>
> may be used to
create navigation panels when your DITA topics are part of an HTML-based help
or information system. The design intent is to enable navigation for HTML
Help and Eclipse help systems.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="titlealts.class">
<xs:attribute default="- topic/titlealts " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:sequence>
<xs:group minOccurs="0" ref="navtitle"/>
</xs:sequence>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The navigation title (<
<keyword>navtitle</keyword>
>) element
is one of a set of alternate titles that can be included inside the <
<keyword>titlealts</keyword>
>
element. This navigation title may differ from the first level heading that
shows in the main browser window. Use <
<keyword>navtitle</keyword>
> when
the actual title of the topic isn't appropriate for use in navigation panes
or online contents (for example, because the actual title is too long or needs
stated in terse, imperative voice in the navigation).
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="navtitle.class">
<xs:attribute default="- topic/navtitle " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:complexType>
<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 default="- topic/searchtitle " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:complexType>
<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 default="- topic/shortdesc " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
The <
<keyword>body</keyword>
> element is the container for the
main content of a <
<keyword>topic</keyword>
>.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="body.class">
<xs:attribute default="- topic/body " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The <
<keyword>section</keyword>
> element represents an organizational
division in a topic. Sections are used to organize subsets of information
that are directly related to the topic. For example, the titles
<b>
Reference
Syntax
</b>
,
<b>Example</b>
and
<b>Properties</b>
might represent section-level
discourse within a topic about a command-line process—the content in each
section relates uniquely to the subject of that topic. Multiple sections within
a single topic do not represent a hierarchy, but rather peer divisions of
that topic. Sections cannot be nested. A section may have an optional title.
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="section.class">
<xs:attribute default="- topic/section " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
<xs:attribute name="spectitle" type="xs:string"/>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The <
<keyword>example</keyword>
> element is a section with the
specific role of containing examples that illustrate or support the current
topic. The <
<keyword>example</keyword>
> element has the same content model
as <
<keyword>section</keyword>
>.
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="example.class">
<xs:attribute default="- topic/example " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
<xs:attribute name="spectitle" type="xs:string"/>
</xs:complexType>
<!-- PROLOG (metadata for topics) =================================== -->
<!-- TYPED DATA ELEMENTS: ======================================================= -->
<!-- typed content definitions -->
<!-- typed, localizable content -->
<xs:annotation>
<xs:documentation>
The <
<keyword>prolog</keyword>
> element contains information
about the topic as an whole (for example, author information or subject category)
that is either entered by the author or machine-maintained. Much of the metadata
inside the <
<keyword>prolog</keyword>
> will not be displayed with the topic
on output, but may be used by processes that generate search indexes or customize
navigation.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="prolog.class">
<xs:attribute default="- topic/prolog " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:sequence>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="author"/>
<xs:group minOccurs="0" ref="source"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="copyright"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="metadata"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="resourceid"/>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The <
<keyword>metadata</keyword>
> section of the prolog contains
information about a topic such as audience and product information. Metadata
can be used by computational processes to select particular topics or to prepare
search indexes or to customize navigation.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="metadata.class">
<xs:attribute default="- topic/metadata " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:sequence>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="audience"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="category"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="keywords"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="prodinfo"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="othermeta"/>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:sequence>
<xs:attribute name="mapkeyref" type="xs:string"/>
</xs:complexType>
<!-- ================ LINKS GROUPING - START ================ -->
<xs:annotation>
<xs:documentation>
The related information links of a topic (<
<keyword>related-links</keyword>
>
element) are stored in a special section following the body of the topic.
After a topic is processed into it final output form, the related links are
usually displayed at the end of the topic, although some Web-based help systems
might display them in a separate navigation frame.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded">
</xs:choice>
<xs:attribute name="format" type="xs:string"/>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The <
<keyword>linklist</keyword>
> element defines an author-arranged
group of links. Within <
<keyword>linklist</keyword>
>, the organization
of links on final output is in the same order as originally authored in the
DITA topic file.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="linklist.class">
<xs:attribute default="- topic/linklist " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:sequence>
<xs:group minOccurs="0" ref="title"/>
<xs:group minOccurs="0" ref="desc"/>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
<xs:group minOccurs="0" ref="linkinfo"/>
</xs:sequence>
<xs:attribute name="mapkeyref" type="xs:string"/>
<xs:attribute name="format" type="xs:string"/>
<xs:attribute name="spectitle" type="xs:string"/>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The <
<keyword>linkinfo</keyword>
> element allows you to place
a descriptive paragraph following a list of links in a
<ph>
<xref href="linklist.xml">linklist</xref>
</ph>
element.
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="linkinfo.class">
<xs:attribute default="- topic/linkinfo " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The <
<keyword>linkpool</keyword>
> element defines a group of
links that have common characteristics, such as type or audience or source.
Within <
<keyword>linkpool</keyword>
>, the organization of links on final
output is determined by the output process, not by the order that the links
actually occur in the DITA topic file.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="linkpool.class">
<xs:attribute default="- topic/linkpool " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
<xs:attribute name="mapkeyref" type="xs:string"/>
<xs:attribute name="format" type="xs:string"/>
</xs:complexType>
<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 default="- topic/linktext " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>
The <
<keyword>link</keyword>
> element defines a relationship
to another topic. Links represent the types and roles of topics in a web of
information, and therefore represent navigational links within that web. The
parent structures of link allow authors to define named groups and even sort
orders that can be applied to sets of links.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="link.class">
<xs:attribute default="- topic/link " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:sequence>
<xs:group minOccurs="0" ref="linktext"/>
<xs:group minOccurs="0" ref="desc"/>
</xs:sequence>
<xs:attribute name="href" type="xs:string"/>
<xs:attribute name="keyref" type="xs:string"/>
<xs:attribute name="format" type="xs:string"/>
<xs:attribute name="query" type="xs:string"/>
</xs:complexType>
<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>
<!-- ================ LINKS GROUPING - END ================ -->
<!-- LONG NAME: Abstract -->
<!-- <!ELEMENT abstract (%section.notitle.cnt; | %shortdesc;)* > -->
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="abstract.class">
<xs:attribute default="- topic/abstract " ref="class"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
</xs:choice>
</xs:complexType>
</xs:schema>