
Mit dem IBM XMI Toolkit automatisch aus dem UML-Modell generierte DTD.
Auf den ersten Blick wirkt sie etwas zu umfangreich, oder gar �den, einerseits handelt es sich noch um das vergleichsweise umfangreiche XMI v1.0, andererseits sind die meisten "��n" Elemente optional.
<?xml version="1.0" encoding="UTF-8" ?>
<!-- XMI Automatic DTD Generation -->
<!-- Date: Sat May 13 17:34:26 GMT+02:00 2000 -->
<!-- Metamodel: SimpleTree -->
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI is the top-level XML element for XMI transfer text -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI (XMI.header, XMI.content?, XMI.difference*,
XMI.extensions*) >
<!ATTLIST XMI
xmi.version CDATA #FIXED "1.0"
timestamp CDATA #IMPLIED
verified (true | false) #IMPLIED
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.header contains documentation and identifies the model, -->
<!-- metamodel, and metametamodel -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.header (XMI.documentation?, XMI.model*, XMI.metamodel*,
XMI.metametamodel*) >
<!-- _______________________________________________________________ -->
<!-- -->
<!-- documentation for transfer data -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.documentation (#PCDATA | XMI.owner | XMI.contact |
XMI.longDescription | XMI.shortDescription |
XMI.exporter | XMI.exporterVersion |
XMI.notice)* >
<!ELEMENT XMI.owner ANY >
<!ELEMENT XMI.contact ANY >
<!ELEMENT XMI.longDescription ANY >
<!ELEMENT XMI.shortDescription ANY >
<!ELEMENT XMI.exporter ANY >
<!ELEMENT XMI.exporterVersion ANY >
<!ELEMENT XMI.exporterID ANY >
<!ELEMENT XMI.notice ANY >
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.element.att defines the attributes that each XML element -->
<!-- that corresponds to a metamodel class must have to conform to -->
<!-- the XMI specification. -->
<!-- _______________________________________________________________ -->
<!ENTITY % XMI.element.att
'xmi.id ID #IMPLIED xmi.label CDATA #IMPLIED xmi.uuid
CDATA #IMPLIED ' >
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.link.att defines the attributes that each XML element that -->
<!-- corresponds to a metamodel class must have to enable it to -->
<!-- function as a simple XLink as well as refer to model -->
<!-- constructs within the same XMI file. -->
<!-- _______________________________________________________________ -->
<!ENTITY % XMI.link.att
'xml:link CDATA #IMPLIED inline (true | false) #IMPLIED
actuate (show | user) #IMPLIED href CDATA #IMPLIED role
CDATA #IMPLIED title CDATA #IMPLIED show (embed | replace
| new) #IMPLIED behavior CDATA #IMPLIED xmi.idref IDREF
#IMPLIED xmi.uuidref CDATA #IMPLIED' >
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.model identifies the model(s) being transferred -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.model ANY >
<!ATTLIST XMI.model
%XMI.link.att;
xmi.name CDATA #REQUIRED
xmi.version CDATA #IMPLIED
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.metamodel identifies the metamodel(s) for the transferred -->
<!-- data -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.metamodel ANY >
<!ATTLIST XMI.metamodel
%XMI.link.att;
xmi.name CDATA #REQUIRED
xmi.version CDATA #IMPLIED
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.metametamodel identifies the metametamodel(s) for the -->
<!-- transferred data -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.metametamodel ANY >
<!ATTLIST XMI.metametamodel
%XMI.link.att;
xmi.name CDATA #REQUIRED
xmi.version CDATA #IMPLIED
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.content is the actual data being transferred -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.content ANY >
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.extensions contains data to transfer that does not conform -->
<!-- to the metamodel(s) in the header -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.extensions ANY >
<!ATTLIST XMI.extensions
xmi.extender CDATA #REQUIRED
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- extension contains information related to a specific model -->
<!-- construct that is not defined in the metamodel(s) in the header -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.extension ANY >
<!ATTLIST XMI.extension
%XMI.element.att;
%XMI.link.att;
xmi.extender CDATA #REQUIRED
xmi.extenderID CDATA #REQUIRED
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.difference holds XML elements representing differences to a -->
<!-- base model -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.difference (XMI.difference | XMI.delete | XMI.add |
XMI.replace)* >
<!ATTLIST XMI.difference
%XMI.element.att;
%XMI.link.att;
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.delete represents a deletion from a base model -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.delete EMPTY >
<!ATTLIST XMI.delete
%XMI.element.att;
%XMI.link.att;
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.add represents an addition to a base model -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.add ANY >
<!ATTLIST XMI.add
%XMI.element.att;
%XMI.link.att;
xmi.position CDATA "-1"
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.replace represents the replacement of a model construct -->
<!-- with another model construct in a base model -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.replace ANY >
<!ATTLIST XMI.replace
%XMI.element.att;
%XMI.link.att;
xmi.position CDATA "-1"
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- XMI.reference may be used to refer to data types not defined in -->
<!-- the metamodel -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.reference ANY >
<!ATTLIST XMI.reference
%XMI.link.att;
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- This section contains the declaration of XML elements -->
<!-- representing data types -->
<!-- _______________________________________________________________ -->
<!ELEMENT XMI.TypeDefinitions ANY >
<!ELEMENT XMI.field ANY >
<!ELEMENT XMI.seqItem ANY >
<!ELEMENT XMI.octetStream (#PCDATA) >
<!ELEMENT XMI.unionDiscrim ANY >
<!ELEMENT XMI.enum EMPTY >
<!ATTLIST XMI.enum
xmi.value CDATA #REQUIRED
>
<!ELEMENT XMI.any ANY >
<!ATTLIST XMI.any
%XMI.link.att;
xmi.type CDATA #IMPLIED
xmi.name CDATA #IMPLIED
>
<!ELEMENT XMI.CorbaTypeCode (XMI.CorbaTcAlias | XMI.CorbaTcStruct |
XMI.CorbaTcSequence | XMI.CorbaTcArray |
XMI.CorbaTcEnum | XMI.CorbaTcUnion |
XMI.CorbaTcExcept | XMI.CorbaTcString |
XMI.CorbaTcWstring | XMI.CorbaTcShort |
XMI.CorbaTcLong | XMI.CorbaTcUshort |
XMI.CorbaTcUlong | XMI.CorbaTcFloat |
XMI.CorbaTcDouble | XMI.CorbaTcBoolean |
XMI.CorbaTcChar | XMI.CorbaTcWchar |
XMI.CorbaTcOctet | XMI.CorbaTcAny |
XMI.CorbaTcTypeCode | XMI.CorbaTcPrincipal |
XMI.CorbaTcNull | XMI.CorbaTcVoid |
XMI.CorbaTcLongLong |
XMI.CorbaTcLongDouble) >
<!ATTLIST XMI.CorbaTypeCode
%XMI.element.att;
>
<!ELEMENT XMI.CorbaTcAlias (XMI.CorbaTypeCode) >
<!ATTLIST XMI.CorbaTcAlias
xmi.tcName CDATA #REQUIRED
xmi.tcId CDATA #IMPLIED
>
<!ELEMENT XMI.CorbaTcStruct (XMI.CorbaTcField)* >
<!ATTLIST XMI.CorbaTcStruct
xmi.tcName CDATA #REQUIRED
xmi.tcId CDATA #IMPLIED
>
<!ELEMENT XMI.CorbaTcField (XMI.CorbaTypeCode) >
<!ATTLIST XMI.CorbaTcField
xmi.tcName CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaTcSequence (XMI.CorbaTypeCode |
XMI.CorbaRecursiveType) >
<!ATTLIST XMI.CorbaTcSequence
xmi.tcLength CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaRecursiveType EMPTY >
<!ATTLIST XMI.CorbaRecursiveType
xmi.offset CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaTcArray (XMI.CorbaTypeCode) >
<!ATTLIST XMI.CorbaTcArray
xmi.tcLength CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaTcObjRef EMPTY >
<!ATTLIST XMI.CorbaTcObjRef
xmi.tcName CDATA #REQUIRED
xmi.tcId CDATA #IMPLIED
>
<!ELEMENT XMI.CorbaTcEnum (XMI.CorbaTcEnumLabel) >
<!ATTLIST XMI.CorbaTcEnum
xmi.tcName CDATA #REQUIRED
xmi.tcId CDATA #IMPLIED
>
<!ELEMENT XMI.CorbaTcEnumLabel EMPTY >
<!ATTLIST XMI.CorbaTcEnumLabel
xmi.tcName CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaTcUnionMbr (XMI.CorbaTypeCode, XMI.any) >
<!ATTLIST XMI.CorbaTcUnionMbr
xmi.tcName CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaTcUnion (XMI.CorbaTypeCode, XMI.CorbaTcUnionMbr*) >
<!ATTLIST XMI.CorbaTcUnion
xmi.tcName CDATA #REQUIRED
xmi.tcId CDATA #IMPLIED
>
<!ELEMENT XMI.CorbaTcExcept (XMI.CorbaTcField)* >
<!ATTLIST XMI.CorbaTcExcept
xmi.tcName CDATA #REQUIRED
xmi.tcId CDATA #IMPLIED
>
<!ELEMENT XMI.CorbaTcString EMPTY >
<!ATTLIST XMI.CorbaTcString
xmi.tcLength CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaTcWstring EMPTY >
<!ATTLIST XMI.CorbaTcWstring
xmi.tcLength CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaTcFixed EMPTY >
<!ATTLIST XMI.CorbaTcFixed
xmi.tcDigits CDATA #REQUIRED
xmi.tcScale CDATA #REQUIRED
>
<!ELEMENT XMI.CorbaTcShort EMPTY >
<!ELEMENT XMI.CorbaTcLong EMPTY >
<!ELEMENT XMI.CorbaTcUshort EMPTY >
<!ELEMENT XMI.CorbaTcUlong EMPTY >
<!ELEMENT XMI.CorbaTcFloat EMPTY >
<!ELEMENT XMI.CorbaTcDouble EMPTY >
<!ELEMENT XMI.CorbaTcBoolean EMPTY >
<!ELEMENT XMI.CorbaTcChar EMPTY >
<!ELEMENT XMI.CorbaTcWchar EMPTY >
<!ELEMENT XMI.CorbaTcOctet EMPTY >
<!ELEMENT XMI.CorbaTcAny EMPTY >
<!ELEMENT XMI.CorbaTcTypeCode EMPTY >
<!ELEMENT XMI.CorbaTcPrincipal EMPTY >
<!ELEMENT XMI.CorbaTcNull EMPTY >
<!ELEMENT XMI.CorbaTcVoid EMPTY >
<!ELEMENT XMI.CorbaTcLongLong EMPTY >
<!ELEMENT XMI.CorbaTcLongDouble EMPTY >
<!-- _______________________________________________________________ -->
<!-- -->
<!-- METAMODEL: SimpleTree -->
<!-- _______________________________________________________________ -->
<!-- _______________________________________________________________ -->
<!-- -->
<!-- METAMODEL CLASS: Node -->
<!-- _______________________________________________________________ -->
<!ELEMENT Node.name (#PCDATA | XMI.reference)* >
<!ELEMENT Node (Node.name?, XMI.extension*)? >
<!ATTLIST Node
%XMI.element.att;
%XMI.link.att;
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- METAMODEL CLASS: innerNode -->
<!-- _______________________________________________________________ -->
<!ELEMENT innerNode.node (Node | innerNode | leafNode)* >
<!ELEMENT innerNode (Node.name?, XMI.extension*, innerNode.node*)? >
<!ATTLIST innerNode
%XMI.element.att;
%XMI.link.att;
>
<!-- _______________________________________________________________ -->
<!-- -->
<!-- METAMODEL CLASS: leafNode -->
<!-- _______________________________________________________________ -->
<!ELEMENT leafNode.information (#PCDATA | XMI.reference)* >
<!ELEMENT leafNode (Node.name?, leafNode.information?,
XMI.extension*)? >
<!ATTLIST leafNode
%XMI.element.att;
%XMI.link.att;
>
<!ELEMENT SimpleTree ((Node | innerNode | leafNode)*) >
<!ATTLIST SimpleTree
%XMI.element.att;
%XMI.link.att;
>
|
|  |
<?xml version="1.0"?>
<!DOCTYPE XMI SYSTEM "SimpleTree.dtd">
<XMI>
<XMI.header>
</XMI.header>
<XMI.content>
<SimpleTree>
<innerNode>
<Node.name>Auto</Node.name>
<innerNode.node>
<leafNode>
<leafNode.information>Rad</leafNode.information>
</leafNode>
<innerNode>
<Node.name>Antrieb</Node.name>
<innerNode.node>
<leafNode>
<leafNode.information>Motor</leafNode.information>
</leafNode>
</innerNode.node>
<innerNode.node>
<innerNode>
<Node.name>Getriebe</Node.name>
<innerNode.node>
<leafNode>
<leafNode.information>ۢersetzung</leafNode.information>
</leafNode>
<leafNode>
<leafNode.information>Antriebsstrang</leafNode.information>
</leafNode>
</innerNode.node>
</innerNode>
</innerNode.node>
</innerNode>
</innerNode.node>
</innerNode>
</SimpleTree>
</XMI.content>
</XMI>

Service provided by Mario Jeckle
Generated: 2004-06-07T12:31:37+01:00
Feedback
SiteMap
This page's original location: http://www.jeckle.de/xmi_ex1.html
RDF description for this page