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)
-> + Maximum recursion depth exceed... (3)
-> + How do I develop the server si... (2)
-> + XSD Reuse (2)
-> + what happened to my preview re... (3)
-> + How do I use the Custom XML Co... (4)
-> + WYSIWYG missing in release 2 o... (2)
-> + space between elements (3)
-> + Oracle XML Gateway output CONV... (6)
-> + Someone please help me install... (5)
-> + XML Schema (XSD) to COBOL Data... (2)
-> + Can't compile Java (9)
-> + Trouble using the UDDI Browser (5)
-> + JVM Problem when installing Ar... (2)
-> + Stylus Studio Enterprise 8r2 d... (2)
-> - xml report headers (1)
-> + ddtek:sql-delete and ddtek:sql... (4)
-> + Validation blocked (4)
-> + List from XMl to be displayed ... (2)
-> + reports - changing data source (5)
-> + Disable HTML tags in Sense:X (8)
-> + .NETCompiledTransform Paramete... (3)
-> + Why Is The Saxon Processor So ... (13)
-> + Still can not get "integrated ... (15)
-> + quick xml gen from xsd (2)
-> - new to sylus, issue with if va... (1)
-> + Question about using Data Dire... (5)
-> + Why is the DB to XML Data Sour... (2)
-> + Relational db => XML pipeline (2)
-> + connection to oracle 10g (8)
-> + xsl:function misdemeanor (3)
-> + Records Extraction from XML (2)
-> + line break variable destroyed (2)
-> - Restricting on an extended typ... (5)
-> ->Restricting on an extende...
-> ->Restricting on an extende...
-> ->Restricting on an extende...
-> ->Restricting on an extende...
-> + folding all xml elements at on... (2)
-> + help converting a text file to... (5)
-> + Java Functions (5)
-> + XML Schema - extend then restr... (6)
-> + Converting SGML to XML in pipe... (2)
-> + Unattended install? (3)
-> + what are the differences betwe... (2)
-> + cannot install (2)
-> + Missing Parameters within Web ... (3)
-> + XSLT processors not creating o... (8)
-> - How to format a seperate colum... (1)
-> + Finnish language characters (3)
-> + x12 schemas (10)
-> + Howto search multiple XML file... (3)
-> + Chameleon Schema? (2)
-> + Problems generating pdf (9)
-> + Cannot install Stylus Studio R... (19)
-> + source xml of a report (3)
-> + File I/O Error when encounter ... (3)
-> + substitution groups in xslt ma... (4)
-> + Delete rows in a MS SQL Server... (7)
-> - Attaching DB2 Database in File... (1)
-> + Can't debug xsl examples with ... (14)
-> + Best way to transform existing... (2)
-> + Exception in generated java co... (3)
-> + Java API for converting EDI X1... (2)
-> + XPath Query Editor slow perfor... (7)
-> + mapper schema problem (5)
-> + cursor issue in stylus studio ... (2)
-> + how to generate xslt code for ... (4)
-> + Web Service (12)
-> + Additional rule (2)
-> + Help needed: XMLSchema and unp... (9)
-> + Module settings for external X... (3)
-> + Finding Errors in the XML File (6)
-> + CSV 2 XML (2)
-> + Automatic Namespace when using... (2)
-> + Can't find 'Associate XML Sche... (3)
-> + Calling Stylus Studio API from... (2)
-> + EDI TO XML using the Stylus St... (4)
-> + MarkLogic Integration (4)
-> + (null)0:0 (3)
-> + Recent Windows Patch for MSXML... (3)
-> + Show XML from Schema (2)
-> + xml publisher - report to xslt... (4)
-> + EDI TO XML using the Stylus St... (3)
-> + Unable to Generate XML file fr... (6)
-> + DB to XML in Enterprise Suite (2)
-> + pdf to xml (2)
-> - Open External Schema - button ... (1)
-> - Unable to Generate XML from xC... (1)
-> + Unable to Generate XML from xC... (2)
-> + pre-proc processing in xml (2)
-> + FATAL ERROR: Expected comment ... (2)
-> + How to split window (3)
-> + XML Transformation Architectur... (2)
-> + only one record get run in an ... (2)
-> + xbrl schema file (2)
-> + Compare of 2 xml files (2)
-> + config control (4)
-> + create copy link in mapper (5)
-> + SGML DTD (3)
-> + command line access to your xs... (4)
-> + XML Schema: Attribute Choice (2)
-> + Upload file w/ topic (6)
-> - Can't View Properties (1)
-> + Can't View Properties (5)
-- Previous [1381-1400] [1401-1420] [1421-1440] 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  
Postnext
Simone MilaniSubject: Restricting on an extended type
Author: Simone Milani
Date: 24 Sep 2007 09:29 AM
Originally Posted: 24 Sep 2007 09:28 AM
Can someone please confirm the below restriction is valid? Stylus says yes, XMLBeans says yes, XMLSpy says no.

