Issue 7788: A schema definition has to be added for the completeness of the specificati (uml2di-ftf) Source: Gentleware AG (Dr. Marko Boger, marko.boger@gentleware.com marketing@gentleware.com) Nature: Uncategorized Issue Severity: Summary: A schema definition has to be added for the completeness of the specification Resolution: Revised Text: Appendix: Schema <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:org.omg.uml2.diagram_interchange= "http://schema.omg.org/uml2/diagram_interchange.xml" targetNamespace= "http://schema.omg.org/uml2/diagram_interchange.xml"> <xsd:import schemaLocation="XMI.xsd" namespace="http://www.omg.org/XMI"/> <xsd:complexType name="BezierPoint"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:Point"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="controls" type="org.omg.uml2.diagram_interchange:Point"/> </xsd:choice> <xsd:attribute name="controls" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="BezierPoint" type="org.omg.uml2.diagram_interchange:BezierPoint"/> <xsd:complexType name="CoreSemanticModelBridge"> <xsd:complexContent> <xsd:extension base= "org.omg.uml2.diagram_interchange:SemanticModelBridge"> <xsd:attribute name="element" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="CoreSemanticModelBridge" type= "org.omg.uml2.diagram_interchange:CoreSemanticModelBridge"/> <xsd:complexType name="Diagram"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:GraphNode"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="viewport" type="org.omg.uml2.diagram_interchange:Point"/> <xsd:element name="diagramLink" type="org.omg.uml2.diagram_interchange:DiagramLink"/> <xsd:element name="owner" type= "org.omg.uml2.diagram_interchange:SemanticModelBridge"/> </xsd:choice> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="zoom" type="xsd:double"/> <xsd:attribute name="viewport" type="xsd:string"/> <xsd:attribute name="diagramLink" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="Diagram" type="org.omg.uml2.diagram_interchange:Diagram"/> <xsd:complexType name="DiagramElement"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="property" type="org.omg.uml2.diagram_interchange:Property"/> <xsd:element name="reference" type="org.omg.uml2.diagram_interchange:Reference"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="isVisible" type="xsd:boolean"/> <xsd:attribute name="reference" type="xsd:string"/> </xsd:complexType> <xsd:element name="DiagramElement" type="org.omg.uml2.diagram_interchange:DiagramElement"/> <xsd:complexType name="DiagramLink"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="viewport" type="org.omg.uml2.diagram_interchange:Point"/> <xsd:element name="diagram" type="org.omg.uml2.diagram_interchange:Diagram"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="zoom" type="xsd:double"/> <xsd:attribute name="viewport" type="xsd:string"/> <xsd:attribute name="diagram" type="xsd:string"/> </xsd:complexType> <xsd:element name="DiagramLink" type="org.omg.uml2.diagram_interchange:DiagramLink"/> <xsd:complexType name="Dimension"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="width" type="xsd:double"/> <xsd:attribute name="height" type="xsd:double"/> </xsd:complexType> <xsd:element name="Dimension" type="org.omg.uml2.diagram_interchange:Dimension"/> <xsd:complexType name="Ellipse"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:GraphicPrimitive"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="center" type="org.omg.uml2.diagram_interchange:Point"/> </xsd:choice> <xsd:attribute name="radiusX" type="xsd:double"/> <xsd:attribute name="radiusY" type="xsd:double"/> <xsd:attribute name="rotation" type="xsd:double"/> <xsd:attribute name="startAngle" type="xsd:double"/> <xsd:attribute name="endAngle" type="xsd:double"/> <xsd:attribute name="center" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="Ellipse" type="org.omg.uml2.diagram_interchange:Ellipse"/> <xsd:complexType name="GraphConnector"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="position" type="org.omg.uml2.diagram_interchange:Point"/> <xsd:element name="graphEdge" type="org.omg.uml2.diagram_interchange:GraphEdge"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="position" type="xsd:string"/> <xsd:attribute name="graphEdge" type="xsd:string"/> </xsd:complexType> <xsd:element name="GraphConnector" type="org.omg.uml2.diagram_interchange:GraphConnector"/> <xsd:complexType name="GraphEdge"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:GraphElement"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="waypoints" type="org.omg.uml2.diagram_interchange:Point"/> <xsd:element name="anchor" type="org.omg.uml2.diagram_interchange:GraphConnector"/> </xsd:choice> <xsd:attribute name="waypoints" type="xsd:string"/> <xsd:attribute name="anchor" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="GraphEdge" type="org.omg.uml2.diagram_interchange:GraphEdge"/> <xsd:complexType name="GraphElement"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:DiagramElement"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="position" type="org.omg.uml2.diagram_interchange:Point"/> <xsd:element name="anchorage" type="org.omg.uml2.diagram_interchange:GraphConnector"/> <xsd:element name="contained" type="org.omg.uml2.diagram_interchange:DiagramElement"/> <xsd:element name="semanticModel" type= "org.omg.uml2.diagram_interchange:SimpleSemanticModelElement"/> <xsd:element name="link" type="org.omg.uml2.diagram_interchange:DiagramLink"/> </xsd:choice> <xsd:attribute name="position" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="GraphElement" type="org.omg.uml2.diagram_interchange:GraphElement"/> <xsd:complexType name="GraphNode"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:GraphElement"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="size" type="org.omg.uml2.diagram_interchange:Dimension"/> </xsd:choice> <xsd:attribute name="size" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="GraphNode" type="org.omg.uml2.diagram_interchange:GraphNode"/> <xsd:complexType name="GraphicPrimitive"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:LeafElement"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="GraphicPrimitive" type="org.omg.uml2.diagram_interchange:GraphicPrimitive"/> <xsd:complexType name="Image"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:LeafElement"> <xsd:attribute name="url" type="xsd:string"/> <xsd:attribute name="mimeType" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="Image" type="org.omg.uml2.diagram_interchange:Image"/> <xsd:complexType name="LeafElement"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:DiagramElement"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="LeafElement" type="org.omg.uml2.diagram_interchange:LeafElement"/> <xsd:complexType name="Point"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="x" type="xsd:double"/> <xsd:attribute name="y" type="xsd:double"/> </xsd:complexType> <xsd:element name="Point" type="org.omg.uml2.diagram_interchange:Point"/> <xsd:complexType name="Polyline"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:GraphicPrimitive"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="waypoints" type="org.omg.uml2.diagram_interchange:Point"/> </xsd:choice> <xsd:attribute name="closed" type="xsd:boolean"/> <xsd:attribute name="waypoints" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="Polyline" type="org.omg.uml2.diagram_interchange:Polyline"/> <xsd:complexType name="Property"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="key" type="xsd:string"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="Property" type="org.omg.uml2.diagram_interchange:Property"/> <xsd:complexType name="Reference"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:DiagramElement"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="referenced" type="org.omg.uml2.diagram_interchange:DiagramElement"/> </xsd:choice> <xsd:attribute name="isIndividualRepresentation" type="xsd:boolean"/> <xsd:attribute name="referenced" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="Reference" type="org.omg.uml2.diagram_interchange:Reference"/> <xsd:complexType name="SemanticModelBridge"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="presentation" type="xsd:string"/> </xsd:complexType> <xsd:element name="SemanticModelBridge" type="org.omg.uml2.diagram_interchange:SemanticModelBridge"/> <xsd:complexType name="SimpleSemanticModelElement"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:SemanticModelBridge"> <xsd:attribute name="typeInfo" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="SimpleSemanticModelElement" type= "org.omg.uml2.diagram_interchange:SimpleSemanticModelElement"/> <xsd:complexType name="TextElement"> <xsd:complexContent> <xsd:extension base="org.omg.uml2.diagram_interchange:LeafElement"> <xsd:attribute name="text" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="TextElement" type="org.omg.uml2.diagram_interchange:TextElement"/> </xsd:schema> Actions taken: September 29, 2004: received issue November 1, 2005: closed issue Discussion: End of Annotations:===== m: "Marko Boger" To: Subject: Schema Definition for Diagram Interchange Date: Wed, 29 Sep 2004 20:04:15 +0200 X-Mailer: Microsoft Outlook, Build 10.0.4510 Jürgen, please add the following issue to the diagram interchange FTF and let me know the issue number. A schema definition has to be added for the completeness of the specification. Regards, Marko Dr. Marko Boger, CEO Gentleware AG Schanzenstr. 70, D-20357 Hamburg T:+49(0)40 32 899 878, F:+49(0)40 24425331 email: Marko.Boger@gentleware.com www.gentleware.com Subject: RE: [UML Diagram Interchange] Ballot 3 -- *** please vote ASAP - closes June 5 - thanks *** Date: Thu, 2 Jun 2005 23:38:24 -0400 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [UML Diagram Interchange] Ballot 3 -- *** please vote ASAP - closes June 5 - thanks *** Thread-Index: AcVnOQapeaEBlZZSTVOeil2OuecEowAsFy+A From: "Pete Rivett" To: "Manfred R. Koethe" , X-Virus-Scanned: by amavisd-new at sentraliant.com X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id j533SDhh016415 Adaptive votes YES to all the issues except 7568 and 7788 to which it votes NO. I objected to these at the time of the original ballot draft put out by Marko (I forwarded this email to Manfred). For 7568 Marko himself agreed in a subsequent email to the DI mailing list that the name change would make sense. He said "I fully agree that DI is applicable to a much wider range of applications than UML 2 (or even UML) and have seen evidence of that in other applications. I am now open to renaming the DI spec from now "UML 2 Diagram Interchange" to "OMG Diagram Interchange". This does match the scope of the spec. My main worry is that vendors might use the renaming as an excuse for not having to implement it. Now that it IS referenced from the compliance points I would be open to changing this, if others agree to this." My objection to 7788 is the quality of the XML Schema proposed - again I provided some detailed comments at the time of the original ballot draft. Here they are again: --> One point of namespace prefixes is to make representations more compact so a prefix of "org.omg.uml2.diagram_interchange" seems very odd and inconsistent with all other XMI-based standards. Also it does not use the correct xmlns format which should start http://schema.omg.org/spec - this is documented in document omg/02-03-02. I suggest the following: xmlns:DI="http://schema.omg.org/spec/DI/1.0" targetNamespace="http://schema.omg.org/spec/DI/1.0" The URI for XMI is also wrong and should be: xmlns:XMI="http://schema.omg.org/spec/XMI/2.1" The Schema seems odd in having the XML attributes of quite a different type from the elements for the same property: for example, for BezierPoint we have: This also begs the point as to how the complex type Point is supposed to be rendered in some form of structured text if the attribute option is used. Moreover this does not represent the XMI 2.1 rules for referencing objects: see 7.8.5 of ptc/04-06-11. --> Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Dean Park House, 8-10 Dean Park Crescent, Bournemouth, BH1 1HL, UK Tel: +44 (0)1202 449419 Fax: +44 (0)1202 449448 http://www.adaptive.com > -----Original Message----- > From: Manfred R. Koethe [mailto:koethe@88solutions.com] > Sent: Thursday, June 02, 2005 6:42 AM > To: uml2di-ftf@omg.org > Subject: [UML Diagram Interchange] Ballot 3 -- *** please > vote ASAP - closes June 5 - thanks *** > > Dear colleagues, > > This is Ballot 3 of the UML Diagram Interchange FTF. > >>> Please note: This is the last chance to close the Diagram- > >>> Interchange FTF, so please vote ASAP > >>> Poll closes June 5, 2005, 6pm (1800) EDT. > > I had received concerns from FTF members regarding the proposed > resolutions for 7259, 7268, 7269, 7270, 7271 and 7663. I decided > to move these issues as "Deferred" into the follow-on RTF. > Now wee need to close this FTF in time orderly. > > Therefore please vote ASAP. Poll closes on Sunday June 5 at 6.0pm > (1800) EDT. > > Thanks for your cooperation, > > Manfred > > > PS: This is the UML Diagram Interchange FTF voting list: > > 88solutions Manfred Koethe > Adaptive Ltd. Pete Rivett > Boeing Woody Pidcock > Compuware Corp. Wim Bast > Hewlett-Packard Jishnu Mukerji > IBM Bran Selic > Kennedy Carter Ian Wilkie > No Magic, Inc. Daniel Brookshier > Sun Microsystems Martin Matula > THALES Laurent Rioux > Telelogic AB Cris Kobryn > Unisys Sumeet Malhotra > > -- > ___________________ > / Manfred R. Koethe \_____________________________________ > 88solutions Corp. E-Mail: koethe@88solutions.com > 37 Mague Avenue Tel: +1 (617) 848 0525 > Newton, MA 02465-1553 FAX: +1 (617) 848 8819 > U.S.A. > _____________________________"We make your business flow"_ >