I reviewed RELAX NG compact schema and found several things:
The line numbers are from  draft-bryan-metalink-10.txt

1) (This is not RELAX NG schema), in line 529:
529           & metalinkFile
should be
529           & metalinkFile+

2)
1645        element metalink:generator {
....
1647        }

should be

1647        }?,

3)
1652        element metalink:files
lacks many child elements:
  527      (metalinkCopyright?
  528           & metalinkDescription?
  529           & metalinkFile
  530           & metalinkIdentity?
  531           & metalinkLanguage?
  532           & metalinkLicense?
  533           & metalinkLogo?
  534           & metalinkOS?
  535           & metalinkPublisher?
  536           & metalinkVersion?
  537           & extensionElement*)

Only metlainkFile is defined in the compact schema.

4)
1693              element metalink:metaurl {
...
This elements lacks closing "}*"

5)
1698              element metalink:url {
...
1704              }+
line 1704 should be "}*" because 4.1.4 says:
680          metalinkURL*

6)
1673              hash+,
should be
1673              hash*,

7)
1674              element metalink:pieces {
...
1686              }+,
it should be "}*"

8)
1687              element metalink:signature {
1690              }+
it should be "}?"

The patch for xml file follows:


Index: draft-bryan-metalink-10.xml
===================================================================
--- draft-bryan-metalink-10.xml (revision 357)
+++ draft-bryan-metalink-10.xml (working copy)
@@ -437,7 +437,7 @@
       metalinkCommonAttributes,
       (metalinkCopyright?
        & metalinkDescription?
-       & metalinkFile
+       & metalinkFile+
        & metalinkIdentity?
        & metalinkLanguage?
        & metalinkLicense?
@@ -2039,12 +2039,27 @@
   element metalink:metalink {
     element metalink:generator {
       metalinkTextConstruct
-    }
+    }?,
     element metalink:origin { metalinkUri }?,
     element metalink:type { "static" | "dynamic"  }?,
     element metalink:published { metalinkDateConstruct }?,
     element metalink:updated { metalinkDateConstruct }?,
     element metalink:files {
+      element metalink:copyright { metalinkTextConstruct }?,
+      element metalink:description { metalinkTextConstruct }?,
+      element metalink:identity { metalinkTextConstruct }?,
+      element metalink:language { metalinkTextConstruct }?,
+      element metalink:license {
+        attribute uri { metalinkUri }?,
+        attribute name { metalinkTextConstruct }?,
+      }?,
+      element metalink:logo { metalinkUri }?,
+      element metalink:os { metalinkTextConstruct }?,
+      element metalink:publisher {
+        attribute uri { metalinkUri }?,
+        attribute name { metalinkTextConstruct }?,
+      }?,
+      element metalink:version { metalinkTextConstruct }?,
       element metalink:file {
         attribute name { metalinkTextConstruct },
         element metalink:identity { metalinkTextConstruct }?,
@@ -2065,16 +2080,16 @@
         element metalink:license { metalinkTextConstruct }?,
         element metalink:os { metalinkTextConstruct }?,
         element metalink:verification {
-          hash+,
+          hash*,
           element metalink:pieces {
             attribute length { xsd:integer },
             attribute type { metalinkTextConstruct },
             hash+
-          }+,
+          }*,
           element metalink:signature {
            attribute type { "pgp" },
            text
-           }+
+          }?
         }?,
         element metalink:resources {
           element metalink:metaurl {
@@ -2082,13 +2097,14 @@
             attribute type { metalinkTextConstruct },
             attribute name { metalinkTextConstruct }?,
             metalinkUri
+          }*,
           element metalink:url {
             attribute location { xsd:string {
             minLength = "2"  maxLength="2"}
             }?,
             attribute preference { xsd:integer }?,
             metalinkUri
-          }+
+          }*
         }
       }+
     }



On 7月26日, 午前7:21, Anthony Bryan <[email protected]> wrote:
> thanks for the help & info, Eran.
>
> yes, please guys, I'm at the point where I'm going loopy re-reading
> this thing :)
>
> please review, esp the relax ng schema. I think there are some problems 
> there...
>
>
>
> On Fri, Jul 24, 2009 at 1:57 AM, Eran Hammer-Lahav<[email protected]> wrote:
>
> > The current plan is to get a final draft this group is happy with and then 
> > go outside the Metalink community and ask (with force when necessary) 
> > experts in related areas to review the document. That feedback will feed 
> > back here and when you are satisfied that all feedback has been addressed, 
> > I will help push this document forward as an IETF standard (with a fallback 
> > option of Informational status).
>
> > It is critical that you, as subject matter experts, put your weight behind 
> > this draft and join the public discussion at the IETF as needed to get this 
> > through the process.
>
> > EHL
>
> >> -----Original Message-----
> >> From: [email protected] [mailto:metalink-
> >> [email protected]] On Behalf Of Anthony Bryan
> >> Sent: Thursday, July 23, 2009 5:57 PM
> >> To: Metalink Discussion
> >> Subject: ID: Request for lots of community review :)
>
> >> hi everyone,
>
> >> it'd be great if you haven't reviewed the Internet Draft yet, if you
> >> could now. I think we are getting VERY close to where we want to be.
>
> >> see the version in svn which is most up to date, along with an html
> >> version that may be easier to follow.
>
> >>http://metalinks.svn.sourceforge.net/viewvc/metalinks/internetdraft/
>
> >> one of the final things I'm aware of:
>
> >> <type> name
>
> >> we need a more descriptive name, like <dynamic> or...any ideas? or
> >> remove it, like Peter suggested.
>
> >> --
> >> (( Anthony Bryan ... Metalink [http://www.metalinker.org]
> >>   )) Easier, More Reliable, Self Healing Downloads
>
> --
> (( Anthony Bryan ... Metalink [http://www.metalinker.org]
>   )) Easier, More Reliable, Self Healing Downloads
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Metalink Discussion" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/metalink-discussion?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to