# # RNC schema for gutter package list: # start = element gutter { package+ } # # Data types: # PACKAGEID = text # Package identifier, [:alpha:][:alnum:]* VERSIONID = text # Version identifier, ???tbd AUTHOR = text # Name of person or organization URL = text # URL, see RFC XXXX DATE = text # Datestamp, YYYY-MM-DD PKGREFS = text # comma-separated list of package references # pkgref = extname | pkgname(extname) # e.g., "tdom", "uri(tcllib)" EXTREFS = text # external package references package = element package { attribute id { PACKAGEID } & element license { text } & element author { AUTHOR }* & element homepage { URL }+ # == & element summary { text } # One-line summary & element description { text } # Longer description & link* & release* # Other stuff: # @@@ not sure how best to represent these & element (depends|recommends|build-depends|related) {PKGREFS}* & element (requires|build-requires) {EXTREFS}* & element (cvs) { text }* } release = element release { attribute version { VERSIONID } & element date { DATE } & element announce { URL }? # == } link = element link { URL, attribute rel { "homepage" | "documentation" | "announce" | "see-also" | "wiki" | "sourceforge" | "freshmeat" | "svn" | "darcs" | "git" | "fossil" | "cvsweb" | "cvstrac" | "trac" } # @@@ these don't belong on , dunno where to put them yet... , attribute id { text }? # numeric id, for SF, FM, other links , attribute module { text }? # CVS module for SF link } # IDEA, 22 Feb 2009: # Replace with # (?name) -- sourceforge, savannah, google-code, ... others. # Attributes: site (sf/gcode/etc), name, id, possibly subproject # Derive relevant links from site * name * id # # Think about: unify ("SCM")? otherstuff = element * { (attribute * { text } | text | otherstuff)* } #*EOF*