aboutsummaryrefslogblamecommitdiffstats
path: root/lib/xmerl/test/xmerl_SUITE_data/eventp/mp.dtd
blob: 1f6e31e772afcab754d7b4ae2368d957c665f562 (plain) (tree)

















































































































































































































































































                                                                                                                                   
<!-- 15531-APR 90163: rev F       -->
<!-- Date-            2000-10-16    -->
<!-- Author-          Johnni Sigeti -->
<!-- Author-          Niklas Storm  -->
<!-- Author-          Hui Lin       -->

<!-- Revision History
   A       Raghunath               Squid version
   PB1     epkjsig    1999-09-09   Removed uLong, uShort, union
                                   and inherits.
   PB2     epkjsig    1999-09-23   Rewritten with new
                                   requirements
   PB3     epkjsig    1999-09-26   Updated after team review
   B       epkjsig    1999-10-06   Updated after inspection
   PC1     epkjsig    1999-10-28   Added mandatory attribute
                                   for associations.
   PC2     epkjsig    1999-11-22   Added MORef as attribute
   PC3     qpknian    2000-01-03   Added support object class.
   PC4     qpknian    2000-01-18   Removed illegal characters
                                   in comments.
   PC5     qpknian    2000-01-21   Updated model tag. class and
                                   soClass elements should be in
                                   separate models.
   C       qpknian    2000-02-10   Approved after inspection.
   PD1     qpknian    2000-03-02   Added applicationTag.
                                   Added notificationTypes.
                                   Removed controlled.
                                   Renamed readOnly to advisoryReadOnly.
   PD2     qpknian    2000-03-21   Added softLink to hoppers.
   D       qpknian    2000-04-26   Approved after inspection.
   PE1     qpknian    2000-06-27   Updated for CR41 (use Corba types)
   E       qpknian    2000-09-01   Approved after inspection.
   PF1     eiuhlin    2000-08-21   Updated for CR43 (Rename Model to MIM, add INTER-MIM)
   PF2     eiuhlin    2000-09-20   Support uniDirectionalAssociation and biDirectionalAssociation
                                   Add static to Attribute
                                   Add enumRef and sequence to struct
   PF3     eiuhlin    2000-09-20   Add maxLength to sequence   
   PF4     eiuhlin    2000-09-21   Define Element static 
   PF5     eiuhlin    2000-09-27   Remove ATTLIST name from moRef
   PF6     eiuhlin    2000-10-02   Remove tag <helpRef>, <icon>
                                   Add associationClass to bi and uni-directional association
                                   Change tag <target> to <supported>
                                   Remove ATTLIST name from supporter and supported
                                   Add ATTLIST name to moRef
                                   Remove tag <advisoryReadOnly>
                                   Add tag <readOnly> and <undefined> 
   PF7     eiuhlin    2000-10-04   Add ATTLIST name to interMim
   F       eiuhlin    2000-10-16   Approved after inspection.                                                                      
-->


