Announcement

Collapse
No announcement yet.

UML zu XML

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • UML zu XML

    Hallo zusammen,

    ich habe ein kleines ;-) Problem mit dem Transferieren von UML in XML - Schema. Mit den Klassen ging es Problemlos, aber mit den Assoziationen habe ich so meine Probleme...explizit - mit den Multiplizitäten.

    Also...ich habe ein UML Digramm, welches so aussieht...

    ...also zwei Klassen mit einer Assoziation mit dem Namen "usedfor" und einer Multiplizität von * zu *.

    Wie müsste nun der Code aussehen?
    Code:
    <xsd:element name="Card" type="CardType"/>
    <xsd:element name="Consumption" type="ConsumptionType"/>
    <xsd:complexType name="CardType">
    	<xsd:sequence>
    		<xsd:element name="usedfor" maxOccurs="unbounded"/>
    		<xsd:element name="cardID" type="xsd:integer"/>
    		<xsd:element name="dataOflssue" type="xsd:date"/>
    		<xsd:element name="validTo" type="xsd:date"/>
    		<xsd:element name="age" type="xsd:integer"/>
    		<xsd:element name="isHG" type="xsd:boolean"/>
    	</xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ConsumptionType">
    	<xsd:sequence>
    		<xsd:element name="Goods" type="xsd:integer"/>
    		<xsd:element name="description" type="xsd:string"/>
    		<xsd:element name="price" type="xsd:float"/>
    		<xsd:element name="ageLimit" type="xsd:integer"/>
                     </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="usedfor">
    	<xsd:sequence>
    		<xsd:element ref="Consumption"/>
    	</xsd:sequence>
    </xsd:complexType>
    Folgende Fragen ergeben sich für mich nun - wo ich bitte auf eure/deine Hilfe angewiesen bin.
    1. Stimmt dieser Code für das dargestellte UML Diagramm? (Ich glaube, dass die Multiplizität nur auf einer Seite gegeben ist...also der * auf der rechten Seite des UML Diagramms.)
    2. Wie müsste ich es machen, wenn die Verbindung "usedfor" eine Multiplizität ,sagen wir einmal von 1..* auf der einen und 3..* auf der anderen Seite hätte...

    Kann mir da wer weiterhelfen, ich bin mit meinem kleinen Alphabet schon sehr am Ende

  • #2
    Also, nach dem das Forum nicht so stark frequentiert ist wie ich es mir gedacht habe...habe ich die Antwort über einen Professor von der Uni bekommen.

    zu1. Die Realisierung stimmt so. IM XML Schema kann man leider nur gerichtete Assoziation realisiern und Multiplizitäten nur am Ende des gerichteten implizieren.

    zu2. Der Code würde sich folgendermaßen ändern:
    Code:
    <xsd:element name="Card" type="CardType"/>
    <xsd:element name="Consumption" type="ConsumptionType"/>
    <xsd:complexType name="CardType">
    	<xsd:sequence>
    		<xsd:element name="usedfor" min Occurs ="3" maxOccurs="unbounded"/>	
                       <xsd:element name="cardID" type="xsd:integer"/>
    		<xsd:element name="dataOflssue" type="xsd:date"/>
    		<xsd:element name="validTo" type="xsd:date"/>
    		<xsd:element name="age" type="xsd:integer"/>
    		<xsd:element name="isHG" type="xsd:boolean"/>
    	</xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ConsumptionType">
    	<xsd:sequence>
    		<xsd:element name="Goods" type="xsd:integer"/>
    		<xsd:element name="description" type="xsd:string"/>
    		<xsd:element name="price" type="xsd:float"/>
    		<xsd:element name="ageLimit" type="xsd:integer"/>
                     </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="usedfor">
    	<xsd:sequence>
    		<xsd:element ref="Consumption"/>
    	</xsd:sequence>
    </xsd:complexType>

    Comment


    • #3
      Du kannst ja mal ein Tool wie Magic Draw ausprobieren. Dort kannst du direkt aus einem UML ein XSD machen. Ist aber leider nicht Open Source.

      Gruß Christoph

      Comment

      Working...
      X