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)
-> + Round-trip Converting; CSV-XML... (2)
-> + XSL error function call PHP (8)
-> + WYSIWYG XSLT Designer (5)
-> + generate xhtml+css from xml re... (2)
-> + generate xhtml+css from xml re... (3)
-> + generate xhtml+css from xml re... (2)
-> - Help using xsd xs:redefine nee... (1)
-> + Data loss opening External sch... (2)
-> + Install Apache FOP Plugin with... (8)
-> + Generating a Publisher Canvas ... (2)
-> + Stylus Studio comment block no... (3)
-> + Report Designer Screen Repaint... (5)
-> + validating on values (5)
-> + reuse of xslt (2)
-> + The evaluation period for the ... (2)
-> + export to documentation (3)
-> + Validating XML files using sev... (2)
-> + Missing 'Command' Tab in Custo... (3)
-> + Do I have to download new vers... (6)
-> + Can SS validate tags used in a... (5)
-> + validating schemas (2)
-- Previous [1561-1580] [1581-1600] [1601-1620] 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.