224 lines
8.7 KiB
XML
224 lines
8.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<?xml-model href="urn:oasis:names:tc:dita:rng:vocabularyModuleDesc.rng"
|
|
schematypens="http://relaxng.org/ns/structure/1.0"?>
|
|
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:dita="http://dita.oasis-open.org/architecture/2005/"
|
|
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
<moduleDesc xmlns="http://dita.oasis-open.org/architecture/2005/">
|
|
<moduleTitle>DITA Concept</moduleTitle>
|
|
<headerComment xml:space="preserve"><![CDATA[
|
|
=============================================================
|
|
HEADER
|
|
=============================================================
|
|
MODULE: DITA Concept
|
|
VERSION: 2.0
|
|
DATE: [[[Release date]]]
|
|
PURPOSE: Define elements and specialization atttributes
|
|
for Concepts
|
|
|
|
=============================================================
|
|
|
|
=============================================================
|
|
PUBLIC DOCUMENT TYPE DEFINITION
|
|
TYPICAL INVOCATION
|
|
|
|
Refer to this file by the following public identifier or an
|
|
appropriate system identifier
|
|
PUBLIC "-//OASIS//ELEMENTS DITA 2.0 Concept//EN"
|
|
Delivered as file "concept.mod"
|
|
|
|
=============================================================
|
|
(C) Copyright OASIS Open 2005, 2009.
|
|
(C) Copyright IBM Corporation 2001, 2004.
|
|
All Rights Reserved.
|
|
UPDATES:
|
|
=============================================================
|
|
]]></headerComment>
|
|
<moduleMetadata>
|
|
<moduleType>topic</moduleType>
|
|
<moduleShortName>concept</moduleShortName>
|
|
<modulePublicIds>
|
|
<dtdMod>-//OASIS//ELEMENTS DITA<var presep=" " name="ditaver"/> Concept//EN</dtdMod>
|
|
<dtdEnt>-//OASIS//ENTITIES DITA<var presep=" " name="ditaver"/> Concept//EN</dtdEnt>
|
|
<rngMod>urn:oasis:names:tc:dita:rng:conceptMod.rng<var presep=":" name="ditaver"/></rngMod>
|
|
</modulePublicIds>
|
|
</moduleMetadata>
|
|
</moduleDesc>
|
|
<div>
|
|
<a:documentation>TOPIC NESTING OVERRIDES</a:documentation>
|
|
|
|
<define name="concept-info-types">
|
|
<ref name="info-types"/>
|
|
</define>
|
|
|
|
</div>
|
|
<div>
|
|
<a:documentation>ELEMENT TYPE NAME PATTERNS</a:documentation>
|
|
<define name="concept">
|
|
<ref name="concept.element"/>
|
|
</define>
|
|
<define name="conbody">
|
|
<ref name="conbody.element"/>
|
|
</define>
|
|
<define name="conbodydiv">
|
|
<ref name="conbodydiv.element"/>
|
|
</define>
|
|
</div>
|
|
|
|
<div>
|
|
<a:documentation>COMMON CONTENT MODEL PATTERNS</a:documentation>
|
|
<!-- Matching body.cnt but remove example -->
|
|
<define name="conbody.cnt">
|
|
<choice>
|
|
<ref name="basic.block.noexample"/>
|
|
<ref name="data.elements.incl"/>
|
|
<ref name="draft-comment"/>
|
|
<ref name="foreign.unknown.incl"/>
|
|
<ref name="required-cleanup"/>
|
|
</choice>
|
|
</define>
|
|
</div>
|
|
|
|
<div>
|
|
<a:documentation>ELEMENT TYPE DECLARATIONS</a:documentation>
|
|
|
|
<div>
|
|
<a:documentation> LONG NAME: Concept </a:documentation>
|
|
<define name="concept.content">
|
|
<ref name="title"/>
|
|
<optional>
|
|
<ref name="titlealts"/>
|
|
</optional>
|
|
<optional>
|
|
<choice>
|
|
<ref name="abstract"/>
|
|
<ref name="shortdesc"/>
|
|
</choice>
|
|
</optional>
|
|
<optional>
|
|
<ref name="prolog"/>
|
|
</optional>
|
|
<optional>
|
|
<ref name="conbody"/>
|
|
</optional>
|
|
<optional>
|
|
<ref name="related-links"/>
|
|
</optional>
|
|
<zeroOrMore>
|
|
<ref name="concept-info-types"/>
|
|
</zeroOrMore>
|
|
</define>
|
|
<define name="concept.attributes">
|
|
<attribute name="id">
|
|
<data type="ID"/>
|
|
</attribute>
|
|
<ref name="conref-atts"/>
|
|
<ref name="select-atts"/>
|
|
<ref name="localization-atts"/>
|
|
<optional>
|
|
<attribute name="outputclass"/>
|
|
</optional>
|
|
</define>
|
|
<define name="concept.element">
|
|
<element name="concept" dita:longName="Concept">
|
|
<a:documentation>The <concept> element is the top-level element for a topic that answers the question what is? 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. Category: Concept elements</a:documentation>
|
|
<ref name="concept.attlist"/>
|
|
<ref name="concept.content"/>
|
|
</element>
|
|
</define>
|
|
<define name="concept.attlist" combine="interleave">
|
|
<ref name="concept.attributes"/>
|
|
<ref name="arch-atts"/>
|
|
<ref name="specializations-att"/>
|
|
</define>
|
|
<define name="idElements" combine="choice">
|
|
<ref name="concept.element"/>
|
|
</define>
|
|
</div>
|
|
<div>
|
|
<a:documentation> LONG NAME: Concept Body </a:documentation>
|
|
<define name="conbody.content">
|
|
<zeroOrMore>
|
|
<ref name="conbody.cnt"/>
|
|
</zeroOrMore>
|
|
<zeroOrMore>
|
|
<choice>
|
|
<ref name="section"/>
|
|
<ref name="example"/>
|
|
<ref name="conbodydiv"/>
|
|
</choice>
|
|
</zeroOrMore>
|
|
</define>
|
|
<define name="conbody.attributes">
|
|
<ref name="id-atts"/>
|
|
<ref name="localization-atts"/>
|
|
<optional>
|
|
<attribute name="base"/>
|
|
</optional>
|
|
<ref name="base-attribute-extensions"/>
|
|
<optional>
|
|
<attribute name="outputclass"/>
|
|
</optional>
|
|
</define>
|
|
<define name="conbody.element">
|
|
<element name="conbody" dita:longName="Concept Body">
|
|
<a:documentation>The <conbody> element is the main body-level element for a concept. Like the <body> element of a general <topic>, <conbody> allows paragraphs, lists, and other
|
|
elements as well as sections and examples. But <conbody> has a constraint that a section or an example can be followed only by other sections or examples. Category: Concept
|
|
elements</a:documentation>
|
|
<ref name="conbody.attlist"/>
|
|
<ref name="conbody.content"/>
|
|
</element>
|
|
</define>
|
|
<define name="conbody.attlist" combine="interleave">
|
|
<ref name="conbody.attributes"/>
|
|
</define>
|
|
|
|
</div>
|
|
<div>
|
|
<a:documentation> LONG NAME: Concept Body division </a:documentation>
|
|
<define name="conbodydiv.content">
|
|
<zeroOrMore>
|
|
<choice>
|
|
<ref name="example"/>
|
|
<ref name="section"/>
|
|
</choice>
|
|
</zeroOrMore>
|
|
</define>
|
|
<define name="conbodydiv.attributes">
|
|
<ref name="univ-atts"/>
|
|
</define>
|
|
<define name="conbodydiv.element">
|
|
<element name="conbodydiv" dita:longName="Concept Body division">
|
|
<a:documentation>The <conbodydiv> element is similar to the <bodydiv> element in that it provides an informal container for content that may be grouped within a concept. There are no
|
|
additional semantics attached to the conbodydiv element; it is purely a grouping element provided to help organize content.</a:documentation>
|
|
<ref name="conbodydiv.attlist"/>
|
|
<ref name="conbodydiv.content"/>
|
|
</element>
|
|
</define>
|
|
<define name="conbodydiv.attlist" combine="interleave">
|
|
<ref name="conbodydiv.attributes"/>
|
|
</define>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<a:documentation>SPECIALIZATION ATTRIBUTE DECLARATIONS</a:documentation>
|
|
|
|
<define name="concept.attlist" combine="interleave">
|
|
<optional>
|
|
<attribute name="class" a:defaultValue="- topic/topic concept/concept "/>
|
|
</optional>
|
|
</define>
|
|
<define name="conbody.attlist" combine="interleave">
|
|
<optional>
|
|
<attribute name="class" a:defaultValue="- topic/body concept/conbody "/>
|
|
</optional>
|
|
</define>
|
|
<define name="conbodydiv.attlist" combine="interleave">
|
|
<optional>
|
|
<attribute name="class" a:defaultValue="- topic/bodydiv concept/conbodydiv "/>
|
|
</optional>
|
|
</define>
|
|
</div>
|
|
</grammar>
|