code-srv-test/dita-ot-3.6/plugins/org.dita.specialization.dita11/schema/conceptMod.xsd
2021-03-23 22:38:58 +00:00

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 &lt;<keyword>concept</keyword>&gt; 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 &lt;<keyword>conbody</keyword>&gt; element is the main body-level
element for a concept. Like the body element of a general topic, &lt;<keyword>conbody</keyword>&gt;
allows paragraphs, lists, and other elements as well as sections and examples.
But &lt;<keyword>conbody</keyword>&gt; 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>