XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Olusegun AlayandeSubject: XSD Reuse
Author: Olusegun Alayande
Date: 10 Oct 2007 08:48 PM
Originally Posted: 10 Oct 2007 08:20 PM
I am developing a canonical data model from which I am generating XSD files which are then used by a developer on an ESB. The programming language is JMS.

This model is being developed in a CASE tool and validated with stylus Studio.

There is an arguement as to whether the XSD's I developed are re-usable so I have taken a small number of elements and types and re-created some of the XSD's for a simple example.

I was advised that the elements defined in the BIMD.xsd including FlightIdentifier, EventIdentifier and ItemIdentifier are not re-usable. It is my belief that these are because they are defined global. I would like to know if I am wrong.

I have also defined the simpleTypes in a separate schema files because as the model increases in size, they become unmanageable and I could work with individual file easily. Does this type of partitioning impact on the re-usability of the elements defined in the BIMD.xsd?

Also does, prefixing the element's names with "BIM" make them unusable?

Thank you in anticipation. I will appreciate if someone who knows XML Schema is able to advice / comment on these:




<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema targetNamespace="http://www.baa.com/BIM" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.baa.com/BIM" xmlns:bim="http://www.baa.com/BIM" xmlns:item="http://www.baa.com/Item" xmlns:event="http://www.baa.com/Event" xmlns:flight="http://www.baa.com/Flight" elementFormDefault="qualified">
<xs:import namespace="http://www.baa.com/Flight" schemaLocation="file:///E:/examples/D/FlightD.xsd"/>
<xs:import namespace="http://www.baa.com/Event" schemaLocation="file:///E:/examples/D/EventD.xsd"/>
<xs:import namespace="http://www.baa.com/Item" schemaLocation="file:///E:/examples/D/ItemD.xsd"/>
<xs:element name="BIM" type="BIM"/>
<xs:complexType name="BIM">
<xs:sequence>
<xs:element ref="ItemIdentifier" minOccurs="0" maxOccurs="1"/>
<xs:element ref="EventIdentifier" minOccurs="0" maxOccurs="1"/>
<xs:element ref="FlightIdentifier" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ItemIdentifier" type="item:ItemIdentifierType"/>
<xs:element name="EventIdentifier" type="event:EventIdentifierType"/>
<xs:element name="FlightIdentifier" type="flight:FlightIdentifierType"/>
</xs:schema>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema targetNamespace="http://www.baa.com/Event" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.baa.com/Event" xmlns:event="http://www.baa.com/Event">
<xs:element name="Event" type="Event"/>
<xs:complexType name="Event">
<xs:sequence>
<xs:element name="EventIdentifierType" type="EventIdentifierType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="EventIdentifierType">
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema targetNamespace="http://www.baa.com/Flight" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.baa.com/Flight" xmlns:flight="http://www.baa.com/Flight">
<xs:element name="Flight" type="Flight"/>
<xs:complexType name="Flight">
<xs:sequence>
<xs:element name="FlightIdentifierType" type="FlightIdentifierType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="FlightIdentifierType">
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema targetNamespace="http://www.baa.com/Item" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.baa.com/Item" xmlns:item="http://www.baa.com/Item">
<xs:element name="Item" type="Item"/>
<xs:complexType name="Item">
<xs:sequence>
<xs:element name="ItemIdentifierType" type="ItemIdentifierType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ItemIdentifierType">
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>


UnknownbimD(1).zip

Posttop
Alberto MassariSubject: XSD Reuse
Author: Alberto Massari
Date: 11 Oct 2007 09:28 AM
Hi,
in general there is nothing wrong with your schema; btw, having an element defined globally is the only way to make it reusable (as locally defined elements cannot be reused in any other place). So I get the feeling that your definition of 'reusable' is grounded more to the specific EJB architecture you are using; maybe your developers are complaining that the tool they use to convert the XSD into Java classes doesn't like (or supports) this structure. Can you double check if this is the case, and let us know which tool are they using?

Thanks,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.