<?xml encoding="UTF-8"?> <!-- Copyright (c) 2007-2010 by Kavanagh Consultancy Limited. All rights reserved. --> <!-- OOA of OOA Elements --> <!ELEMENT Project (Description?, Domain*, Bridge*, DomainChart?, Configuration*)> <!ATTLIST Project Name CDATA #REQUIRED Notation (ShlaerMellor | ExecutableUML | ExecutableUML2) "ShlaerMellor" Location CDATA #IMPLIED FormatVersion CDATA #FIXED "0.03"> <!-- Name : Name Notation : Notation Location : URL (1c) FormatVersion : * --> <!ELEMENT Description (#PCDATA)> <!ATTLIST Description TextFormat (Plain | HTML) "Plain"> <!-- TextFormat : * --> <!ELEMENT Domain (MissionStatement?, InformationModel?)> <!ATTLIST Domain Name CDATA #REQUIRED DomainCategory (Application | Service | Architectural | Implementation) "Service"> <!-- Name : Name DomainCategory : Domain Category --> <!ELEMENT MissionStatement (#PCDATA)> <!ATTLIST MissionStatement TextFormat (Plain | HTML) "Plain"> <!-- TextFormat : * --> <!ELEMENT InformationModel (Description?, (EnumeratedType | SymbolicType | NumericType)*, Object*, (SimpleRelationship | AssociativeRelationship | ComposedRelationship | MathematicallyDependentRelationship | SubtypeSupertypeRelationship)*, Subsystem*, (LifecycleModel | SingleAssignerModel | MultipleAssignerModel | Terminator | PolymorphicDestination)*, ((SubsystemRelationshipModel?, SubsystemCommunicationModel?) | (ObjectInformationModel?, ObjectCommunicationModel?, Report?)), PatternFile*)> <!ATTLIST InformationModel Name CDATA #REQUIRED ManualObjectNumbering (False | True) "False" ManualRelationshipNumbering (False | True) "False"> <!-- Name : Name ManualObjectNumbering : Boolean ManualRelationshipNumbering : Boolean --> <!ELEMENT EnumeratedType (Description?, LegalValue+)> <!ATTLIST EnumeratedType Name CDATA #REQUIRED Predefined (False | True) "False" DefaultValue CDATA #IMPLIED> <!-- Name : Name Predefined : Boolean DefaultValue (R) : Name (1c) --> <!ELEMENT LegalValue (Description?)> <!ATTLIST LegalValue Name CDATA #REQUIRED> <!-- Name : Name --> <!ELEMENT SymbolicType (Description?, Pattern?)> <!ATTLIST SymbolicType Name CDATA #REQUIRED Predefined (False | True) "False" MinimumLength CDATA "0" MaximumLength CDATA #IMPLIED DefaultValue CDATA #IMPLIED> <!-- Name : Name Predefined : Boolean MinimumLength : Non-Negative Integer MaximumLength : Non-Negative Integer (1c) DefaultValue : String (1c) --> <!ELEMENT Pattern (#PCDATA)> <!ELEMENT NumericType (Description?)> <!ATTLIST NumericType Name CDATA #REQUIRED Predefined (False | True) "False" ValueFormat (Binary | Octal | Decimal | Hexadecimal | Time) "Decimal" Unit CDATA "" TimeUnit (Year | Month | Day | Hour | Minute | Second | Millisecond | Microsecond | Nanosecond) #IMPLIED MinimumValue CDATA #IMPLIED MaximumValue CDATA #IMPLIED MaximumDecimalPlaces CDATA #IMPLIED PreferredDecimalPlaces CDATA "0" Precision CDATA #IMPLIED DefaultValue CDATA #IMPLIED> <!-- Name : Name Predefined : Boolean ValueFormat : Value Format Unit : Name (1c) TimeUnit (M) : Time Unit (1c) MinimumValue : Real (1c) MaximumValue : Real (1c) MaximumDecimalPlaces : Integer (1c) PreferredDecimalPlaces : Non-Negative Integer Precision (M) : Real DefaultValue : Real (1c) --> <!ELEMENT Object (Description?, (SimpleAttribute | MathematicallyDependentAttribute | ReferentialAttribute | PolymorphicAttribute)*, Identifier*)> <!ATTLIST Object Name CDATA #REQUIRED FirstLetters CDATA #IMPLIED CustomLetters CDATA "" KeyLetters CDATA #IMPLIED ManualNumber CDATA "" Number CDATA #IMPLIED ObjectCategory (TangibleThing | Role | Incident | Interaction | Specification) #IMPLIED Prominent (False | True) "False"> <!-- Name : Name FirstLetters (M) : Key Letters CustomLetters : Key Letters (1c) KeyLetters (M) : Key Letters ManualNumber : Positive Integer (1c) Number (M) : Positive Integer ObjectCategory : Object Category (1c) Prominent : Boolean --> <!ELEMENT SimpleAttribute (Description?, ValueDomain?)> <!ATTLIST SimpleAttribute Name CDATA #REQUIRED Naming (False | True) "False" IdentifyingSuffix CDATA #IMPLIED ManualDataType CDATA "" DataType CDATA #IMPLIED InitialValue CDATA #IMPLIED FinalValue (False | True) "False" ManualConditional (False | True) "False" Conditional (False | True) #IMPLIED> <!-- Name : Name Naming : Boolean IdentifyingSuffix (M) : String ManualDataType (R) : Name (1c) // #REQUIRED if InitialValue specified DataType (M) : Name (1c) InitialValue : String (1c) FinalValue : Boolean ManualConditional : Boolean Conditional (M) : Boolean --> <!ELEMENT ValueDomain (#PCDATA)> <!ATTLIST ValueDomain TextFormat (Plain | HTML) "Plain"> <!-- TextFormat : * --> <!ELEMENT MathematicallyDependentAttribute (Description?, ValueDomain?)> <!ATTLIST MathematicallyDependentAttribute Name CDATA #REQUIRED IdentifyingSuffix CDATA #IMPLIED ManualDataType CDATA "" DataType CDATA #IMPLIED ManualConditional (False | True) "False" Conditional (False | True) #IMPLIED> <!-- Name : Name IdentifyingSuffix (M) : String ManualDataType (R) : Name (1c) DataType (M) : Name (1c) ManualConditional : Boolean Conditional (M) : Boolean --> <!ELEMENT ReferentialAttribute (Description?)> <!ATTLIST ReferentialAttribute Name CDATA #REQUIRED IdentifyingSuffix CDATA #IMPLIED ReferentialSuffix CDATA #IMPLIED BaseAttribute CDATA #IMPLIED BaseAttributeStatus (Unresolved | PartiallyResolved | FullyResolved | Incompatible | MultipleBaseAttributes | OnlyCircularReferences) #IMPLIED ManualDataType CDATA "" DataType CDATA #IMPLIED LiteralValue CDATA #IMPLIED ManualConditional (False | True) "False" NavigationConditional (False | True) #IMPLIED Conditional (False | True) #IMPLIED> <!-- Name : Name IdentifyingSuffix (M) : String ReferentialSuffix (M) : String BaseAttribute (M) : Name (1c) BaseAttributeStatus (M) : Base Attribute Status ManualDataType (R) : Name (1c) // #REQUIRED if LiteralValue specified DataType (M) : Name (1c) LiteralValue : String (1c) ManualConditional : Boolean NavigationConditional (M) : Boolean Conditional (M) : Boolean --> <!ELEMENT PolymorphicAttribute (PolymorphicAttributeMapping*, Description?)> <!ATTLIST PolymorphicAttribute Name CDATA #REQUIRED IdentifyingSuffix CDATA #IMPLIED SubtypeSupertypeRelationship CDATA "" MappingComplete (False | True) #IMPLIED MappingCompatible (False | True) #IMPLIED ManualDataType CDATA "" DataType CDATA #IMPLIED ManualConditional (False | True) "False" Conditional (False | True) #IMPLIED> <!-- Name : Name IdentifyingSuffix (M) : String SubtypeSupertypeRelationship (R) : String (1c) MappingComplete (M) : Boolean MappingCompatible (M) : Boolean ManualDataType (R) : Name (1c) DataType (M) : Name (1c) ManualConditional : Boolean Conditional (M) : Boolean --> <!ELEMENT PolymorphicAttributeMapping EMPTY> <!ATTLIST PolymorphicAttributeMapping SubtypeObject CDATA #REQUIRED SubtypeAttribute CDATA #REQUIRED> <!-- SubtypeObject (R) : Name SubtypeAttribute (R) : Name --> <!ELEMENT Identifier (IdentifyingAttribute+)> <!ATTLIST Identifier IdentifierID CDATA #IMPLIED Preferred (False | True) "False"> <!-- IdentifierID (M) : String Preferred : Boolean --> <!ELEMENT IdentifyingAttribute EMPTY> <!ATTLIST IdentifyingAttribute Attribute CDATA #REQUIRED> <!-- Attribute (R) : Name --> <!ELEMENT SimpleRelationship (Description?, ((FirstParticipant, SecondParticipant) | (SecondParticipant, FirstParticipant)), LoopTraversalMapping*)> <!ATTLIST SimpleRelationship ManualNumber CDATA "" Number CDATA #IMPLIED RelationshipID CDATA #REQUIRED> <!-- ManualNumber : Positive Integer (1c) Number (M) : Positive Integer RelationshipID (M) : String // Should be #IMPLIED --> <!ELEMENT FirstParticipant (FirstToSecondMapping?)> <!ATTLIST FirstParticipant Object CDATA #REQUIRED Role CDATA "first" VerbPhrase CDATA "" Many (False | True) "False" Conditional (False | True) "False"> <!-- Object (R) : Name Role : Name VerbPhrase : Name (1c) Many : Boolean Conditional : Boolean --> <!ELEMENT FirstToSecondMapping (ReferentialAttributeMapping+)> <!ATTLIST FirstToSecondMapping TargetIdentifier CDATA #REQUIRED> <!-- TargetIdentifier (R) : String --> <!ELEMENT ReferentialAttributeMapping EMPTY> <!ATTLIST ReferentialAttributeMapping ReferentialAttribute CDATA #REQUIRED IdentifyingAttribute CDATA #REQUIRED Constrained (False | True) "False" LoopConstrained (False | True) #IMPLIED> <!-- ReferentialAttribute (R) : Name IdentifyingAttribute (R) : Name Constrained : Boolean LoopConstrained (M) : Boolean --> <!ELEMENT SecondParticipant (SecondToFirstMapping?)> <!ATTLIST SecondParticipant Object CDATA #REQUIRED Role CDATA "second" VerbPhrase CDATA "" Many (False | True) "False" Conditional (False | True) "False"> <!-- Object (R) : Name Role : Name VerbPhrase : Name (1c) Many : Boolean Conditional : Boolean --> <!ELEMENT SecondToFirstMapping (ReferentialAttributeMapping+)> <!ATTLIST SecondToFirstMapping TargetIdentifier CDATA #REQUIRED> <!-- TargetIdentifier (R) : String --> <!ELEMENT LoopTraversalMapping EMPTY> <!ATTLIST LoopTraversalMapping Relationship CDATA #REQUIRED SourceObject CDATA #IMPLIED SourceRole CDATA #IMPLIED TargetObject CDATA #REQUIRED TargetRole CDATA #IMPLIED> <!-- Relationship (R) : String SourceObject (R) : Name SourceRole (R) : Name TargetObject (R) : Name TargetRole (R) : Name --> <!ELEMENT AssociativeRelationship (Description?, FirstParticipant, SecondParticipant, AssociativeParticipant, LoopTraversalMapping*)> <!ATTLIST AssociativeRelationship ManualNumber CDATA "" Number CDATA #IMPLIED RelationshipID CDATA #REQUIRED> <!-- ManualNumber : Positive Integer (1c) Number (M) : Positive Integer RelationshipID (M) : String // Should be #IMPLIED --> <!ELEMENT AssociativeParticipant (AssociativeToFirstMapping?, AssociativeToSecondMapping?)> <!ATTLIST AssociativeParticipant Object CDATA #REQUIRED Role CDATA #FIXED "associative" VerbPhrase CDATA "" ConnectorPhrase CDATA "" Many (False | True) "False" Conditional (False | True) "False"> <!-- Object (R) : Name Role : Name = "associative" VerbPhrase : Name (1c) ConnectorPhrase : Name (1c) Many : Boolean Conditional : Boolean --> <!ELEMENT AssociativeToFirstMapping (ReferentialAttributeMapping+)> <!ATTLIST AssociativeToFirstMapping TargetIdentifier CDATA #REQUIRED> <!-- TargetIdentifier (R) : String --> <!ELEMENT AssociativeToSecondMapping (ReferentialAttributeMapping+)> <!ATTLIST AssociativeToSecondMapping TargetIdentifier CDATA #REQUIRED> <!-- TargetIdentifier (R) : String --> <!ELEMENT ComposedRelationship (Description?, ((FirstParticipant, SecondParticipant) | (SecondParticipant, FirstParticipant)), LoopTraversalMapping, LoopTraversalMapping+)> <!ATTLIST ComposedRelationship ManualNumber CDATA "" Number CDATA #IMPLIED RelationshipID CDATA #REQUIRED> <!-- ManualNumber : Positive Integer (1c) Number (M) : Positive Integer RelationshipID (M) : String // Should be #IMPLIED --> <!ELEMENT MathematicallyDependentRelationship (Description?, FirstParticipant, SecondParticipant, LoopTraversalMapping*)> <!ATTLIST MathematicallyDependentRelationship ManualNumber CDATA "" Number CDATA #IMPLIED RelationshipID CDATA #REQUIRED> <!-- ManualNumber : Positive Integer (1c) Number (M) : Positive Integer RelationshipID (M) : String // Should be #IMPLIED --> <!ELEMENT SubtypeSupertypeRelationship (Description?, SupertypeParticipant, SubtypeParticipant, SubtypeParticipant+)> <!ATTLIST SubtypeSupertypeRelationship ManualNumber CDATA "" Number CDATA #IMPLIED RelationshipID CDATA #REQUIRED> <!-- ManualNumber : Positive Integer (1c) Number (M) : Positive Integer RelationshipID (M) : String // Should be #IMPLIED --> <!ELEMENT SupertypeParticipant EMPTY> <!ATTLIST SupertypeParticipant Object CDATA #REQUIRED Role CDATA #FIXED "supertype"> <!-- Object (R) : Name Role : Name = "supertype" --> <!ELEMENT SubtypeParticipant (SubtypeToSupertypeMapping?)> <!ATTLIST SubtypeParticipant Object CDATA #REQUIRED Role CDATA #FIXED "subtype"> <!-- Object (R) : Name Role : Name = "subtype" --> <!ELEMENT SubtypeToSupertypeMapping (ReferentialAttributeMapping+)> <!ATTLIST SubtypeToSupertypeMapping TargetIdentifier CDATA #REQUIRED> <!-- TargetIdentifier (R) : String --> <!ELEMENT Subsystem (Description?, AssignedObject*, AssignedRelationship*, ObjectInformationModel?, ObjectCommunicationModel?, Report?)> <!ATTLIST Subsystem Name CDATA #REQUIRED PrefixLetters CDATA "" ManualLowestNumber CDATA "" ManualHighestNumber CDATA "" LowestNumber CDATA #IMPLIED HighestNumber CDATA #IMPLIED> <!-- Name : Name PrefixLetters : Key Letters (1c) ManualLowestNumber : Positive Integer (1c) ManualHighestNumber : Positive Integer (1c) LowestNumber (M) : Positive Integer HighestNumber (M) : Positive Integer --> <!ELEMENT AssignedObject EMPTY> <!ATTLIST AssignedObject Object CDATA #REQUIRED> <!-- Object (R) : Name --> <!ELEMENT AssignedRelationship EMPTY> <!ATTLIST AssignedRelationship Relationship CDATA #REQUIRED> <!-- Relationship (R) : String --> <!ELEMENT LifecycleModel (Description?, (AttributeDataItem | TransientDataItem)*, (CreationEvent | TransitionEvent)*, TransitionNote*, (SimpleState | CreationState | DeletionState)*, StateTransitionDiagram?)> <!ATTLIST LifecycleModel ActiveObject CDATA #REQUIRED ManualEventNumbering (False | True) "False" LabelPrefix CDATA #IMPLIED ManualStateNumbering (False | True) "False"> <!-- ActiveObject (R) : Name ManualEventNumbering : Boolean LabelPrefix (M) : String ManualStateNumbering : Boolean --> <!ELEMENT AttributeDataItem (Description?)> <!ATTLIST AttributeDataItem Name CDATA #REQUIRED Object CDATA #REQUIRED Attribute CDATA #REQUIRED Many (False | True) "False" Conditional (False | True) "False"> <!-- Name : Name Object (R) : Name Attribute (R) : Name Many : Boolean Conditional : Boolean --> <!ELEMENT TransientDataItem (Description?)> <!ATTLIST TransientDataItem Name CDATA #REQUIRED DataType CDATA "" Many (False | True) "False" Conditional (False | True) "False"> <!-- Name : Name DataType (R) : Name (1c) Many : Boolean Conditional : Boolean --> <!ELEMENT CreationEvent (CarriedDataItem*, Description?)> <!ATTLIST CreationEvent Meaning CDATA #REQUIRED ManualNumber CDATA "" Number CDATA #IMPLIED Label CDATA #IMPLIED> <!-- Meaning (R) : Name ManualNumber : Positive Integer (1c) Number (M) : Positive Integer Label (M) : String --> <!ELEMENT CarriedDataItem EMPTY> <!ATTLIST CarriedDataItem SupplementalDataItem CDATA #REQUIRED> <!-- SupplementalDataItem (R) : Name --> <!ELEMENT TransitionEvent (CarriedDataItem*, Description?)> <!ATTLIST TransitionEvent Meaning CDATA #REQUIRED ManualNumber CDATA "" Number CDATA #IMPLIED Label CDATA #IMPLIED> <!-- Meaning (R) : Name ManualNumber : Positive Integer (1c) Number (M) : Positive Integer Label (M) : String --> <!ELEMENT TransitionNote (Description?)> <!ATTLIST TransitionNote TransitionNoteID CDATA #IMPLIED> <!-- TransitionNoteID (M) : String --> <!ELEMENT SimpleState (Description?, ReceivedDataItem*, SimpleAction?, InternalEvent*, (NewStateTransition | EventIgnoredTransition | CannotHappenTransition)*)> <!ATTLIST SimpleState Name CDATA #REQUIRED ManualNumber CDATA "" Number CDATA #IMPLIED InitialState (False | True) "False" FinalState (False | True) #IMPLIED WaitState (False | True) #IMPLIED TransitionEventsCompatible (False | True) #IMPLIED> <!-- Name : Name ManualNumber : Positive Integer (1c) Number (M) : Positive Integer InitialState : Boolean FinalState (M) : Boolean WaitState (M) : Boolean TransitionEventsCompatible (M) : Boolean --> <!ELEMENT ReceivedDataItem EMPTY> <!ATTLIST ReceivedDataItem SupplementalDataItem CDATA #REQUIRED> <!-- SupplementalDataItem (R) : Name --> <!ELEMENT SimpleAction (StatementBlock?)> <!ATTLIST SimpleAction MaximumVisibleLOC CDATA ""> <!-- MaximumVisibleLOC : Non-Negative Integer (1c) --> <!ELEMENT StatementBlock (#PCDATA)> <!ELEMENT InternalEvent EMPTY> <!ATTLIST InternalEvent Event CDATA #REQUIRED> <!-- Event (R) : String --> <!ELEMENT NewStateTransition EMPTY> <!ATTLIST NewStateTransition TransitionEvent CDATA #REQUIRED NewState CDATA #REQUIRED NewStateCompatible (False | True) #IMPLIED TransferOfControl (False | True) "False" TransitionNote CDATA ""> <!-- TransitionEvent (R) : Name NewState (R) : Name NewStateCompatible (M) : Boolean TransferOfControl : Boolean TransitionNote (R) : String (1c) --> <!ELEMENT EventIgnoredTransition EMPTY> <!ATTLIST EventIgnoredTransition TransitionEvent CDATA #REQUIRED TransitionNote CDATA ""> <!-- TransitionEvent (R) : Name TransitionNote (R) : String (1c) --> <!ELEMENT CannotHappenTransition EMPTY> <!ATTLIST CannotHappenTransition TransitionEvent CDATA #REQUIRED TransitionNote CDATA ""> <!-- TransitionEvent (R) : Name TransitionNote (R) : String (1c) --> <!ELEMENT CreationState (Description?, ReceivedDataItem*, SimpleAction?, InternalEvent*, (NewStateTransition | EventIgnoredTransition | CannotHappenTransition)*)> <!ATTLIST CreationState Name CDATA #REQUIRED ManualNumber CDATA "" Number CDATA #IMPLIED CreationEvent CDATA #REQUIRED CreationEventCompatible (False | True) #IMPLIED InitialState (False | True) "False" FinalState (False | True) #IMPLIED WaitState (False | True) #IMPLIED> <!-- Name : Name ManualNumber : Positive Integer (1c) Number (M) : Positive Integer CreationEvent (R) : Name CreationEventCompatible (M) : Boolean InitialState : Boolean FinalState (M) : Boolean WaitState (M) : Boolean --> <!ELEMENT DeletionState (Description?, ReceivedDataItem*, SimpleAction?, InternalEvent*)> <!ATTLIST DeletionState Name CDATA #REQUIRED ManualNumber CDATA "" Number CDATA #IMPLIED TransitionEventsCompatible (False | True) #IMPLIED> <!-- Name : Name ManualNumber : Positive Integer (1c) Number (M) : Positive Integer TransitionEventsCompatible (M) : Boolean --> <!ELEMENT SingleAssignerModel (Description?, (AttributeDataItem | TransientDataItem)*, TransitionEvent*, TransitionNote*, SimpleState*, StateTransitionDiagram?)> <!ATTLIST SingleAssignerModel CompetitiveRelationship CDATA #REQUIRED ManualEventNumbering (False | True) "False" LabelPrefix CDATA #IMPLIED ManualStateNumbering (False | True) "False"> <!-- CompetitiveRelationship (R) : String ManualEventNumbering : Boolean LabelPrefix (M) : String ManualStateNumbering : Boolean --> <!ELEMENT MultipleAssignerModel (Description?, (AttributeDataItem | TransientDataItem)*, TransitionEvent*, TransitionNote*, SimpleState*, StateTransitionDiagram?)> <!ATTLIST MultipleAssignerModel CompetitiveRelationship CDATA #REQUIRED PartitioningObject CDATA #REQUIRED ManualEventNumbering (False | True) "False" LabelPrefix CDATA #IMPLIED ManualStateNumbering (False | True) "False"> <!-- CompetitiveRelationship (R) : String PartitioningObject (R) : Name ManualEventNumbering : Boolean LabelPrefix (M) : String ManualStateNumbering : Boolean --> <!ELEMENT Terminator (Description?, (AttributeDataItem | TransientDataItem)*, DomainCrossingEvent*, ExternalEvent*)> <!ATTLIST Terminator Name CDATA #REQUIRED FirstLetters CDATA #IMPLIED CustomLetters CDATA "" KeyLetters CDATA #IMPLIED ManualEventNumbering (False | True) "False" LabelPrefix CDATA #IMPLIED> <!-- Name (R) : String FirstLetters (M) : Key Letters CustomLetters : Key Letters (1c) KeyLetters (M) : Key Letters ManualEventNumbering : Boolean LabelPrefix (M) : String --> <!ELEMENT DomainCrossingEvent (CarriedDataItem*, Description?)> <!ATTLIST DomainCrossingEvent Meaning CDATA #REQUIRED ManualNumber CDATA "" Number CDATA #IMPLIED Label CDATA #IMPLIED> <!-- Meaning (R) : Name ManualNumber : Positive Integer (1c) Number (M) : Positive Integer Label (M) : String --> <!ELEMENT ExternalEvent EMPTY> <!ATTLIST ExternalEvent Event CDATA #REQUIRED> <!-- Event (R) : String --> <!ELEMENT PolymorphicDestination (Description?, (AttributeDataItem | TransientDataItem)*, PolymorphicEvent*)> <!ATTLIST PolymorphicDestination SubtypeSupertypeRelationship CDATA #REQUIRED ManualEventNumbering (False | True) "False" LabelPrefix CDATA #IMPLIED> <!-- SubtypeSupertypeRelationship (R) : String ManualEventNumbering : Boolean LabelPrefix (M) : String --> <!ELEMENT PolymorphicEvent (CarriedDataItem*, Description?, PolymorphicEventMapping*)> <!ATTLIST PolymorphicEvent Meaning CDATA #REQUIRED ManualNumber CDATA "" Number CDATA #IMPLIED Label CDATA #IMPLIED MappingComplete CDATA #IMPLIED MappingCompatible CDATA #IMPLIED> <!-- Meaning (R) : Name ManualNumber : Positive Integer (1c) Number (M) : Positive Integer Label (M) : String MappingComplete (M) : Boolean MappingCompatible (M) : Boolean --> <!ELEMENT PolymorphicEventMapping EMPTY> <!ATTLIST PolymorphicEventMapping SubtypeEvent CDATA #REQUIRED> <!-- SubtypeEvent (R) : String --> <!ELEMENT PatternFile (#PCDATA)> <!ATTLIST PatternFile Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Cached (False | True) "False" RuleSetName CDATA #REQUIRED> <!-- Path : * RelativePath : * Cached : * RuleSetName : * --> <!ELEMENT Bridge (ClientAssumptions?, ServerRequirements?)> <!ATTLIST Bridge ClientDomain CDATA #REQUIRED ServerDomain CDATA #REQUIRED> <!-- ClientDomain (R) : Name ServerDomain (R) : Name --> <!ELEMENT ClientAssumptions (#PCDATA)> <!ATTLIST ClientAssumptions TextFormat (Plain | HTML) "Plain"> <!-- TextFormat : * --> <!ELEMENT ServerRequirements (#PCDATA)> <!ATTLIST ServerRequirements TextFormat (Plain | HTML) "Plain"> <!-- TextFormat : * --> <!ELEMENT Configuration (Description?, ArchetypeFile*, Translation*)> <!ATTLIST Configuration Name CDATA #REQUIRED> <!-- Name : * --> <!ELEMENT ArchetypeFile (#PCDATA)> <!ATTLIST ArchetypeFile Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Cached (False | True) "False"> <!-- Path : * RelativePath : * Cached : * --> <!ELEMENT Translation (ErrorMessages?, GeneratedFile*, Notes?)> <!ATTLIST Translation ArchetypeFile CDATA #REQUIRED StartTime CDATA #REQUIRED Duration CDATA #REQUIRED ExitStatus CDATA #REQUIRED> <!-- ArchetypeFile : * StartTime : * Duration : * ExitStatus : * --> <!ELEMENT ErrorMessages (#PCDATA)> <!ATTLIST ErrorMessages TextFormat (Plain | HTML) "Plain"> <!-- TextFormat : * --> <!ELEMENT GeneratedFile (#PCDATA)> <!ATTLIST GeneratedFile Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Cached (False | True) "False"> <!-- Path : * RelativePath : * Cached : * --> <!ELEMENT Notes (#PCDATA)> <!ATTLIST Notes TextFormat (Plain | HTML) "Plain"> <!-- TextFormat : * --> <!-- Diagramming Elements --> <!-- All diagrams are optional in OOA Interchange Format. --> <!ELEMENT DomainChart (Shape*, BinaryLink*)> <!ATTLIST DomainChart Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Width CDATA #REQUIRED Height CDATA #REQUIRED Font CDATA #REQUIRED Notation (ShlaerMellor | ExecutableUML | ExecutableUML2) "ShlaerMellor"> <!-- Path : * RelativePath : * Width : Non-Negative Integer Height : Non-Negative Integer Font : Font Notation : Notation --> <!ELEMENT SubsystemRelationshipModel (Shape*, BinaryLink*)> <!ATTLIST SubsystemRelationshipModel Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Width CDATA #REQUIRED Height CDATA #REQUIRED Font CDATA #REQUIRED Notation (ShlaerMellor | ExecutableUML | ExecutableUML2) "ShlaerMellor"> <!-- Path : * RelativePath : * Width : Non-Negative Integer Height : Non-Negative Integer Font : Font Notation : Notation --> <!ELEMENT SubsystemCommunicationModel (Shape*, BinaryLink*)> <!ATTLIST SubsystemCommunicationModel Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Width CDATA #REQUIRED Height CDATA #REQUIRED Font CDATA #REQUIRED Notation (ShlaerMellor | ExecutableUML | ExecutableUML2) "ShlaerMellor"> <!-- Path : * RelativePath : * Width : Non-Negative Integer Height : Non-Negative Integer Font : Font Notation : Notation --> <!ELEMENT ObjectInformationModel (Shape*, (BinaryLink | SpurLink | ParentLink | ChildLink)*)> <!ATTLIST ObjectInformationModel Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Width CDATA #REQUIRED Height CDATA #REQUIRED Font CDATA #REQUIRED Notation (ShlaerMellor | ExecutableUML | ExecutableUML2) "ShlaerMellor"> <!-- Path : * RelativePath : * Width : Non-Negative Integer Height : Non-Negative Integer Font : Font Notation : Notation --> <!ELEMENT ObjectCommunicationModel (Shape*, BinaryLink*)> <!ATTLIST ObjectCommunicationModel Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Width CDATA #REQUIRED Height CDATA #REQUIRED Font CDATA #REQUIRED Notation (ShlaerMellor | ExecutableUML | ExecutableUML2) "ShlaerMellor"> <!-- Path : * RelativePath : * Width : Non-Negative Integer Height : Non-Negative Integer Font : Font Notation : Notation --> <!ELEMENT StateTransitionDiagram (Shape*, (BinaryLink | SimpleUnaryLink)*)> <!ATTLIST StateTransitionDiagram Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Width CDATA #REQUIRED Height CDATA #REQUIRED Font CDATA #REQUIRED Notation (ShlaerMellor | ExecutableUML | ExecutableUML2) "ShlaerMellor"> <!-- Path : * RelativePath : * Width : Non-Negative Integer Height : Non-Negative Integer Font : Font Notation : Notation --> <!ELEMENT Shape EMPTY> <!ATTLIST Shape Name CDATA #REQUIRED X CDATA #REQUIRED Y CDATA #REQUIRED Width CDATA #REQUIRED Height CDATA #REQUIRED PreferredSizeUsage (None | UseAsSize | UseAsMinimumSize | UseAsMaximumSize) "UseAsSize"> <!-- Name : String X : Integer Y : Integer Width : Non-Negative Integer Height : Non-Negative Integer PreferredSizeUsage : Preferred Size Usage --> <!ELEMENT BinaryLink (WayPoint*)> <!ATTLIST BinaryLink LinkID CDATA #REQUIRED SourceShape CDATA #REQUIRED TargetShape CDATA #REQUIRED LabelAnchorFlipped (False | True) "False"> <!-- LinkID : String SourceShape (R) : String TargetShape (R) : String LabelAnchorFlipped : Boolean --> <!ELEMENT WayPoint EMPTY> <!ATTLIST WayPoint X CDATA #REQUIRED Y CDATA #REQUIRED> <!-- X : Integer Y : Integer --> <!ELEMENT SimpleUnaryLink (WayPoint*, TargetPoint)> <!ATTLIST SimpleUnaryLink LinkID CDATA #REQUIRED SourceShape CDATA #REQUIRED> <!-- LinkID : String SourceShape (R) : String --> <!ELEMENT TargetPoint EMPTY> <!ATTLIST TargetPoint X CDATA #REQUIRED Y CDATA #REQUIRED> <!-- X : Integer Y : Integer --> <!ELEMENT SpurLink (WayPoint*, TargetPoint)> <!ATTLIST SpurLink LinkID CDATA #REQUIRED SourceShape CDATA #REQUIRED> <!-- LinkID : String SourceShape (R) : String --> <!ELEMENT ParentLink (WayPoint*, TargetPoint)> <!ATTLIST ParentLink LinkID CDATA #REQUIRED SourceShape CDATA #REQUIRED> <!-- LinkID : String SourceShape (R) : String --> <!ELEMENT ChildLink (WayPoint*)> <!ATTLIST ChildLink LinkID CDATA #REQUIRED SourceShape CDATA #REQUIRED> <!-- LinkID : String SourceShape (R) : String --> <!-- Reporting Elements --> <!-- All reports are optional in OOA Interchange Format. Furthermore, all reporting elements will become obsolete when current Information Model Report is replaced with an archetype template. --> <!ELEMENT Report (Attachment*)> <!ATTLIST Report Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Id CDATA #REQUIRED> <!-- Path : * RelativePath : * Id : * --> <!ELEMENT Attachment EMPTY> <!ATTLIST Attachment Path CDATA #IMPLIED RelativePath CDATA #IMPLIED Id CDATA #REQUIRED> <!-- Path : * RelativePath : * Id : * --> <!-- End of File -->