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)
-> - UV Kit (1)
-> - Preview PDF as HTML? (1)
-> + ArrayIndexOutOfBoundsException... (3)
-> + WSCC to KML transform help (5)
-> + Using XSV 3.1-1 as an external... (2)
-> + Cannot debug stylesheet (2)
-> + Error installing Stylus Studio... (3)
-> - Windows XP "not responding" er... (1)
-> - Windows XP "not responding" er... (1)
-> + HTML to XSL (2)
-> + Run Stylus studio from command... (2)
-> + Setting Context for XPath Quer... (5)
-> + Batch process to check well-fo... (9)
-> + WSDL validator? (8)
-> - How to be still using Old Jars (1)
-> - Install Stylus Studio on anoth... (1)
-> + Install Stylus Studio on anoth... (3)
-> + How to validate via catalog lo... (4)
-> + New Installation Upgrade Issue... (4)
-> - Freelance Project - Mapping di... (1)
-> + Converting from Edifact to SQL... (3)
-> + converting data file to xml us... (2)
-> + have serious problem with Styl... (2)
-> + ddtek:sql-delete (3)
-> + Web Service Call with Axis: No... (3)
-> + Entity gets replaced when inde... (2)
-> + EDIFACT import error (3)
-> + (401) forbidden error (8)
-> + Error when data type not speci... (2)
-> - Globally delete duplicates of ... (1)
-> + Validation too slow!!!! (4)
-> + Define a complex type with mul... (2)
-> + XML Playlists (2)
-> - Create SOA Web Service with me... (1)
-> + Spell checking?? (2)
-> - saxon 9 linebreak in text mode (1)
-> + Apache FOP gets NoClassDefFoun... (3)
-> + Nillable Decimal (4)
-> + Transform XML to AS400 Databas... (4)
-> + xs3p vs xsDoc (3)
-> + Update Installation Problem (11)
-> + Java Heap error and -Xmx param (5)
-> + 2007 Pro won't run XSL files c... (3)
-> + access to multiples databases ... (6)
-> + License Authentication Failed (2)
-> + XSLT Mapper: How to aggregate ... (2)
-> + Why my WYSIWYG tab disappeared... (3)
-> + Flat File (From mainframe COBO... (9)
-> + X12 Validation (5)
-> + Schema replacement in Microsof... (2)
-> + [OT] XML fragment - error expl... (3)
-> + Re-using a simple type definit... (2)
-> + What is "Java bult-in" XSLT Pr... (2)
-> + Error when generating .NET cod... (6)
-> + options for sum(function) - to... (2)
-> + [OT] XSD - is this valid XML o... (2)
-> + Multiple page sequences (2)
-> + License disabled (3)
-> + EDIFACT to XML with multiple Q... (5)
-> + Viewing Web Service Call http ... (2)
-> - keyref handling by different p... (1)
-> + Running transform in SS UI com... (9)
-> + Mapping from one schema to ano... (3)
-> - Using document() to lookup fro... (1)
-> + Can not open a xml file in IE ... (2)
-> + Stylus Studio detected a chang... (3)
-> + Customer Support for Stylus St... (2)
-> + WebService Call is not working... (3)
-> + Activation Problem (2)
-> + Activating Stylus Studio 2008 (3)
-> + Cannot use UNC paths, get save... (22)
-> + DB to XML Data Source not avai... (3)
-> + Stylus Studio 2008 Installatio... (16)
-> - SQL Server 2005 xml datatype -... (1)
-> + XML Reporting: linking to sect... (4)
-> + Merge an external xml with inp... (4)
-> + Stylus Closing abruptly (4)
-> + Best approach for generating X... (2)
-> + Problem with Java call (5)
-> + Changing the top margin (2)
-> + Generating a Web Service Call (2)
-> + import xml into excel using V... (2)
-> + FOP producing NoSuchMethodErro... (6)
-> + Reporting Errors (2)
-> + Doc/Literal Wrapped (2)
-> + Need image to render at higher... (3)
-> + HTML to xml wizard on thousand... (2)
-> + Doc/Literal and SOAP Header/Bo... (2)
-> - Help with settping up MS Acces... (1)
-> + WSDL - A Well Defined Service (7)
-> + XML to XML Mapping - Combining... (2)
-> + CData Question (3)
-> + mySQL DB Connection (11)
-> + XPath documentation confusion (2)
-> + Extra block/CR generated (6)
-> + Apache FOP (2)
-> + Inserting Java Script (2)
-> + Convert EDIFACT to X12 or vice... (6)
-> + XSD: Restricting an attribute ... (2)
-> + Creating dynamically named ele... (2)
-- Previous [1201-1220] [1221-1240] [1241-1260] 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.