Please note the substitution group.

Thanks!

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.myCompany.com/xml/reference"
xmlns:reference="http://www.myCompany.com/xml/reference"
targetNamespace="http://www.myCompany.com/xml/reference"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:complexType name="SystemReference">
<xsd:annotation>
<xsd:documentation>A system reference for an object</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="system" type="xsd:string"/>
<xsd:element name="code" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserReference">
<xsd:complexContent>
<xsd:extension base="SystemReference">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="SystemReferenceList">
<xsd:sequence>
<xsd:element ref="systemReference" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserReferenceList">
<xsd:complexContent>
<xsd:restriction base="SystemReferenceList">
<xsd:sequence>
<xsd:element ref="userReference" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>

<xsd:element name="systemReference" type="SystemReference"/>
<xsd:element name="userReference" type="UserReference" substitutionGroup="systemReference"/>
</xsd:schema>


DocumentRestrictByExtension.xsd
Sample Schema

Postnext
Ivan PedruzziSubject: Restricting on an extended type
Author: Ivan Pedruzzi
Date: 24 Sep 2007 11:59 AM

All XML Schema processors available in Stylus Studio (Saxon, .NET, MSXML, Xerces, XSV) pass validation using the following documents.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team



<?xml version="1.0"?>
<p1:userReference
xmlns:p1="http://www.myCompany.com/xml/reference"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.myCompany.com/xml/reference RestrictByExtension.xsd">
<p1:system>string</p1:system>
<p1:code>string</p1:code>
</p1:userReference>

-------------------------------------------------------------

<?xml version="1.0"?>
<p1:systemReference
xmlns:p1="http://www.myCompany.com/xml/reference"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.myCompany.com/xml/reference RestrictByExtension.xsd">
<p1:system>string</p1:system>
<p1:code>string</p1:code>
</p1:systemReference>

Postnext
Simone MilaniSubject: Restricting on an extended type
Author: Simone Milani
Date: 24 Sep 2007 12:15 PM
Thanks Ivan,

What I was actually asking was is whether my schema is actually a valid schema and if doing that type of restriction is actually OK. I checked the spec and could not really work out if it's a valid restriction. Any ideas on which part of the XSD spec (if any) would cover my restriction scenario?

Thanks!

Simone

Postnext
Ivan PedruzziSubject: Restricting on an extended type
Author: Ivan Pedruzzi
Date: 24 Sep 2007 04:25 PM

I believe the schema is valid based on the definition given at

http://www.w3.org/TR/xmlschema-0/#DerivByRestrict

<<"A complex type derived by restriction is very similar to its base type, except that its declarations are more limited than the corresponding declarations in the base type. In fact, the values represented by the new type are a subset of the values represented by the base type (as is the case with restriction of simple types). In other words, an application prepared for the values of the base type would not be surprised by the values of the restricted type.">>

UserReference is defined as substitution of SystemReference, because UserReference can safely replace any instance of SystemReference without breaking the data model, the type extension is valid.

An example of incorrect extension would be changing the cardinality

<xsd:element ref="userReference" minOccurs="1" maxOccurs="2"/>

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Posttop
Simone MilaniSubject: Restricting on an extended type
Author: Simone Milani
Date: 25 Sep 2007 05:37 AM
Many thanks!

Simone

   
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.