[Uml-devel] [Bug 56184] Umbrello XMI file format doesn't conform with uml13.dtd
Oliver Kellogg
okellogg at users.sourceforge.net
Tue Dec 21 14:40:02 UTC 2004
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=56184
------- Additional Comments From okellogg users sourceforge net 2004-12-21 23:39 -------
>From Marcus Alanen (maalanen_AT_ra.abo.fi)
<quote>
Stereotype should have an icon="" and baseClass="" attribute.
[...]
AssociationEnds should not have isLeaf, isRoot, isAbstract.
(isSpecification should be there)
AssociationEnds should further have
- isNavigable = "(true|false)"
- type = "id" where id is the id of the class where we point to
- ordering = "(unordered|ordered)" if order of elements matters
- aggregation = "(none|aggregate|composite)" (nothing, empty diamond,
black diamond)
- targetScope = "(instance|classifier)" if it points to objects or classes
- changeability = "(changeable|frozen|addOnly)"
Above, I've tried to give the "most suitable" enumeration value first.
Classes should have:
<UML:Classifier.associationEnd>
<UML:AssociationEnd xmi.idref="e3" />
</UML:Classifier.associationEnd>
where e3 is the AssociationEnd they have. By the way you can add several
easily with
<UML:Classifier.associationEnd>
<UML:AssociationEnd xmi.idref="e3" />
<UML:AssociationEnd xmi.idref="e4" />
<UML:AssociationEnd xmi.idref="e5" />
....
</UML:Classifier.associationEnd>
instead of
<UML:Classifier.associationEnd>
<UML:AssociationEnd xmi.idref="e3" />
</UML:Classifier.associationEnd>
<UML:Classifier.associationEnd>
<UML:AssociationEnd xmi.idref="e4" />
</UML:Classifier.associationEnd>
...
This goes for any such constructs.
All AssociationEnds must have exactly one Multiplicity element as well:
<UML:AssociationEnd.multiplicity>
<UML:Multiplicity xmi.id="e7" >
....
</UML:Multiplicity>
</UML:AssociationEnd.multiplicity>
There can be 0 to many MultiplicityRanges inside a Multiplicity.
<UML:Multiplicity.range>
<UML:MultiplicityRange xmi.id="e8" lower = "0" upper = "5" />
<UML:MultiplicityRange xmi.id="e8" lower = "12" upper = "14" />
<UML:MultiplicityRange xmi.id="e8" lower = "100" upper = "-1" />
</UML:Multiplicity.range>
Regarding XMI.extensions, I think you should declare the XML namespace
(with xmlns:umbrello="http://blahblah/") either
- at top-level XMI together with the xmlns:UML definition,
- at XMI.extensions
- at *every* top-level element inside XMI.extensions:
I think the first one is easiest, and hopefully doesn't cause any
compatibility problems with other tools. Anyway, you need then a
"umbrello:" prefix for every top-level element inside XMI.extensions:
<umbrello:docsettings viewid="118" documentation="" uniqueid="133" />
<umbrello:diagrams> ....</ >
<umbrello:listview> ....</ >
... etc..
The string doesn't have to be "umbrello", it can be anything you want,
since the xmlns declaration is the key.
</quote>
More information about the umbrello-devel
mailing list