Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » GMF (Graphical Modeling Framework) » mindmap XSD commented
mindmap XSD commented [message #57267] Thu, 28 September 2006 18:39 Go to next message
Conor Missing name is currently offline Conor Missing nameFriend
Messages: 159
Registered: July 2009
Senior Member
Hi all,

I've been wrestling with building my own model in XSD for a while now and
haven't made much progress. I've come to the realization that my big
problem is that I don’t really know what’s going on in XSD (I’ve actually
discussed it with a colleague and he’s having the same problem) as it
related to modeling for GMF.

So I’ve gone back to the mindmap tutorial (which works fine) and I want to
try and understand it. I’m hoping that once I’ve grasped that I’ll be able
to build my own model. To do this I’ve gotten a copy of the diagram of
mindmap and tried to comment XSD file on what is going on.

What I hope is that people will correct/fill in the rest of the comments
for the file and eventually the good people at Eclipse will pick it up and
make it available for all newbies.

As I haven’t seen many posts up about this kind of stuff I’m guessing
loads of people understand what’s going on and could contribute. Please
refrain from jargon (EReference, EAnnotation, etc), just say in English
what is happening in the model. Also a short intro would be good saying
what midmap does etc.

Yes, I have looked at the mindmap description (most of it anyway), 136
pages ftp://www6.software.ibm.com/software/developer/library/ws-bp el.pdf
Not once is the word ‘topic’, an integral part of mindmap, get mentioned
in the text.

Yes, also looked at XMS Schema to Ecore Mapping, it spells out the syntax
but doesn’t really help with building a model:
http://www.eclipse.org/emf/docs/overviews/XMLSchemaToEcoreMa pping.pdf

Eclipse guys: a tutorial on how to build a model in XSD would be great.
Mindmap is just the end product, me (and I’m guessing a lot of other
people) need to know the steps involved in getting there. Explained at
each step with an XSD file that works with GMF.

Anywho, here’s my mindmap.xsd with comments, copy/paste into eclipse for
editing and then post new text up. I don’t expect anyone to do it all, but
if you add even a small bit it’ll get done really fast and hopefully help
people in the future.

Hope this works....

??? means I don’t know what’s going on:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://www.example.org/mindmap"
xmlns:mindmap="http://www.example.org/mindmap"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">


<!-- Document root which is map-->
<xsd:element name="map" type="mindmap:Map"/>


<!-- This part is the abstract root of the model, it basically defines all
elements that can appear in the model, a topic
, a relatoinship and a resource, there can be as many occurences of these
as possible, it has an attribute of a title
The way I look at it all diagrams start off as a blank Map and any of
these elements can be added to it, the map represents
the canvas ??? Why is Topic set as root? What if there are more than one
element that could be identified as root?-->
<xsd:complexType name="Map">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="rootTopics"
type="mindmap:Topic"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="relations"
type="mindmap:Relationship"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="resources"
type="mindmap:Resource"/>
</xsd:sequence>
<xsd:attribute name="title" type="xsd:string"/>
</xsd:complexType>





<!-- ************************************************************ *******
-->
<!-- Topic is an element that can be added to the canvas -->
<xsd:complexType name="Topic">

<!-- Topic contains an element called comments, of type thread (wihtin
the mindmap schema) ??? What is the purpose of
comments? What is the purpose of Thread? -->
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="comments"
type="mindmap:Thread"/>
</xsd:sequence>

<!-- every topic has an attribute of name ??? why is this attribute
put here and not down with all the
other attributes, my guesss is that the pointers below relate
speifically to this attribute?-->
<xsd:attribute name="name" type="xsd:string"/>

<!-- ecore:reference says topic points to elements of type topic,
i.e. topics can point to othr topics in a subutoopic
relation, so you'd put a topic up and can then attach another topic
to it as a subtopic-->
<xsd:attribute ecore:reference="mindmap:Topic" name="subtopics">
<xsd:simpleType>
<xsd:list itemType="xsd:anyURI"/>
</xsd:simpleType>
</xsd:attribute>

<!-- ecore:opposite says topic points to resource
ecore:reference:Resource ??? -->
<xsd:attribute ecore:opposite="topics"
ecore:reference="mindmap:Resource" name="resources">
<xsd:simpleType>
<xsd:list itemType="xsd:anyURI"/>
</xsd:simpleType>
</xsd:attribute>


<!-- rest of the attributes -->
<xsd:attribute name="percentComplete" type="xsd:float"/>
<!-- this attribute is of type priority whaich is defined below -->
<xsd:attribute name="priority" type="mindmap:Priority"/>
<xsd:attribute name="startDate" type="xsd:date"/>
<xsd:attribute name="endDate" type="xsd:date"/>
<xsd:attribute default="0" name="duration" type="xsd:float"/>
</xsd:complexType>
<!-- ************************************************************ *******
-->







<!-- another type of element that can be added to the canvas is a
relationship??? presume these are realised just
as edges on the canvas?
As I see it relationship is an edge of type dependency, includes or
extends that can be added to different topics, so
one topic could be dependent on another topic, or one topic could extend
another topic, etc where does subtopic fit into this?
shouldn't this be here as well so you could put up topic A and topic B and
make a subtopic relation -->
<xsd:complexType name="Relationship">
<!-- attribute label of relationship -->
<xsd:attribute name="label" type="xsd:string"/>
<!-- relatonship points to topic as both source and target ??? What
does this mean? -->
<xsd:attribute ecore:reference="mindmap:Topic" name="source"
type="xsd:anyURI"/>
<xsd:attribute ecore:reference="mindmap:Topic" name="target"
type="xsd:anyURI"/>
<xsd:attribute name="type" type="mindmap:RelationshipType"/>
</xsd:complexType>
<!-- ************************************************************ *******
-->


<!-- Resource can be added to the canvas ??? Right, I presume as it is
defined in map that resource is another node
and resources can only be added/attached to topics, they cannot be
atteached to each other, i.e. Resource linked to Resource -->
<xsd:complexType name="Resource">
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute ecore:opposite="resources"
ecore:reference="mindmap:Topic" name="topics">
<xsd:simpleType>
<xsd:list itemType="xsd:anyURI"/>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="email" type="xsd:string"/>
<xsd:attribute ecore:opposite="author"
ecore:reference="mindmap:Thread" name="comments">
<xsd:simpleType>
<xsd:list itemType="xsd:anyURI"/>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>




<!-- ************************************************************ *******
-->
<!-- ??? no idea of it's purpose -->
<xsd:complexType name="Thread">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="items"
type="mindmap:ThreadItem"/>
</xsd:sequence>
<xsd:attribute ecore:opposite="comments"
ecore:reference="mindmap:Resource" name="author" type="xsd:anyURI"/>
<xsd:attribute name="subject" type="xsd:string"/>
<xsd:attribute name="postDate" type="xsd:date"/>
</xsd:complexType>


<!-- ************************************************************ *******
-->
<!-- ??? no idea of it's purpose -->
<xsd:complexType name="ThreadItem">
<xsd:attribute ecore:reference="mindmap:Resource" name="author"
type="xsd:anyURI"/>
<xsd:attribute name="body" type="xsd:string"/>
<xsd:attribute name="itemPostDate" type="xsd:date"/>
</xsd:complexType>


<!-- ************************************************************ *******
-->
<!-- Relation specifies the type of relation that two topics can have,
wehther or not it is dependency, includes, extends-->
<xsd:simpleType name="RelationshipType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DEPENDENCY"/>
<xsd:enumeration value="INCLUDES"/>
<xsd:enumeration value="EXTENDS"/>
</xsd:restriction>
</xsd:simpleType>

<!-- this states the values that priority can be set to -->
<xsd:simpleType name="Priority">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ZERO"/>
<xsd:enumeration value="ONE"/>
<xsd:enumeration value="TWO"/>
<xsd:enumeration value="THREE"/>
<xsd:enumeration value="FOUR"/>
<xsd:enumeration value="FIVE"/>
</xsd:restriction>
</xsd:simpleType>

</xsd:schema>
Re: mindmap XSD commented [message #57296 is a reply to message #57267] Thu, 28 September 2006 19:05 Go to previous messageGo to next message
Richard Gronback is currently offline Richard GronbackFriend
Messages: 605
Registered: July 2009
Senior Member
Hi,

Well, the mindmap domain model was created just to be a simple example for
the GMF tutorial, an in fact started out in life as an *.ecore model
(http://wiki.eclipse.org/index.php/Image:Domain.png). The really bad news
here is that it was originally created in such a manner as to work with the
very earliest stages of GMF tooling (read: it's not ideal ;)

Later on, we (actually, Ed as I recall) used EMF to generate the XSD you
refer to below. The notion of threads and thread items correspond to simple
discussion notes and comments. They were created only to illustrate the
compartment features of GMF, as I don't know anyone that would use them in a
real mindmap.

For the 2.0 update to the tutorial, I was considering redoing this model, or
switching to BPMN.

For building XSD models, why not use the XSD editor available from EMF/XSD?
Or, do as I did and forget about XSD itself and just use Ecore and then have
it generate your XSD? If you're really interested in understanding how the
XSD below was produced from Ecore, I'm sure Ed can clue you in... Or, you
can look at the code, I guess.

Best,
Rich


On 9/28/06 2:39 PM, in article
460efd715a4d9fedc615a65b293cd595$1@www.eclipse.org, "Gaff"
<conorgaff@hotmail.com> wrote:

> Hi all,
>
> I've been wrestling with building my own model in XSD for a while now and
> haven't made much progress. I've come to the realization that my big
> problem is that I don?t really know what?s going on in XSD (I?ve actually
> discussed it with a colleague and he?s having the same problem) as it
> related to modeling for GMF.
>
> So I?ve gone back to the mindmap tutorial (which works fine) and I want to
> try and understand it. I?m hoping that once I?ve grasped that I?ll be able
> to build my own model. To do this I?ve gotten a copy of the diagram of
> mindmap and tried to comment XSD file on what is going on.
>
> What I hope is that people will correct/fill in the rest of the comments
> for the file and eventually the good people at Eclipse will pick it up and
> make it available for all newbies.
>
> As I haven?t seen many posts up about this kind of stuff I?m guessing
> loads of people understand what?s going on and could contribute. Please
> refrain from jargon (EReference, EAnnotation, etc), just say in English
> what is happening in the model. Also a short intro would be good saying
> what midmap does etc.
>
> Yes, I have looked at the mindmap description (most of it anyway), 136
> pages ftp://www6.software.ibm.com/software/developer/library/ws-bp el.pdf
> Not once is the word ?topic?, an integral part of mindmap, get mentioned
> in the text.
>
> Yes, also looked at XMS Schema to Ecore Mapping, it spells out the syntax
> but doesn?t really help with building a model:
> http://www.eclipse.org/emf/docs/overviews/XMLSchemaToEcoreMa pping.pdf
>
> Eclipse guys: a tutorial on how to build a model in XSD would be great.
> Mindmap is just the end product, me (and I?m guessing a lot of other
> people) need to know the steps involved in getting there. Explained at
> each step with an XSD file that works with GMF.
>
> Anywho, here?s my mindmap.xsd with comments, copy/paste into eclipse for
> editing and then post new text up. I don?t expect anyone to do it all, but
> if you add even a small bit it?ll get done really fast and hopefully help
> people in the future.
>
> Hope this works....
>
> ??? means I don?t know what?s going on:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema
> targetNamespace="http://www.example.org/mindmap"
> xmlns:mindmap="http://www.example.org/mindmap"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
>
>
> <!-- Document root which is map-->
> <xsd:element name="map" type="mindmap:Map"/>
>
>
> <!-- This part is the abstract root of the model, it basically defines all
> elements that can appear in the model, a topic
> , a relatoinship and a resource, there can be as many occurences of these
> as possible, it has an attribute of a title
> The way I look at it all diagrams start off as a blank Map and any of
> these elements can be added to it, the map represents
> the canvas ??? Why is Topic set as root? What if there are more than one
> element that could be identified as root?-->
> <xsd:complexType name="Map">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="rootTopics"
> type="mindmap:Topic"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="relations"
> type="mindmap:Relationship"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="resources"
> type="mindmap:Resource"/>
> </xsd:sequence>
> <xsd:attribute name="title" type="xsd:string"/>
> </xsd:complexType>
>
>
>
>
>
> <!-- ************************************************************ *******
> -->
> <!-- Topic is an element that can be added to the canvas -->
> <xsd:complexType name="Topic">
>
> <!-- Topic contains an element called comments, of type thread (wihtin
> the mindmap schema) ??? What is the purpose of
> comments? What is the purpose of Thread? -->
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="comments"
> type="mindmap:Thread"/>
> </xsd:sequence>
>
> <!-- every topic has an attribute of name ??? why is this attribute
> put here and not down with all the
> other attributes, my guesss is that the pointers below relate
> speifically to this attribute?-->
> <xsd:attribute name="name" type="xsd:string"/>
>
> <!-- ecore:reference says topic points to elements of type topic,
> i.e. topics can point to othr topics in a subutoopic
> relation, so you'd put a topic up and can then attach another topic
> to it as a subtopic-->
> <xsd:attribute ecore:reference="mindmap:Topic" name="subtopics">
> <xsd:simpleType>
> <xsd:list itemType="xsd:anyURI"/>
> </xsd:simpleType>
> </xsd:attribute>
>
> <!-- ecore:opposite says topic points to resource
> ecore:reference:Resource ??? -->
> <xsd:attribute ecore:opposite="topics"
> ecore:reference="mindmap:Resource" name="resources">
> <xsd:simpleType>
> <xsd:list itemType="xsd:anyURI"/>
> </xsd:simpleType>
> </xsd:attribute>
>
>
> <!-- rest of the attributes -->
> <xsd:attribute name="percentComplete" type="xsd:float"/>
> <!-- this attribute is of type priority whaich is defined below -->
> <xsd:attribute name="priority" type="mindmap:Priority"/>
> <xsd:attribute name="startDate" type="xsd:date"/>
> <xsd:attribute name="endDate" type="xsd:date"/>
> <xsd:attribute default="0" name="duration" type="xsd:float"/>
> </xsd:complexType>
> <!-- ************************************************************ *******
> -->
>
>
>
>
>
>
>
> <!-- another type of element that can be added to the canvas is a
> relationship??? presume these are realised just
> as edges on the canvas?
> As I see it relationship is an edge of type dependency, includes or
> extends that can be added to different topics, so
> one topic could be dependent on another topic, or one topic could extend
> another topic, etc where does subtopic fit into this?
> shouldn't this be here as well so you could put up topic A and topic B and
> make a subtopic relation -->
> <xsd:complexType name="Relationship">
> <!-- attribute label of relationship -->
> <xsd:attribute name="label" type="xsd:string"/>
> <!-- relatonship points to topic as both source and target ??? What
> does this mean? -->
> <xsd:attribute ecore:reference="mindmap:Topic" name="source"
> type="xsd:anyURI"/>
> <xsd:attribute ecore:reference="mindmap:Topic" name="target"
> type="xsd:anyURI"/>
> <xsd:attribute name="type" type="mindmap:RelationshipType"/>
> </xsd:complexType>
> <!-- ************************************************************ *******
> -->
>
>
> <!-- Resource can be added to the canvas ??? Right, I presume as it is
> defined in map that resource is another node
> and resources can only be added/attached to topics, they cannot be
> atteached to each other, i.e. Resource linked to Resource -->
> <xsd:complexType name="Resource">
> <xsd:attribute name="name" type="xsd:string"/>
> <xsd:attribute ecore:opposite="resources"
> ecore:reference="mindmap:Topic" name="topics">
> <xsd:simpleType>
> <xsd:list itemType="xsd:anyURI"/>
> </xsd:simpleType>
> </xsd:attribute>
> <xsd:attribute name="email" type="xsd:string"/>
> <xsd:attribute ecore:opposite="author"
> ecore:reference="mindmap:Thread" name="comments">
> <xsd:simpleType>
> <xsd:list itemType="xsd:anyURI"/>
> </xsd:simpleType>
> </xsd:attribute>
> </xsd:complexType>
>
>
>
>
> <!-- ************************************************************ *******
> -->
> <!-- ??? no idea of it's purpose -->
> <xsd:complexType name="Thread">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="items"
> type="mindmap:ThreadItem"/>
> </xsd:sequence>
> <xsd:attribute ecore:opposite="comments"
> ecore:reference="mindmap:Resource" name="author" type="xsd:anyURI"/>
> <xsd:attribute name="subject" type="xsd:string"/>
> <xsd:attribute name="postDate" type="xsd:date"/>
> </xsd:complexType>
>
>
> <!-- ************************************************************ *******
> -->
> <!-- ??? no idea of it's purpose -->
> <xsd:complexType name="ThreadItem">
> <xsd:attribute ecore:reference="mindmap:Resource" name="author"
> type="xsd:anyURI"/>
> <xsd:attribute name="body" type="xsd:string"/>
> <xsd:attribute name="itemPostDate" type="xsd:date"/>
> </xsd:complexType>
>
>
> <!-- ************************************************************ *******
> -->
> <!-- Relation specifies the type of relation that two topics can have,
> wehther or not it is dependency, includes, extends-->
> <xsd:simpleType name="RelationshipType">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="DEPENDENCY"/>
> <xsd:enumeration value="INCLUDES"/>
> <xsd:enumeration value="EXTENDS"/>
> </xsd:restriction>
> </xsd:simpleType>
>
> <!-- this states the values that priority can be set to -->
> <xsd:simpleType name="Priority">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="ZERO"/>
> <xsd:enumeration value="ONE"/>
> <xsd:enumeration value="TWO"/>
> <xsd:enumeration value="THREE"/>
> <xsd:enumeration value="FOUR"/>
> <xsd:enumeration value="FIVE"/>
> </xsd:restriction>
> </xsd:simpleType>
>
> </xsd:schema>
>
>
>
Re: mindmap XSD commented [message #57321 is a reply to message #57267] Thu, 28 September 2006 19:55 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: merks.ca.ibm.com

Gaff,

I'm not very familiar with the MindMap model itself and it seems you
mostly want a description of the intended semantics for this particular
model, which I can't really provided. If a person isn't familiar with
XSD, an XSD is probably not a good starting point for creating a model;
the WTP project has a nice graphical XSD editor. It's probably better to
start with something familiar and then generate the XSD, if you really
need one, as Rich suggests. From the Generator menubar item for an open
..genmodel or from the popup for a .genmodel, you can invoke Export
Model...->XML Schema.


Gaff wrote:
> Hi all,
>
> I've been wrestling with building my own model in XSD for a while now
> and haven't made much progress. I've come to the realization that my
> big problem is that I don�t really know what�s going on in XSD (I�ve
> actually discussed it with a colleague and he�s having the same
> problem) as it related to modeling for GMF.
>
> So I�ve gone back to the mindmap tutorial (which works fine) and I
> want to try and understand it. I�m hoping that once I�ve grasped that
> I�ll be able to build my own model. To do this I�ve gotten a copy of
> the diagram of mindmap and tried to comment XSD file on what is going on.
>
> What I hope is that people will correct/fill in the rest of the
> comments for the file and eventually the good people at Eclipse will
> pick it up and make it available for all newbies.
>
> As I haven�t seen many posts up about this kind of stuff I�m guessing
> loads of people understand what�s going on and could contribute.
> Please refrain from jargon (EReference, EAnnotation, etc), just say in
> English what is happening in the model. Also a short intro would be
> good saying what midmap does etc.
>
> Yes, I have looked at the mindmap description (most of it anyway), 136
> pages ftp://www6.software.ibm.com/software/developer/library/ws-bp el.pdf
> Not once is the word �topic�, an integral part of mindmap, get
> mentioned in the text.
>
> Yes, also looked at XMS Schema to Ecore Mapping, it spells out the
> syntax but doesn�t really help with building a model:
> http://www.eclipse.org/emf/docs/overviews/XMLSchemaToEcoreMa pping.pdf
>
> Eclipse guys: a tutorial on how to build a model in XSD would be
> great. Mindmap is just the end product, me (and I�m guessing a lot of
> other people) need to know the steps involved in getting there.
> Explained at each step with an XSD file that works with GMF.
>
> Anywho, here�s my mindmap.xsd with comments, copy/paste into eclipse
> for editing and then post new text up. I don�t expect anyone to do it
> all, but if you add even a small bit it�ll get done really fast and
> hopefully help people in the future.
>
> Hope this works....
>
> ??? means I don�t know what�s going on:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema targetNamespace="http://www.example.org/mindmap"
> xmlns:mindmap="http://www.example.org/mindmap"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
>
>
> <!-- Document root which is map-->
> <xsd:element name="map" type="mindmap:Map"/>
>
>
> <!-- This part is the abstract root of the model, it basically defines
> all elements that can appear in the model, a topic , a relatoinship
> and a resource, there can be as many occurences of these as possible,
> it has an attribute of a title
> The way I look at it all diagrams start off as a blank Map and any of
> these elements can be added to it, the map represents the canvas ???
> Why is Topic set as root? What if there are more than one element that
> could be identified as root?-->
> <xsd:complexType name="Map">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="rootTopics"
> type="mindmap:Topic"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="relations"
> type="mindmap:Relationship"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="resources"
> type="mindmap:Resource"/>
> </xsd:sequence>
> <xsd:attribute name="title" type="xsd:string"/>
> </xsd:complexType>
>
>
>
>
>
> <!--
> ************************************************************ ******* -->
> <!-- Topic is an element that can be added to the canvas -->
> <xsd:complexType name="Topic">
>
> <!-- Topic contains an element called comments, of type thread (wihtin
> the mindmap schema) ??? What is the purpose of
> comments? What is the purpose of Thread? -->
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="comments"
> type="mindmap:Thread"/>
> </xsd:sequence>
> <!-- every topic has an attribute of name ??? why is this attribute
> put here and not down with all the other attributes, my guesss is that
> the pointers below relate speifically to this attribute?-->
> <xsd:attribute name="name" type="xsd:string"/>
> <!-- ecore:reference says topic points to elements of type topic, i.e.
> topics can point to othr topics in a subutoopic
> relation, so you'd put a topic up and can then attach another topic to
> it as a subtopic-->
> <xsd:attribute ecore:reference="mindmap:Topic" name="subtopics">
> <xsd:simpleType>
> <xsd:list itemType="xsd:anyURI"/>
> </xsd:simpleType>
> </xsd:attribute>
> <!-- ecore:opposite says topic points to resource
> ecore:reference:Resource ??? --> <xsd:attribute
> ecore:opposite="topics" ecore:reference="mindmap:Resource"
> name="resources">
> <xsd:simpleType>
> <xsd:list itemType="xsd:anyURI"/>
> </xsd:simpleType>
> </xsd:attribute>
> <!-- rest of the attributes -->
> <xsd:attribute name="percentComplete" type="xsd:float"/>
> <!-- this attribute is of type priority whaich is defined below -->
> <xsd:attribute name="priority" type="mindmap:Priority"/>
> <xsd:attribute name="startDate" type="xsd:date"/>
> <xsd:attribute name="endDate" type="xsd:date"/>
> <xsd:attribute default="0" name="duration" type="xsd:float"/>
> </xsd:complexType>
> <!--
> ************************************************************ ******* -->
>
>
>
>
>
>
>
> <!-- another type of element that can be added to the canvas is a
> relationship??? presume these are realised just as edges on the canvas?
> As I see it relationship is an edge of type dependency, includes or
> extends that can be added to different topics, so one topic could be
> dependent on another topic, or one topic could extend another topic,
> etc where does subtopic fit into this?
> shouldn't this be here as well so you could put up topic A and topic B
> and make a subtopic relation -->
> <xsd:complexType name="Relationship">
> <!-- attribute label of relationship -->
> <xsd:attribute name="label" type="xsd:string"/>
> <!-- relatonship points to topic as both source and target ??? What
> does this mean? -->
> <xsd:attribute ecore:reference="mindmap:Topic" name="source"
> type="xsd:anyURI"/>
> <xsd:attribute ecore:reference="mindmap:Topic" name="target"
> type="xsd:anyURI"/>
> <xsd:attribute name="type" type="mindmap:RelationshipType"/>
> </xsd:complexType>
> <!--
> ************************************************************ ******* -->
>
>
> <!-- Resource can be added to the canvas ??? Right, I presume as it is
> defined in map that resource is another node
> and resources can only be added/attached to topics, they cannot be
> atteached to each other, i.e. Resource linked to Resource -->
> <xsd:complexType name="Resource">
> <xsd:attribute name="name" type="xsd:string"/>
> <xsd:attribute ecore:opposite="resources"
> ecore:reference="mindmap:Topic" name="topics">
> <xsd:simpleType>
> <xsd:list itemType="xsd:anyURI"/>
> </xsd:simpleType>
> </xsd:attribute>
> <xsd:attribute name="email" type="xsd:string"/>
> <xsd:attribute ecore:opposite="author"
> ecore:reference="mindmap:Thread" name="comments">
> <xsd:simpleType>
> <xsd:list itemType="xsd:anyURI"/>
> </xsd:simpleType>
> </xsd:attribute>
> </xsd:complexType>
>
>
>
>
> <!--
> ************************************************************ ******* -->
> <!-- ??? no idea of it's purpose -->
> <xsd:complexType name="Thread">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="items"
> type="mindmap:ThreadItem"/>
> </xsd:sequence>
> <xsd:attribute ecore:opposite="comments"
> ecore:reference="mindmap:Resource" name="author" type="xsd:anyURI"/>
> <xsd:attribute name="subject" type="xsd:string"/>
> <xsd:attribute name="postDate" type="xsd:date"/>
> </xsd:complexType>
>
>
> <!--
> ************************************************************ ******* -->
> <!-- ??? no idea of it's purpose -->
> <xsd:complexType name="ThreadItem">
> <xsd:attribute ecore:reference="mindmap:Resource" name="author"
> type="xsd:anyURI"/>
> <xsd:attribute name="body" type="xsd:string"/>
> <xsd:attribute name="itemPostDate" type="xsd:date"/>
> </xsd:complexType>
>
>
> <!--
> ************************************************************ ******* -->
> <!-- Relation specifies the type of relation that two topics can have,
> wehther or not it is dependency, includes, extends-->
> <xsd:simpleType name="RelationshipType">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="DEPENDENCY"/>
> <xsd:enumeration value="INCLUDES"/>
> <xsd:enumeration value="EXTENDS"/>
> </xsd:restriction>
> </xsd:simpleType>
>
> <!-- this states the values that priority can be set to -->
> <xsd:simpleType name="Priority">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="ZERO"/>
> <xsd:enumeration value="ONE"/>
> <xsd:enumeration value="TWO"/>
> <xsd:enumeration value="THREE"/>
> <xsd:enumeration value="FOUR"/>
> <xsd:enumeration value="FIVE"/>
> </xsd:restriction>
> </xsd:simpleType>
>
> </xsd:schema>
>
>
>
Re: mindmap XSD commented [message #695386 is a reply to message #57321] Mon, 11 July 2011 16:12 Go to previous message
David Webber is currently offline David WebberFriend
Messages: 1
Registered: July 2011
Junior Member
Just want to let everyone on this thread know that there is now an open source solution - that automatically makes a Mind map MM model from any XML Schema input.

You can find it at the CAMprocessor project on Sourceforge - http www dot cameditor dot org is the direct link.

Basically you ingest your XSD schema into a template - and then export the mind map or UML/XMI. If you install the Freemind mind map tool - then you can automatically open and view in that.

Enjoy, DW
Previous Topic:Problem with Indigo release
Next Topic:Referencing figure, edit part from another plugin
Goto Forum:
  


Current Time: Thu Apr 25 14:14:10 GMT 2024

Powered by FUDForum. Page generated in 0.02745 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top