116 lines
5.5 KiB
XML
116 lines
5.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- ============================================================= -->
|
|
<!-- HEADER -->
|
|
<!-- ============================================================= -->
|
|
<!-- MODULE: DITA Concept XSD Module -->
|
|
<!-- VERSION: 1.1 -->
|
|
<!-- DATE: November 2006 -->
|
|
<!-- -->
|
|
<!-- ============================================================= -->
|
|
|
|
|
|
<!-- ============================================================= -->
|
|
<!-- SYSTEM: Darwin Information Typing Architecture (DITA) -->
|
|
<!-- -->
|
|
<!-- PURPOSE: W3C XML Schema to describe DITA concepts -->
|
|
<!-- -->
|
|
<!-- ORIGINAL CREATION DATE: -->
|
|
<!-- March 2001 -->
|
|
<!-- -->
|
|
<!-- (C) Copyright OASIS-Open.org 2005, 2006 -->
|
|
<!-- (C) Copyright IBM Corporation 2001, 2004. -->
|
|
<!-- All Rights Reserved. -->
|
|
<!-- ============================================================= -->
|
|
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
|
|
<!-- ==================== Import Section ======================= -->
|
|
<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"/>
|
|
|
|
<!--Embed concept to get specific elements -->
|
|
<xs:element name="concept">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
The <<keyword>concept</keyword>> element is the top-level
|
|
element for a topic that answers the question <q>what is?</q> Concepts provide
|
|
background information that users must know before they can successfully work
|
|
with a product or interface. Often, a concept is an extended definition of
|
|
a major abstraction such as a process or function. It might also have an example
|
|
or a graphic, but generally the structure of a concept is fairly simple.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:complexContent>
|
|
<xs:extension base="concept.class">
|
|
<xs:attribute ref="class" default="- topic/topic concept/concept "/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="conbody">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
The <<keyword>conbody</keyword>> element is the main body-level
|
|
element for a concept. Like the body element of a general topic, <<keyword>conbody</keyword>>
|
|
allows paragraphs, lists, and other elements as well as sections and examples.
|
|
But <<keyword>conbody</keyword>> has a constraint that a section
|
|
or an example can be followed only by other sections or examples.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:complexContent>
|
|
<xs:extension base="conbody.class">
|
|
<xs:attribute ref="class" default="- topic/body concept/conbody "/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:group name="concept-info-types">
|
|
<xs:choice>
|
|
<xs:group ref="concept"/>
|
|
<xs:group ref="info-types" />
|
|
</xs:choice>
|
|
</xs:group>
|
|
|
|
<!-- Base type: topic.class -->
|
|
<xs:complexType name="concept.class">
|
|
<xs:sequence>
|
|
<xs:group ref="title"/>
|
|
<xs:group ref="titlealts" minOccurs="0"/>
|
|
<xs:choice minOccurs="0">
|
|
<xs:group ref="shortdesc" />
|
|
<xs:group ref="abstract" />
|
|
</xs:choice>
|
|
<xs:group ref="prolog" minOccurs="0"/>
|
|
<xs:group ref="conbody" minOccurs="0"/>
|
|
<xs:group ref="related-links" minOccurs="0"/>
|
|
<xs:group ref="concept-info-types" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
<xs:attribute name="conref" type="xs:string"/>
|
|
<xs:attributeGroup ref="select-atts"/>
|
|
<xs:attribute ref="ditaarch:DITAArchVersion" />
|
|
<xs:attribute name="outputclass" type="xs:string"/>
|
|
<xs:attributeGroup ref="localization-atts"/>
|
|
<xs:attributeGroup ref="global-atts"/>
|
|
</xs:complexType>
|
|
|
|
<!-- Base type: body.class -->
|
|
<xs:complexType name="conbody.class">
|
|
<xs:sequence>
|
|
<xs:group ref="body.cnt" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:group ref="section"/>
|
|
<xs:group ref="example"/>
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
<xs:attribute name="outputclass" type="xs:string"/>
|
|
<xs:attribute name="base" type="xs:string" />
|
|
<xs:attributeGroup ref="base-attribute-extensions"/>
|
|
<xs:attributeGroup ref="id-atts"/>
|
|
<xs:attributeGroup ref="localization-atts"/>
|
|
<xs:attributeGroup ref="global-atts"/>
|
|
</xs:complexType>
|
|
</xs:schema>
|