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)
-> + Varying Length Multiple Record... (2)
-> + Flat Flie to xml - validation (2)
-> + File Association (2)
-> + Generate XSL to transform from... (2)
-> + Installation Problem (3)
-> + compile error with generated j... (4)
-> + Help with Result of "Create Sc... (2)
-> + Region start position (line ve... (3)
-> + XSLT Mapper calling wrong temp... (3)
-> + Convert XSL to XSL:FO (5)
-> + Problem after downloading the ... (2)
-> + Moving node up / down (4)
-> + License transfer problem (2)
-> + Long element names in EDIFACT ... (4)
-> + Convert XML Schema to DB Table... (2)
-> + Connecting to DB2/400 through ... (2)
-> - Uninstall doesn't work (1)
-> + Pound (#) symbols appear inste... (3)
-> + Multiple file regions - dynami... (3)
-> + Cannot start Stylus studio pro... (2)
-> + XQuery missing Data when run (3)
-> + I need Help with a symple type... (2)
-> + Error while opening XML file f... (4)
-> + xquery variable substitution (2)
-> + Tab delemited Flat file to XML (17)
-> + Error on XSchema validation: "... (3)
-> + How to delete a file from a pr... (3)
-> + Generate Java Binding Classes (2)
-> + stylusstudio2008 suddenly stop... (2)
-> + Please Help (2)
-> - Looking in one tag to get the ... (1)
-> + Entity 'nbsp' was not found (2)
-> + Create 1 xml file for each lin... (4)
-> + SchemaLocation attribute (3)
-> + page break (4)
-> + name attribute of wsdl:fault e... (3)
-> + Cannot use my custom converter (3)
-> + java.lang.ClassNotFoundExcepti... (16)
-> + Witch product to buy (2)
-> + Trial version giving errors (2)
-> + Building and Integrating modul... (2)
-> + How to deploy pipeline (4)
-> + Is it possible to create xml f... (4)
-> + XML - CSV - XML Help! (2)
-> - xml file with many xsl style s... (1)
-> + Crash when using XML with DOCT... (2)
-> + Calling .Net classes from XSL ... (6)
-> + datadirect coverter result dif... (4)
-> + .net ConverterFactory().Create... (2)
-> + Dynamically created xsl used i... (4)
-> + Help with XSD attributes (3)
-> + Duplicated XML tag name in XML... (2)
-> + XML Publisher Repeater Bug wit... (4)
-> + HTML / FO selection (2)
-> + Command line interface to gene... (2)
-> + Provider org.apache.xerces.jax... (3)
-> + Problems with xsl:variable (2)
-> + any way to stop auto declarati... (2)
-> + Holding information in memory (9)
-> + Error whenever we try to read ... (4)
-> + Evaluation Versio Stylus Studi... (3)
-> + Convert linefeed-separated tex... (2)
-> + Transferring Stylus Studio fro... (3)
-> + Activation working on only one... (4)
-> + Populating Database from XML (2)
-> + Inserting Annotation (3)
-> + Project Window (2)
-> + DTD to Schema conversion gener... (2)
-> - Can't add multiple faults to a... (1)
-> + Soap fault name element (2)
-> + xml files supported outside of... (2)
-> + how to allow null values for d... (2)
-> + xml report query (5)
-> + Stylus Studio automatically ad... (3)
-> + Can we can stylus studio autom... (2)
-> + is it possible to insert into ... (3)
-> + Java Heap Space error (4)
-> + custom validation engines (3)
-> + W3C schema for enumerated taxo... (3)
-> + Using Stylus to generate elect... (2)
-> + WSDL editor and drop downs in ... (2)
-> + XSLT Mapper "forgetting" setti... (2)
-> + StylusStudio Crash: Error: Get... (7)
-> + Error in installation (2)
-> + Applying constraints & naming ... (5)
-> + Windows Installer prevents ins... (5)
-> + XML Schema to XML producing in... (8)
-> + calling javascript function in... (2)
-> + Repairin .xml file (2)
-> + HIgh CPU on a laptop after hib... (2)
-> - conditional rendering in XSL.. (1)
-> + Way to replace codes by labels... (4)
-> + Strange 'invisible' characters (4)
-> + syntax (2)
-> + Problem using mySQL (2)
-> + accessing Javascript variable ... (2)
-> + problem when openning files (2)
-> + Free Form Text (2)
-> + Cant open the database (4)
-> + Problem using MS Access (4)
-- Previous [1021-1040] [1041-1060] [1061-1080] 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.