2005-01-13 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml.Schema / BUGS-MS.txt
index 6ee02cdf6acddda631b9bfef6d7e3ed77f34e282..cda2ebeb2dce6dede30f2d1c819ffe174d1ff7fb 100755 (executable)
@@ -1,11 +1,21 @@
 BUGS in MS Implementation of XmlSchema:\r
 \r
+Here we summarize bugs found in MS.NET, including some comment excerpt from\r
+Microsoft development team (as of 2004/07).\r
+\r
+\r
 001. Does not allow duplicate values in lists for final* and block* attributes. \r
    For example "restriction restriction" is not allowed even though its a valid\r
    value for blockDefault.\r
 \r
+(MS: This is fixed in .NET 2.0)\r
+\r
+\r
 002. Resets the minOccurs to 0 if maxOccurs="0", whereas it should raise an error.\r
 \r
+(MS: This WON'T be fixed in .NET 2.0. MS users may depend on this bug.)\r
+\r
+\r
 003. Allows abstract="true" in the a localElement whereas it is not allowed.\r
        <?xml version="1.0"?>\r
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://xsdtesting" xmlns:x="http://xsdtesting" elementFormDefault="qualified">\r
@@ -19,6 +29,9 @@ BUGS in MS Implementation of XmlSchema:
                </xsd:element>\r
        </xsd:schema>\r
 \r
+(MS: This is fixed in .NET 2.0)\r
+\r
+\r
 004. QName value constraint\r
 \r
        When xs:QName based type is specified to an attribute or element\r
@@ -26,6 +39,9 @@ BUGS in MS Implementation of XmlSchema:
        default or fixed value), even though they have those namespace \r
        declaration by XmlSerializerNamespaces.\r
 \r
+(MS: This is fixed in .NET 2.0)\r
+\r
+\r
 005.  derivation by extension of xs:all\r
 \r
        As it is discussed on w3c xmlschema-dev ML, MS System.Xml.Schema\r
@@ -42,6 +58,9 @@ BUGS in MS Implementation of XmlSchema:
        ctH019.xsd, ctH020.xsd, ctH021.xsd, ctH022.xsd, ctH023.xsd, ctJ001.xsd\r
        and in msxsdtest/ModelGroups: mgA016.xsd, mgO007.xsd (9 testcases).\r
 \r
+(MS: This is fixed in .NET 2.0)\r
+\r
+\r
 006. xs:all minOccurs="0" not allowed\r
 \r
        W3C WXS Structures REC. says that model group xs:all is limited to have\r
@@ -52,17 +71,32 @@ BUGS in MS Implementation of XmlSchema:
 \r
        Related msxsdtest is ParticlesEa022.xsd\r
 \r
+(MS: This happens only when a group ref targets to xs:all. This is bug.)\r
+\r
+\r
 007. Insufficient unique particle attribution of xs:any\r
 \r
        MS.NET allows <xs:choice><xs:any /><xs:element ... /></xs:choice>.\r
 \r
+       <del>\r
        Related msxsdtests are: ParticlesJd002.xsd, ParticlesJd003.xsd and\r
        ParticlesJd004.xsd. \r
+       </del>\r
+       [Update] They are sequence not choice. Thus does not apply to this\r
+       case. MS validator handles such schema as invalid correctly.\r
+\r
        ParticlesIb001.xsd is also related, but it is not necessarily said as\r
        incorrect. Both elements are of the same type, so *in a sense* they are\r
        the same declaration. MSV, XSV and I stands different.\r
 \r
-008. Occurence Range OK (3.9.6) incorrectly assessed\r
+[Still on discussion on ParticlesIb001.xsd]\r
+\r
+\r
+<del>008. Occurence Range OK (3.9.6) incorrectly assessed</del>\r
+\r
+       [Update] MS team pointed out that it is incorrect and I found that \r
+       XML Schema Structures 3.3.2 explicitly denotes that when minOccurs=\r
+       maxOccurs=0 it corresponds to no component at all.\r
 \r
        Particles that have maxOccurs="0" looks simply ignored *before*\r
        evaluating particle restriction valid, but it might get incorrect\r
@@ -88,6 +122,7 @@ BUGS in MS Implementation of XmlSchema:
 \r
        Related msxsdtest is groupG001.xsd.\r
 \r
