[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

XML Schema views - are they possible?

  • To: <xml-dev@l...>
  • Subject: XML Schema views - are they possible?
  • From: "Cheng, Andy" <Andy.Cheng@a...>
  • Date: Fri, 27 Aug 2004 18:04:08 +1000
  • Thread-index: AcSMDG4dpsG9NDhaT0669PkZjwLu9w==
  • Thread-topic: XML Schema views - are they possible?

xs minlength
Title: XML Schema views - are they possible?

Dear XML Dev List,

Hello, my name is Andy and I'm a newbie to this forum. I am currently getting into the XML schema development and am having a problem (hope you guys can help me out). I'm wondering is there a possibility of having different XML Schema views (for reusability purposes). Here is an example of code:

<xs:complexType name="StatusType">
                <xs:all>
                        <xs:element name="StatusCode" minOccurs="0">
                                <xs:complexType>
                                        <xs:simpleContent>
                                                <xs:restriction base="tns:stringItemType">
                                                        <xs:minLength value="1"/>
                                                        <xs:maxLength value="10"/>
                                                </xs:restriction>
                                        </xs:simpleContent>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="StatusMessage" minOccurs="0">
                                <xs:complexType>
                                        <xs:simpleContent>
                                                <xs:restriction base="tns:stringItemType">
                                                        <xs:minLength value="1"/>
                                                        <xs:maxLength value="50"/>
                                                </xs:restriction>
                                        </xs:simpleContent>
                                </xs:complexType>
                        </xs:element>
                </xs:all>
</xs:complexType>

These two elements are optional. However, I want to reuse the complexType and change the 'StatusCode' element to mandatory ie change the value of 'minOccurs' to 1. What I have found so far is that I could use a 'restriction' element to change the value, hence the code:

<xs:element name="Status">
                                        <xs:complexType>
                                                <xs:complexContent>
                                                        <xs:restriction base="tns:StatusType">
                                                                <xs:all>
                                                                        <xs:element name="StatusCode">
                                                                                <xs:complexType>
                                                                                        <xs:simpleContent>
                                                                                                <xs:restriction base="tns:stringItemType">

                                                                                                        <xs:minLength value="1"/>

                                                                                                        <xs:maxLength value="10"/>

                                                                                                </xs:restriction>
                                                                                        </xs:simpleContent>
                                                                                </xs:complexType>
                                                                        </xs:element>
                                                                        <xs:element name="StatusMessage" minOccurs="0">
                                                                                <xs:complexType>
                                                                                        <xs:simpleContent>
                                                                                                <xs:restriction base="tns:stringItemType">

                                                                                                        <xs:minLength value="1"/>

                                                                                                        <xs:maxLength value="50"/>

                                                                                                </xs:restriction>
                                                                                        </xs:simpleContent>
                                                                                </xs:complexType>
                                                                        </xs:element>
                                                                </xs:all>
                                                        </xs:restriction>
                                                </xs:complexContent>
                                        </xs:complexType>
</xs:element>

What I would like to achieve is:
1. if I wanted to change the restriction values in the complexType, the change would ripple through to all elements using this complexType. However, this is not the case. When placing a 'restriction' element, in XMLSpy it duplicates all the elements from the complexType

2. If I didn’t want this element to be passed at all ie make maxOccurs ='0' (PS is this bad coding?), I don’t want the XML Schema to validate the element. After a few examples by putting the element in, the XML schema still does validate the element, although its not wanted.

Does anyone know how to get around this?? Or perhaps is there an alternative solution?

Thanks a lot!

Regards,

    Andy Cheng
Australian Taxation Office
INFORMATION COMMUNICATIONS & TECHNOLOGY
Software Development Quality & Productivity

andy.cheng@a...  



****************************************************************
IMPORTANT

The information transmitted is for the use of the intended recipient only and may contain confidential and/or legally privileged material. Any review, re-transmission, disclosure dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited and may result in severe penalties. If you have received this e-mail in error please notify the Privacy Hotline of the Australian Taxation Office, telephone 13 28 69 and delete all copies of this transmission together with any attachments.
****************************************************************

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

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