[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kuml-devel
Subject:    Project dtd
From:       Darius Stachow <dstachow () ngi ! de>
Date:       2000-06-29 16:55:37
[Download RAW message or body]

Hi !

On Mon, 26 Jun 2000, Jonathan wrote:
>	As a final note, I would also like to see a project DTD banged out
>(showing source files and their relationship to the object model,) and then
>have it embedded in XMI as well.  I think that both ArgoUML and KUML have
>talked about this to some degree, but no actions were taken.  Perhaps it is
>time for the open source modeling community to see what kind of document
>standards weight it can throw around.

This is a good place to make suggestions on how such a UML project DTD could
look like.
My knowledge on XMI/XML is limited and so I can't contribute much on this topic.

A discussion and suggestions for the structure of a standard project file
that could be used by kuml and argouml is appreciated!

...


I've just taken a look at a argouml project file and I've seen that they're
already using XML.
Maybe we can use the argo dtd for kuml, too.
I've attached an example argo project file and the corresponding dtd.

-- 

Darius Stachow

["kuml.argo" (text/plain)]

<?xml version = "1.0" encoding = "ISO-8859-1" ?>
<!DOCTYPE argo SYSTEM "argo.dtd" >
<argo>
  <documentation>
    <authorname></authorname>
    <version></version>
    <description>
      
    </description>
  </documentation>
  
  <searchpath href="PROJECT_DIR" />
  <member
    type="pgml"
    name="kuml_classdiagram1.pgml"
  />
  <member
    type="pgml"
    name="kuml_usecasediagram1.pgml"
  />
  <member
    type="xmi"
    name="kuml.xmi"
  />
  <member
    type="pgml"
    name="kuml_classdiagram2.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram3.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram4.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram5.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram6.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram8.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram9.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram10.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram11.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram12.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram13.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram14.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram15.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram16.pgml"
  />
  <member
    type="pgml"
    name="kuml_usecasediagram3.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram17.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram18.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram19.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram20.pgml"
  />
  <member
    type="pgml"
    name="kuml_collaborationdiagram1.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram21.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram22.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram23.pgml"
  />
  <member
    type="pgml"
    name="kuml_classdiagram24.pgml"
  />
  <historyfile name="" />
  <stats>
    <stat name="clicksInToDoPane"
         value="0" />
    <stat name="dblClicksInToDoPane"
         value="0" />
    <stat name="longestToDoList"
         value="253" />
    <stat name="longestAdd"
         value="8" />
    <stat name="longestHot"
         value="8" />
    <stat name="numCriticsFired"
         value="18417" />
    <stat name="numNotValid"
         value="9" />
    <stat name="numCriticsApplied"
         value="0" />
    <stat name="toDoPerspectivesChanged"
         value="0" />
    <stat name="navPerspectivesChanged"
         value="0" />
    <stat name="clicksInNavPane"
         value="3" />
    <stat name="numFinds"
         value="0" />
    <stat name="numJumpToRelated"
         value="0" />
    <stat name="numDecisionModel"
         value="0" />
    <stat name="numGoalsModel"
         value="0" />
    <stat name="numCriticBrowser"
         value="0" />
    <stat name="numNavConfig"
         value="0" />
    <stat name="numHushes"
         value="0" />
    <stat name="numChecks"
         value="0" />
    <stat name="Num_Button_Clicks"
         value="0" />
    <stat name="Drags_To_New"
         value="0" />
    <stat name="Drags_To_Existing"
         value="0" />
  </stats>
</argo>

["argo.dtd" (text/english)]

<?xml version="1.0" encoding="utf-8" ?>

<!--Copyright (c) 1996-99 The Regents of the University of California. All-->
<!--Rights Reserved. Permission to use, copy, modify, and distribute this-->
<!--software and its documentation without fee, and without a written-->
<!--agreement is hereby granted, provided that the above copyright notice-->
<!--and this paragraph appear in all copies.  This software program and-->
<!--documentation are copyrighted by The Regents of the University of-->
<!--California. The software program and documentation are supplied "AS-->
<!--IS", without any accompanying services from The Regents. The Regents-->
<!--does not warrant that the operation of the program will be-->
<!--uninterrupted or error-free. The end-user understands that the program-->
<!--was developed for research purposes and is advised not to rely-->
<!--exclusively on the program for any reason.  IN NO EVENT SHALL THE-->
<!--UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,-->
<!--SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,-->
<!--ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF-->
<!--THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF-->
<!--SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY-->
<!--WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF-->
<!--MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE-->
<!--PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF-->
<!--CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,-->
<!--UPDATES, ENHANCEMENTS, OR MODIFICATIONS.-->

<!-- Argo/UML project file DTD -->
<!-- original author: jrobbins@ics.uci.edu -->
<!-- $Id: argo.dtd,v 1.2 1999/04/20 01:53:18 jrobbins Exp $ -->

<!-- Here is an example of an Argo/UML project file named thoughts.argo:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE argo SYSTEM 'argo.dtd' >
<argo>
  <documentation>
    <authorname>Jason Robbins<authorname>
    <version>v1.5</version>
    <description>
    This is a project that I started to work out some ideas that I had.
    </description>
  </documentation>

  <seachpath href='PROJECT_DIR'/>
  <seachpath href='file://d:/shared/ '>
  <seachpath href='http://www.ics.uci.edu/pub/arch/uml/shared/' />

  <member type='xmi'     name='model_1.xmi'/>
  <member type='xmi'     name='model_2.xmi'/>
  <member type='diagram' name='use_case_diagram_1.pgml'/>
  <member type='diagram' name='class_diagram_1.pgml'/>
  <member type='diagram' name='class_diagram_2.pgml'/>
  <member type='diagram' name='state_diagram_1.pgml'/>
  <member type='text'    name='project_notes.txt'/>

  <historyfile         name='thoughts.hist'/>

  <stats>
    <stat name="clicksInToDoPane"        value="0" >
    <stat name="dblClicksInToDoPane"     value="0" >
    <stat name="longestToDoList"         value="0" >
    <stat name="longestAdd"              value="0" >
    <stat name="longestHot"              value="0" >
    <stat name="numCriticsFired"         value="0" >
    <stat name="numNotValid"             value="0" >
    <stat name="numCriticsApplied"       value="0" >
    <stat name="toDoPerspectivesChanged" value="0" >
    <stat name="navPerspectivesChanged"  value="0" >
    <stat name="clicksInNavPane"         value="0" >
    <stat name="numFinds"                value="0" >
    <stat name="numJumpToRelated"        value="0" >
    <stat name="numDecisionModel"        value="0" >
    <stat name="numGoalsModel"           value="0" >
    <stat name="numCriticBrowser"        value="0" >
    <stat name="numNavConfig"            value="0" >
    <stat name="numHushes"               value="0" >
    <stat name="numChecks"               value="0" >
  </stats>
</argo>
-->

<!ELEMENT argo (documentation, searchpath+, member+, historyfile, stats?) >

<!ELEMENT documentation (authorname?, version?, description?) >
<!ELEMENT authorname (#PCDATA) >
<!ELEMENT version (#PCDATA) >
<!ELEMENT description (#PCDATA) >

<!ELEMENT searchpath EMPTY >
<!ATTLIST searchpath
            href CDATA #REQUIRED >

<!ELEMENT member EMPTY >
<!ATTLIST member
            type (xmi | pgml | text | html | argo | other)  #REQUIRED
            name CDATA #REQUIRED >

<!ELEMENT historyfile EMPTY >
<!ATTLIST historyfile
            name CDATA #REQUIRED >

<!ELEMENT stats (stat)* >

<!ELEMENT stat EMPTY >
<!ATTLIST stat
            name       ID    #REQUIRED
	    value      CDATA #REQUIRED >




	    
<!-- Idea for the future: allow an ALT='desc' attribute that is shown -->
<!-- in case the specified file cannot be found or loaded. -->

<!-- Maybe files need a flag that indicates if they should be loaded -->
<!-- immediately when the project is loaded or if they should be loaded -->
<!-- on demand. -->

<!-- needs-more-work: initial diagram to be displayed on open -->


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic