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)
-> + External Cascading Style Sheet... (2)
-> + Need help with XML mapping - P... (2)
-> + Convert image to base64 in xsl... (2)
-> + Automation (2)
-> - Changing Default Property valu... (1)
-> + Help in reading cdata using xs... (4)
-> + Ok, I can programatically conv... (2)
-> + How do I prevent the previewer... (2)
-> + Can I programatically convert ... (2)
-> + XML To Flat File - Reverse Eng... (3)
-> - Check for valid attribute valu... (3)
-> ->Check for valid attribute...
-> ->Check for valid attribute...
-> + Java.lang.OutOfMemory - when I... (3)
-> + How to convert text in EBCDIC ... (8)
-> + First steps in XSLT mapping (4)
-> + Option to build XSL-FO is not ... (3)
-> + using Adaptor convert XML to e... (2)
-> + Using XML Converter on a Compl... (2)
-> + Java built-in processor needed... (3)
-> + XSL to draw a table (2)
-> - Stylus Studio in c# solutions (1)
-> + entities within schemaLocation... (4)
-> + java runtime error during xslt... (2)
-> + Conversion of XML Doc for RSS ... (2)
-> + Does anyone know how to upgrad... (2)
-> + XML editor corrupts my file (5)
-> + Stylus Studio & Berkeley DB XM... (4)
-> + XSLT for page breakout (2)
-> + How to avoid creating empty el... (2)
-> + Error in converting 945 EDI us... (4)
-> + XML to X12 (invoice 810 edi) (2)
-> - Stylus Studio 2009 Enterprise ... (1)
-> + Stylus Studio 2007 - license d... (2)
-> + XML to X12 conversion error (6)
-> + How to reset JVM (to another j... (2)
-> + How to generate XML sample dat... (2)
-> + Document Path reference after ... (4)
-> + concatenate with xquery (6)
-> + i want to capture the xml tag ... (3)
-> + "View Sample XML" in schema an... (2)
-> + Can't get to Toolbar settings ... (2)
-> + SOAPException (3)
-> + how to patch xml files with wr... (2)
-> + wysiwug xslt editor (2)
-> + XML to Google Charts (10)
-> + XML to HL7 (2)
-> - Outputting this XML (1)
-> + Interpreting XSD Error Message... (2)
-> + converter EDI --> typ = no (8)
-> + License issue (7)
-> + One of the simplest questions ... (3)
-> + xQuery transformation encounte... (2)
-> + Schema Evolution (2)
-> + Preview in Browser button gray... (4)
-> + converter:EDI:val=no AND chr=.... (4)
-> + [XQuery][DB2 JDBC Driver]Unsu... (2)
-> + Need Help Create XML file thro... (4)
-> + Flat file to XML conversion in... (5)
-> + How to set delimiters if it's ... (4)
-> + XSD Validation failing (4)
-> + XSD Validation failing (2)
-> + Web Service Call cannot retrie... (7)
-> + Flat file conversion to XML (2)
-> + Stylus Studio crash (5)
-> + Stylus Studio No Longer loads (2)
-> + How do I print in color? (2)
-> + Integrating Documentum WebPubl... (2)
-> + Stylus Studio crashes on openi... (4)
-> + Change format of XML output fo... (3)
-> + XSLT mapper / Source file not ... (7)
-> + Stylus Studio crashes on start... (3)
-> + Loading GML3.1 (3)
-> + NullPointerException when runn... (5)
-> + Can not open Stylus Studio (3)
-> + macros for custom validation e... (6)
-> + Does Stylus Studio generate XM... (4)
-> + another csv conversion (7)
-> + ADD CVS to Source Control drop... (2)
-> + Automate xquery (6)
-> + Correcting multiple XML docume... (2)
-> + Unable to locate Components\Da... (5)
-> + Runtime Error, Struzzo.exe, Ab... (11)
-> + Convert XML to EDIfact (3)
-> + I don't have the Mapper tab (6)
-> + CSV conversion with null field (3)
-> + Converting a Complex Flat File... (2)
-> - installion in batch mode (1)
-> + Complete Custom Validation Lis... (2)
-> + creating xml from csv flat fil... (9)
-> - need Help Regarding XBRL (1)
-> + Exception FODC0004: file or di... (2)
-> + Activation (2)
-> + java runtime error (2)
-> + connection problem with AS 400... (4)
-> + XML to 837I EDI -- multiple NM... (3)
-> + WYSIWYG in SSv7 (2)
-> - Write into < head /> tags us... (1)
-> + Maximum recursion depth exceed... (2)
-> - Code coverage testing (1)
-> - Passing JavaScript with multip... (1)
-> + preserving white space in XML ... (8)
-- Previous [721-740] [741-760] [761-780] 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
Lisa FeltenSubject: Check for valid attribute values based on other attribute values at runtime?
Author: Lisa Felten
Date: 02 Oct 2009 08:20 PM
I know this is likely possible, but I'm having trouble locating a how-to guide that explains exactly what I want to do...

I have a recursively-defined complexType referenced by the root of my schema:

<xs:element name="root" type="RootNode"/>

<xs:complexType name="RootNode">
<xs:element name="sub" type="SubNode"/>
<xs:attribute name="version" type="xs:string"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>

<xs:complexType name="SubNode">
<xs:choice>
<xs:element name="sub" type="SubNode" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="other" type="OtherNode"/>
</xs:choice>
<xs:attribute name="type" type="SubType" use="required"/>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>


Now, I have a list of defined SubType enums but even more specifically, I want to be able to have rules regarding the "type" attribute of the SubNode. Say I have type0, type1, type2 and type3 being the valid enums. But since a SubNode can have one or more SubNode child nodes, I want to specify that a type0 SubNode should have exactly one type1 SubNode child. And that a type1 SubNode should have exactly two type2 SubNode children. And a type2 SubNode should have exactly three type3 SubNode children.

I think I have to use something outside the XML Schema spec...but what? How do I enforce these rules? Schematron? I've never used it...just heard the name.

Postnext
Ivan PedruzziSubject: Check for valid attribute values based on other attribute values at runtime?
Author: Ivan Pedruzzi
Date: 06 Oct 2009 06:07 PM

Hi Lisa,

May be using XQuery for content base validation is an option.

Ivan Pedruzzi
Stylus Studio Team

Posttop
Lisa FeltenSubject: Check for valid attribute values based on other attribute values at runtime?
Author: Lisa Felten
Date: 06 Oct 2009 07:47 PM
Thanks, Ivan.

I've since solved my problem by using an XSLT stylesheet instead of trying to use XML Schemas to validate my instance file. XSLT allows for XPath expressions, along with if/choose/when/otherwise tags which facilitate what I needed to do.

   
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.