oops, silly failure to backport.
authorAtsushi Eno <atsushieno@gmail.com>
Fri, 13 Jan 2006 03:56:09 +0000 (03:56 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Fri, 13 Jan 2006 03:56:09 +0000 (03:56 -0000)
svn path=/trunk/mcs/; revision=55479

mcs/tools/dtd2rng/ChangeLog
mcs/tools/dtd2rng/dtd2rng.cs

index ed496f3eac48322ee5b86bf36f104f35a5b81a1c..6e1c7f0a970adeb31377aba10a52a58f5daddba8 100644 (file)
@@ -1,3 +1,8 @@
+2006-01-11  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * dtd2rng.cs : return <optional><attribute .../></optional> when an
+         attribute is #IMPLIED.
+
 2005-12-16  Atsushi Enomoto  <atsushi@ximian.com>
 
        * dtd2rng.cs : datatypeLibrary remapping. Compact syntax output.
index 0cee4b6ed361d434ab65f99e3eac28daaec8e1aa..38b9987a98aedecc6f410b7a0f8f8f0ea6176986 100644 (file)
@@ -173,7 +173,7 @@ options:
                        return re;
                }
 
-               RelaxngAttribute CreateAttribute (XmlSchemaAttribute attr)
+               RelaxngPattern CreateAttribute (XmlSchemaAttribute attr)
                {
                        RelaxngAttribute ra = new RelaxngAttribute ();
                        RelaxngName name = new RelaxngName ();
@@ -182,7 +182,15 @@ options:
                        ra.Pattern = attr.SchemaType != null ?
                                CreatePatternFromType (attr.SchemaType) :
                                CreatePatternFromTypeName (attr.SchemaTypeName);
-                       return ra;
+
+                       RelaxngPattern ret = ra;
+
+                       if (attr.Use == XmlSchemaUse.Optional) {
+                               RelaxngOptional opt = new RelaxngOptional ();
+                               opt.Patterns.Add (ra);
+                               ret = opt;
+                       }
+                       return ret;
                }
 
                RelaxngPattern CreatePatternFromParticle (XmlSchemaParticle xsdp)