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)
-> + element type must not contain ... (3)
-> + XML to .txt file (7)
-> + Modifying a XSL-FO report (5)
-> + Retrievning multiple values...... (2)
-> + does Stylus Enterprise work wi... (2)
-> + MSSQL to 837P conversion (4)
-> + Generating XML files accesing ... (6)
-> + How to bold text using XSL (6)
-> + Different heading based on pag... (3)
-> + Code folding (2)
-> + Bad param=value pair on comman... (2)
-> + Saving an XML file (2)
-> + stylus adding random non print... (2)
-> + Displaying Base64Binary as Ima... (6)
-> - probleme de representation d'i... (1)
-> + SS 2008 error message not disp... (8)
-> + XQuery external variable conve... (4)
-> + encodings available (3)
-> + stand-alone application file n... (4)
-> + Windows Installer Dialog Box a... (4)
-> + Block search and replace (2)
-> + Problem with validation (3)
-> + ISA12 vs GS08 (5)
-> + Web Service Call failure... an... (11)
-> + Quotes in xpath query (3)
-> + Java Built-in processor no lon... (6)
-> + Dynamic input and output names (8)
-> + Java built-in parser (3)
-> + Contains an invalid path (2)
-> + Wizard XML Schema to XML (2)
-> + XML to EDI (14)
-> + Computer with original install... (2)
-> + using Custom Tool - passing ar... (3)
-> + Non-printable special characte... (3)
-> + Transfer Options (Settings, Pr... (2)
-> + Enterprise Edition, Rel. 3, Bu... (9)
-> + Need help with xsl file and xm... (2)
-> + Upgrading and retaining settin... (4)
-> + saxon9.dll etc. missing (2)
-> - Error on using XQuery File in ... (1)
-> - Strange Dialog Box (1)
-> + Studio Crashes in schema edito... (3)
-> + Xml to XMl Conversion (2)
-> + Unable to create a complex typ... (2)
-> + Error message wen trying run j... (2)
-> - XSLT Mapper question... (1)
-> + Dcument Wizard XSLT Editor Tab... (2)
-> + Beginner Question - XPath with... (2)
-> + Trying to generate .net code w... (2)
-> + duplicate values in variable w... (5)
-> + Java Runtime Environment libra... (4)
-> + programmatically generate XML ... (4)
-> + Help Loading Oracle BI Publish... (4)
-> + [French] xsl <=> report (3)
-> + XML Diff (3)
-> + StylusStudio 2008, saxon saxon... (6)
-> + Msql Table err:FODC0004 Table ... (2)
-> + The evaluation period for Data... (2)
-> + Mysql to XML (2)
-> + Is there a Collapse All nodes ... (2)
-> + flat file conversion with CDAT... (4)
-> + Struzzo.exe eats up %40 CPU ba... (2)
-> + schematron support? (11)
-> + XML Generator did not generate... (2)
-> + Nesting XML files (2)
-> + Web Service Call fails - targe... (5)
-> + getting not valid for content ... (2)
-> - element modem was referenced i... (1)
-> + xerces-c++ xml parser (2)
-> + movie.dtd (2)
-> + HELP! Stylus Studio 2008 Enter... (3)
-> + Xalan problem with xsl:attribu... (2)
-> + Breakpoints being ignored (12)
-> + Need a new key for Stylus Stud... (2)
-> + Global parameters are not reco... (4)
-> + mySQL DB Connection 2 (10)
-> + Using Data Direct xQuery to ag... (4)
-> + stylusXslt command line -- XSL... (15)
-> + XSLT processor using EXSLT fun... (2)
-> + Integrating Omni Mark (2)
-> + EDI Standards to gXML (2)
-> + flat file conversion (3)
-> + EDI to XML: Invalid URI error (3)
-> + Validating and XML Schema (6)
-> + XSD to DDL (MS-SQL/2005) (6)
-> + xml converter cant encode 0x19 (4)
-> + XSD Help Needed (2)
-> + How do you delete a field in a... (2)
-> + Disable page breaks (3)
-> + XSD semantic structure compari... (3)
-> + Studio Crashes On File Open (7)
-> + Which parser is used by Stylus... (2)
-> + How to DIFF XML windows with d... (3)
-> + Automation using Visual Studio (7)
-> + CSV to XML conversion help (2)
-> + XML tree help (3)
-> + java.lang.NullPointerException... (2)
-> + Creating schema from xml - how... (3)
-> + Mismatch between intellisense ... (4)
-> + Using FOP 0.94 in XML Pipeline (2)
-- Previous [1081-1100] [1101-1120] [1121-1140] 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
David BanburySubject: keyref handling by different parsers
Author: David Banbury
Date: 24 Jan 2008 10:27 PM
We are using XSD to define a data file format. We have a schema with a hierarchy that groups data elements together under "subsets" so we have a 3-level hierarchy: superset -> subsets -> elements

We are using key & keyref to define relationships between elements within subsets but also between elements in different subsets. The keys for each element are defined within the subset (for tidy encapsulation). Keyref relationships between elements in the same subset are also encapsulated within that subset.

Relationships between elements in different subsets are defined by keyrefs at the superset level.

(A simplified XSD and corresponding minimal XML file are attached.)

As far as I can gather this does not break the identity constraint rule that "only element information items within the sub-tree rooted at the element information item being validated can be referenced" (XML Schema Specs 3.11.4).

In Stylus Studio the default parser returns an error for this structure saying, "The key for identity constraint of element 'superset' is not found." The available Microsoft parsers (MSXML DOM Parser and SAX Parser (v4.0 & v6.0) and .NET XML Parser) also return errors such as, "cannot find the referred key or unique in scope" or, "The keyref... does not resolve to a key for the Identity Constraint...".

However, other parsers (Java built-in parser, Saxonica 8.9.0.3, XSV 2.10-1) all validate the XML file successfully and correctly. Not only do they not return errors but they also do correctly spot errors if the keyref relationship is not satisfied in the XML data file.

Is the XSD valid and the Microsoft parsers at fault? Or, is the XSD at fault and the other parsers are simply tolerant?

regards,
David Banbury


Unknowntest(5).xsd
XML Schema example

Unknowntest(20).xml
Corresponding XML data file

   
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.