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)
-> + Conerting Excel to XML (5)
-> + count the number of 1 appearin... (10)
-> + Import validation errors (2)
-> + Custom Validation Saxon (4)
-> + How Can i Check if else condit... (2)
-> + Stylus Studio 2009 Ent still b... (2)
-> + cannot download SS2009 (2)
-> + Use of import-schema wants sch... (4)
-> + Replacement Install Media/Bits (3)
-> + XML to Flat File (5)
-> + Select one of multiple attribu... (13)
-> + Web Service - SOAP Error (3)
-> + I find a BUG in stylus studio ... (8)
-> + Text to XML conversion issue (2)
-> + Fixed width flat files (3)
-> + Stylus Studio Crashes when val... (3)
-> + XSL Changes doesn't reflect in... (2)
-> + Custom Conversion Definition T... (6)
-> + Support for UK EDI Tradacoms ... (2)
-> + How to find and remove all ins... (2)
-> + XML to cobol Sequential file (2)
-> + Pipe delimited flat file conve... (2)
-> + Cannot Function Block > DataDi... (3)
-> + License Authentication failed (2)
-> + Flat File Conversion (3)
-> + Struzzo.exe sing 50% of CPU (2)
-> + Saxon9 Transformation error ha... (2)
-> + com.ddtek.xquery3.XQQueryExcep... (10)
-> + XML attribute name (2)
-> + JAVA and XML (2)
-> + DB Connection Error (3)
-> + Dicstionaty Librarys for other... (2)
-> + Passing parameters (3)
-> + Xmlconverter does not work (2)
-> + non-printing characters in Fil... (3)
-> + Including row nos while conve... (5)
-> + Getting Evaluation Copy except... (2)
-> + SS 2008 R2 Bug? (4)
-> + Java Heap Space (2)
-> + generate report from .xsl file... (3)
-> + Can't encode 0x4 in text (3)
-> + Recognize Japanese Characters (2)
-> + converting .xsl to xml using c... (2)
-> - Uninstall doesn't clean up reg... (1)
-> + CDISC (5)
-> - creating database from XML sch... (1)
-> + error: side-by-side configurat... (3)
-> - How to convert pdf into rdf fo... (1)
-> + Apache FOP (5)
-> + XPath Query Editor 'Buggy' (3)
-> - Feature request (1)
-> + XML Convertors (2)
-> + XMLConverters version 3.2.0.0 ... (2)
-> + JVM/stylus studio abort on sav... (3)
-> + using oasis catalog in pipelin... (6)
-> + Another whitespace issue with ... (2)
-> + saxon 9.1.0.2 (2)
-> + xslt change namespace (4)
-> - xslt change namespace (1)
-> + HL7 Conversion (3)
-> + mixed content mapping (2)
-> + HL7 to XML to HL7 (5)
-> + newest version of Saxon SA? (3)
-> + ORM / ORU Seqments (7)
-> + XSLT is causing Java.lang OutO... (3)
-> + Create POJOs from EDI (4)
-> - Embedded message (1)
-> + How to create Documentation fo... (2)
-> + xslt transformation (2)
-> - remove BOM (1)
-> + Changing data as it goes into... (5)
-> + How to (graphically) map one X... (2)
-> + Stylus Studio 2008 Release 2 -... (2)
-> + keyboard shortcuts to switch b... (2)
-> + Help with getting Output XML f... (8)
-> + Document created from schema (2)
-> + XSD Validation error (2)
-> + Set the value of an attribute ... (2)
-> + Saving as XML, Source Data Typ... (2)
-> + Own templates in file/new (4)
-> + Does Stylus Studio support the... (2)
-> - How to transform XML file to T... (1)
-> + Extract XML file from a HTML s... (2)
-> + Crashing, high cpu usage, larg... (6)
-> + Creating an xml document based... (2)
-> + Problem with restriction (2)
-> + EDI Invalid date time error (2)
-> + How to Compose a Web Service C... (5)
-> + Java Complie errors with XML C... (2)
-> + Creating xml file from CSV uss... (4)
-> + XML Converters (6)
-> + schema validation (15)
-> - 9/30 Customer Showcase Webinar... (1)
-> + ETL (2)
-> + xsd:sequence question (3)
-> + contains an invalid path (5)
-> - Custom converter to map flat f... (1)
-> + validating a 4.01 transitional... (2)
-> + Cannot Use Stylus Studio On Mu... (5)
-> + Missing DB to XML option (2)
-- Previous [901-920] [921-940] [941-960] 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
Paul CorriveauSubject: Unable to create a complex type with facets and element children
Author: Paul Corriveau
Date: 07 May 2008 09:09 AM
Thanks for taking the time to look at this. I've been struggling with this and am about to say "it can't be done", but I wanted to run it by you all first in the hopes that you might have some ideas.

