portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Carlson" <dcarl...@ontogenics.com>
Subject UML models of psml and xreg
Date Thu, 02 Aug 2001 00:28:09 GMT
I'm building a set of tools for generating and reverse-engineering XML Schemas
from/to UML.  I attached two GIF diagrams of the current psml.xsd from CVS, as
well as the xreg.xsd that was posted by Frans Thamura on 7/26.  These UML
diagrams were produced by Rational Rose, but the model structure was
automatically generated from the XSD source.  I only rearranged the diagrams
to make them more readable.  I can also generate complete schemas from the
same models.

If there is interest on this list, I'll explain the process in more detail.
But I thought the diagrams would be of interest.  I find that it is much
easier to understand the concepts and relationships via a diagram.

As part of this, I discovered a few technical errors in the schemas.  Both
schemas use the XSD <all> content model incorrectly.  I really wish that it
did work like this!   However, an <all> group cannot directly contain any
elements that have cardinality other than 1..1 or 0..1.  Both schemas contain
one or more <all> groups with elements having maxOccurs=unbounded, which is
not allowed.

Unfortunately, this means that we must use either <sequence> or <choice
minOccurs="0" maxOccurs="unbounded"> instead of <all> for these complexTypes.
If you want to validate the cardinality of child elements, we must use
<sequence>.  Or, we use <choice> and basically punt on the strictness of
validation.  I have not looked at Caster, but how does it handle these
alternatives?

In addition, the psml.xsd schema must declare a namespace prefix for the
targetNamespace.  Or, the XMLSchema namespace must use a prefix and allow the
psml targetNamespace to use the default namespace.  I've added the xsd: prefix
to schema elements and will test the schema before posting it back to the
list.

Any preferences for how to handle the <all> problem?

As an aside, I'm working on a major upgrade to my http://XMLmodeling.com
portal.  It's currently running a very old 1.2 beta version of Jetspeed.  I
plan to update to the current version with user logins and customization.  I
also plan to make some of my UML to XSD conversion tools available as a web
application within this portal. So, you'll see more messages from me as I try
to figure out the templating system and modifications to the turbine_user
database table...

Cheers,
  Dave Carlson

Mime
View raw message