<!-- Common -->
<!ELEMENT description (#PCDATA)>


<!ELEMENT applicationTag (#PCDATA)>


<!-- Models definition -->
<!ELEMENT models (mim|interMim)*>

<!ELEMENT mim (description?, applicationTag?,

                  (struct | enum | exception)*,
                 class+, relationship*)>
<!ATTLIST mim name ID #REQUIRED
		version CDATA #REQUIRED
		release CDATA #REQUIRED>

<!ELEMENT interMim (description?, applicationTag?,

                  (struct | enum )*,
                      relationship*)>

<!ATTLIST interMim name CDATA #REQUIRED> 

<!-- MO class definition -->
<!ELEMENT class (description?, applicationTag?,
                 systemCreated?, notificationTypes?, (action | attribute)*)>
<!ATTLIST class name CDATA #REQUIRED>

<!ELEMENT systemCreated EMPTY>

<!ELEMENT notificationTypes (#PCDATA)>


<!-- Relations -->
<!ELEMENT relationship (description?, applicationTag?,
                        (biDirectionalAssociation |uniDirectionalAssociation | containment|softLink|support))>
<!ATTLIST relationship name CDATA #REQUIRED>

<!ELEMENT softLink (parent, child+)>

<!ELEMENT support (supporter,supported+)>

<!ELEMENT supporter (description?, applicationTag?,
                hasClass, cardinality?)>

<!ELEMENT supported (description?, applicationTag?,
                hasClass, cardinality?)>

<!ELEMENT biDirectionalAssociation (mandatory?, associationEnd, associationEnd+, associationClass?)>

<!ELEMENT uniDirectionalAssociation (mandatory?, hasClass, associationEnd+, associationClass?)>

<!ELEMENT containment (parent, child+)>

<!ELEMENT associationEnd (description?, applicationTag?,
                hasClass, cardinality?)>
<!ATTLIST associationEnd name CDATA #REQUIRED>

<!ELEMENT associationClass (attribute+)>

<!ELEMENT parent (description?, applicationTag?,
                  hasClass)>
<!ELEMENT child  (description?, applicationTag?,
                  hasClass, cardinality?)>

<!ELEMENT cardinality (min | max | (min, max))>

<!ELEMENT hasClass EMPTY>
<!ATTLIST hasClass name CDATA #REQUIRED
                   inMim CDATA #IMPLIED
                   ofVersion CDATA #IMPLIED>




<!-- Data types -->
<!ENTITY % corbaTypes "boolean | octet | char  | double | float | 
                           long | longlong | short | string | wstring">
<!ENTITY % availableTypes "%corbaTypes; | enumRef | structRef |
                           moRef | sequence">


<!-- For attributes, parameters and exceptions -->
<!ELEMENT dataType   (%availableTypes;)>

<!-- For actions                               -->
<!ELEMENT returnType (void | %availableTypes;)>


<!-- Return data types -->
<!ELEMENT void EMPTY>


<!-- Primitive data types -->
<!ELEMENT boolean (defaultValue?)>

<!ELEMENT octet (range?, defaultValue?)>

<!ELEMENT char (range?, defaultValue?)>

<!ELEMENT double (range?, defaultValue?)>

<!ELEMENT float (range?, defaultValue?)>

<!ELEMENT long (range?, defaultValue?)>

<!ELEMENT longlong (range?, defaultValue?)>

<!ELEMENT short (range?, defaultValue?)>

<!ELEMENT string (lengthRange?, (validValues | alphabet)?, defaultValue?)>

<!ELEMENT wstring (lengthRange?, (validValues | alphabet)?, defaultValue?)>


<!ELEMENT alphabet (#PCDATA)>
<!ELEMENT validValues (#PCDATA)>

<!ELEMENT lengthRange (min?, (min, max)*, max?)>
<!ELEMENT range       (min?, (min, max)*, max?)>

<!ELEMENT max (#PCDATA)>
<!ELEMENT min (#PCDATA)>

<!ELEMENT defaultValue (#PCDATA)>


<!-- Enum data type -->
<!ELEMENT enum (description?, applicationTag?,
                enumMember+, defaultValue?)>
<!ATTLIST enum name CDATA #REQUIRED>

<!ELEMENT enumMember (description?, applicationTag?,
                      value?)>
<!ATTLIST enumMember name CDATA #REQUIRED>

<!ELEMENT enumRef (defaultValue?)>
<!ATTLIST enumRef name CDATA #REQUIRED>

<!ELEMENT value (#PCDATA)>


<!-- Struct data type -->
<!ELEMENT struct (description?, applicationTag?,
                  structMember+)>
<!ATTLIST struct name CDATA #REQUIRED>

<!ELEMENT structMember (description?, applicationTag?,
                        (%corbaTypes; | sequence | enumRef))>
<!ATTLIST structMember name CDATA #REQUIRED>

<!ELEMENT structRef EMPTY>
<!ATTLIST structRef name CDATA #REQUIRED>


<!-- Sequence data type -->
<!ELEMENT sequence ((%corbaTypes; | enumRef | structRef | moRef),
                    length?, maxLength?, nonUnique?)>

<!ELEMENT length (#PCDATA)>

<!ELEMENT maxLength (#PCDATA)>

<!ELEMENT nonUnique EMPTY>


<!-- MoRef data type -->
<!ELEMENT moRef EMPTY>

<!ATTLIST moRef name CDATA #REQUIRED>

<!-- Attribute -->
<!ELEMENT attribute (description?, applicationTag?,
                     local?, mandatory?, noNotification?,
                     nonPersistent?, readOnly?, restricted?, static?,undefined?, dataType)>
<!ATTLIST attribute name CDATA #REQUIRED>


<!-- Attribute controls                                 -->
<!-- nonUnique is defined under the sequence data type. -->

<!ELEMENT local EMPTY>

<!ELEMENT mandatory EMPTY>

<!ELEMENT noNotification EMPTY>

<!ELEMENT nonPersistent EMPTY>

<!ELEMENT readOnly EMPTY>

<!ELEMENT restricted EMPTY>

<!ELEMENT static EMPTY>

<!ELEMENT undefined EMPTY>


<!-- Action -->
<!ELEMENT action (description?, applicationTag?,
                  returnType, parameter*, raisesException*)>
<!ATTLIST action name CDATA #REQUIRED>

<!ELEMENT parameter (description?, applicationTag?,
                     (in | out | inout), dataType)>
<!ATTLIST parameter name CDATA #REQUIRED>

<!ELEMENT in EMPTY>
<!ELEMENT inout EMPTY>
<!ELEMENT out EMPTY>

<!ELEMENT exception (description?, applicationTag?,
                      exceptionParameter*)>
<!ATTLIST exception name CDATA #REQUIRED>

<!ELEMENT exceptionParameter (description?, applicationTag?,
                              dataType)>
<!ATTLIST exceptionParameter name CDATA #REQUIRED>

<!ELEMENT raisesException EMPTY>
<!ATTLIST raisesException name CDATA #REQUIRED>