Here is the goal:
<Root>
<Code description="New">1
<Transaction>
<theId>id</theId>
</Transaction>
</Code>
</Root>

I need a type that will:
1.) Allow simple content (strings, decimal, etc) with attributes
2.) Allow that content to be contrained with facets (maxLength, totalDigits, etc.),
3.) Allow that type to have element children.

The problem is that I can create a type that will do 1 and 3 above, but as soon as I introduce the ability to do 3 (element children), the ability to do 2 (constrain with facetcs) drops right off the face of the earth. Below is how I arrived at this:

Using the sample document above, pretend that it does not have the Transactions chile element, so the Code element would look like this.

<Code description="New">1</Code>


I created a type to support the above element, and that supports the #1 item above. It looks like this:

<xs:complexType name="stringWithAttributeType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="description"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

All is well with the world at this point, the string element with attribute validates fine.

I then move on to my second goal, which is to constrain the above. I create a new type derived from the above that looks like this:

<xs:complexType name="constrainLengthType">
<xs:simpleContent>
<xs:restriction base="stringWithAttributeType">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>


I have contrained the length of the string to 1 and all is working fine at this point. The simple attributed string element that validated before still validates. The element below:

<Code description="New">12</Code>

will fail validation because the two character length of the string violates the maxLength facet.

So, #1 and #2 goal are working fine. I move on to add the element children. I have another complex type that defines what I want that element child to look like. I believe it is mostly irrelevant, but here it is:

<xs:complexType name="TransType">
<xs:sequence>
<xs:element name="theId" type="xs:string"/>
</xs:sequence>
</xs:complexType>


I use that type as part of the extension to the type I built above that has worked to satisfy my #1 and #2 goals. That type looks like this:

<xs:complexType name="addElementChildrenType">
<xs:complexContent mixed="true">
<xs:extension base="constrainLengthType">
<xs:sequence>
<xs:element name="Transaction" type="TransType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

So, I take the type defined for #2 above and extend it to add the ability to have an element of type TransType. Looking back at the original document:

<Root>
<Code description="New">1
<Transaction>
<theId>id</theId>
</Transaction>
</Code>
</Root>


All is well, it validates, choruses of uneartly voices are singing slightly out of my perception and I'm ready to go home for the day confident that the problem has been solved. However... altering the above to change the value of the the Code element from one character to two character, just to be sure it still catches the problem and that the constraint is working, reveals that the existence of the constraint has completely dropped off the radar and the document will validate, no matter what I put in there.

Thanks for taking the time to read this. I apologize for the length, but I was aiming for clarity. If I have accomplished neither brevity nor clarity, well then, I guess I *really* apologize then.

Any thoughts?

Posttop
(Deleted User) Subject: Unable to create a complex type with facets and element children
Author: (Deleted User)
Date: 08 May 2008 03:21 PM
Hi Paul,
when you add mixed=true you are allowing any non-whitespace text to be present between the elements making the complex type, and you cannot validate them separately anymore. Unfortunately, XMLSchema doesn't support the structure you want to achieve.

Alberto

   
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.