+\r
 009. derived list incorrectly allowed\r
 \r
        "Type Derivation OK" by list simple type of atomic simple type is\r
@@ -111,6 +146,9 @@ BUGS in MS Implementation of XmlSchema:
 \r
        Related msxsdtests are elemT015.xsd and elemT022.xsd.\r
 \r
+(MS: This will be fixed in the next version of .NET 2.0)\r
+\r
+\r
 010. derived union incorrectly allowed\r
 \r
        Similar problem to No.9 above resides in xs:union. Derived union type\r
@@ -118,7 +156,13 @@ BUGS in MS Implementation of XmlSchema:
 \r
        Related msxsdtest is elemT014.xsd.\r
 \r
-011. schema finalDefault with list and/or union\r
+[ditto]\r
+\r
+\r
+<del>011. schema finalDefault with list and/or union</del>\r
+\r
+       [Update] This is not MS bug. We have to fix this problem. XML Schema\r
+       errata corrected this part of the spec by allowing 'list'.\r
 \r
        In xs:schema, finalDefault = (#all | List of (extension | restriction)),\r
        but MS.NET failed to handle blockDefault='list' as an error.\r
@@ -126,20 +170,24 @@ BUGS in MS Implementation of XmlSchema:
 \r
        Related msxsdtest is stF034.xsd and stF036.xsd.\r
 \r
+\r
 012. derived types cannot duplicate fixed facet\r
 \r
-  If you have a facet like <xsd:minLength value="5" fixed="true" />, you should\r
-  be able to have <xsd:minLength value="5" /> in restrictions of it, as long as\r
-  the values are the same. MS says: \r
-    "Base type has {fixed} equal to true."\r
+       If you have a facet like <xsd:minLength value="5" fixed="true" />, \r
+       you should be able to have <xsd:minLength value="5" /> in \r
+       restrictions of it, as long as the values are the same. MS says: \r
+       "Base type has {fixed} equal to true."\r
+\r
+       XML-Schema part2 Datatype, 4.3.2.1: \r
+       "If {fixed} is true, then types for which the current type is the\r
+       {base type definition} cannot specify a value for minLength other than\r
+       {value}."\r
+\r
+       Which implies that you can specify a value for minLength that is the\r
+       same as {value}.\r
 \r
-  XML-Schema part2 Datatype, 4.3.2.1: \r
-    "If {fixed} is true, then types for which the current type is the {base\r
-    type definition} cannot specify a value for minLength other than\r
-    {value}."\r
+(MS: This is bug.)\r
 \r
-  Which implies that you can specify a value for minLength that is the same as\r
-  {value}.\r
 \r
 013. Some facets are incorrectly allowed for list simple type.\r
 \r
@@ -147,12 +195,35 @@ BUGS in MS Implementation of XmlSchema:
        minLength, maxLength, pattern and enumeration are allowed. However, MS\r
        implementation allows whitespace (and possibly and so on).\r
 \r
-014. Incorrectly disallowed mixed derivation with empty content from elementOnly\r
+(MS: "whitespace" is incorrectly allowed. It is bug.)\r
+\r
+\r
+<del>014. Incorrectly disallowed mixed derivation with empty content from\r
+elementOnly</del>\r
+\r
+       [Update] MS team pointed out that XSD Errata replaced -explicit \r
+       content- with -effective content- . Thus, such schema should be\r
+       rejected. (See E1-5 of http://www.w3.org/2001/05/xmlschema-errata .)\r
 \r
        When a complexType whose mixed='true' and -explicit content- is empty,\r
-       is derived from a complexType whose {content type} is ElementOnly,\r
+       and is derived from a complexType whose {content type} is ElementOnly,\r
        MS.NET rejects such schema. But 3.4.2 (complex content Schema\r
        Component) especially 2.1 of {content type} does not say it is an error.\r
 \r
        Related msxsdtest: ctF008.xsd\r
 \r
+\r
+015. Included schema ignores incorrect element name which belongs to \r
+XmlSchema.Namespace\r
+\r
+       MS Schema compiler fails to catch an error when an incorrect schema\r
+       (such as below) is included by any other schemas:\r
+\r
+       <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\r
+         <xs:foo />\r
+       </xs:schema>\r
+\r
+       This does not apply to general compilation error such as missing \r
+       sub components that should result in an error.\r
+\r
+       This seems fixed in Whidbey.\r