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
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + Why is this variable not showi... (7)
-> + Customising Schema Prefix (3)
-> + Please help!! XML AND XSL Tra... (6)
-> + XML to Excel in Home Edition (2)
-> + how to copy elements from an x... (2)
-> + Setting Saxon parameters in pi... (2)
-> + Trying to move SS license (3)
-> + Does SS PRO Support CSS (2)
-> + Selected values are not showin... (3)
-> + Copy Xpath To Clipboard Option... (2)
-> + Upgrading to SS 2006 3 - Activ... (3)
-> + XSL Efficiency tips (4)
-> - Report page Size and table hea... (1)
-> + Endless loop with xquery (8)
-> - Xpress XML (1)
-> + Extracting XML data into SQL s... (2)
-> + Crashes when I save (2)
-> + XSL cannot save: I/O error...b... (8)
-> + Diagram view has disappeared f... (5)
-> + Convert from http://www.w3.org... (2)
-- Previous [1501-1520] [1521-1540] [1541-1560] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Posttop
trevor patersonSubject: Help using xsd xs:redefine needed!
Author: trevor paterson
Date: 11 Jul 2007 04:36 AM
I can't work out how to do an <xs:redefine><xs:restriction> on a complex type that is itself an <xs:extension>

for example

I have in schema1.xsd an ObjectType and a MapType derived from it by extension

<xs:complexType name="ObjectType">
<xs:sequence minOccurs="0">
<xs:element name="EvidenceREF" type="ReferenceType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Comment" type="xs:string" minOccurs="0"/>
<xs:element name="RelationshipREF" type="ReferenceType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="basic"/>
</xs:complexType>

<xs:attributeGroup name="basic">
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
</xs:attributeGroup>

<xs:complexType name="MapType">
<xs:complexContent>
<xs:extension base="ObjectType">
<xs:sequence minOccurs="0">
<xs:element name="MapOfREF" type="ReferenceType" minOccurs="0"/>
<xs:element name="MapSetREF" type="ReferenceType" minOccurs="0"/>
<xs:element name="UsefulName" type="xs:string" minOccurs="0"/>
<xs:element name="Sex" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="LinkageMap"/>
<xs:enumeration value="RadiationHybridMap"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>

In schema2.xsd I want to redefine MapType to restrict the maxOccurs of some elements to 0 ( i.e. 'prohibit' them)

along the lines of

<xs:redefine schemaLocation="schema1.xsd">
<xs:complexType name="MapType">
<xs:complexContent>
<xs:restriction base="MapType">
<xs:extension base="ObjectType">
<xs:sequence minOccurs="0">
<xs:element name="MapOfREF" type="ReferenceType" minOccurs="0" maxOccurs="0"/>
<xs:element name="MapSetREF" type="ReferenceType" minOccurs="0" maxOccurs="0"/>
<xs:element name="UsefulName" type="xs:string" minOccurs="0"/>
<xs:element name="Sex" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="LinkageMap"/>
<xs:enumeration value="RadiationHybridMap"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:redefine>

however i can't see how to specify the restricted content as the xs:extension element is not allowed inside the xs:restriction here...

any pointers would be gratefully received!


Trevor Paterson

Bioinformatics
Roslin Institute
Scotland EH25 9PS

   
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.