Search

xsd.exe fails to handle circular group references by Wuzi

Closed
as By Design Help for as By Design

4
0
Sign in
to vote
Type: Bug
ID: 637855
Opened: 1/24/2011 9:22:53 AM
Access Restriction: Public
0
Workaround(s)
3
User(s) can reproduce this bug
This schema is valid and often published by the industry, yet it XSD.exe gives an error trying to parse it.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://test" xmlns:t="http://test">

<xs:element name="elem1">
    <xs:complexType>
     <xs:group ref="t:grp1" />
    </xs:complexType>
</xs:element>

<xs:group name="grp1">
    <xs:sequence>
     <xs:group ref="t:grp2" />
    </xs:sequence>
</xs:group>

<xs:group name="grp2">
    <xs:sequence>
     <xs:element minOccurs="0" name="elem2">
        <xs:complexType>
         <xs:group ref="t:grp1" />
        </xs:complexType>
     </xs:element>
    </xs:sequence>
</xs:group>
</xs:schema>


To run:

>"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\xsd.exe" tmp.xsd /c
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: Error generating classes for schema 'tmp'.
- Group 'grp2' from targetNamespace='http://test' has invalid definition: Circular group reference.

Issue #229705 was the original bug, and #624987 was an ignored attempt to reopen it. This is a critical functionality broken in the schema parsing classes, and has a high vote count.
Details (expand)

Visual Studio/Silverlight/Tooling version

Visual Studio 2010

What category (if any) best represents this feedback?

 

Steps to reproduce

Run xsd.exe with the sample schema provided in the description.

Product Language

English

Operating System

Windows 7

Operating System Language

English

Actual results

- Group 'grp2' from targetNamespace='http://test' has invalid definition: Circular group reference.

Expected results

generated classes.
File Attachments
0 attachments
Sign in to post a comment.
Posted by Microsoft on 5/12/2011 at 10:43 AM
Thanks for your feedback, according to the Model Group Validation section W3C XSD doc. Circular group refrences are not supported and the XSD.exe follows the specification.

Schema Component Constraint: Model Group Correct

All of the following must be true:

1 The values of the properties of a model group are as described in the property tableau in The Model Group Schema Component (§3.8.1), modulo the impact of Missing Sub-components (§5.3).

2 There are no circular groups. That is, within the {particles} of a group there is no particle at any depth whose {term} is the group itself.

If you feel that your scenario is differnt please re-activate this bug.
Thanks
Posted by Microsoft on 1/24/2011 at 9:59 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)
Sign in to post a workaround.