# $Header: /var/cvsroot/gentoo/xml/htdocs/dtd/mirrors.dtd,v 1.3 2009/12/03 09:43:39 robbat2 Exp $
# This file is used for keeping the new mirrors.xml file
# element: mirrors
# description: A set of mirrorgroups followed by a list of countries with their code
# example:
#
# ...
#
# ...
#
# Canada
# ...
#
#
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
mirrors = element mirrors { attlist.mirrors, mirrorgroup*, countries }
attlist.mirrors &= empty
# element: mirrorgroup
# description: Group mirrors by region and country.
# The country code must exist in //countries/country
# example:
#
# ...
#
# ...
#
# OSU Open Source Lab
# http://gentoo.osuosl.org/
# ftp://gentoo.osuosl.org/
#
mirror = element mirror { attlist.mirror, name, uri+ }
attlist.mirror &=
attribute city { text }?,
attribute coordinates { text }?,
attribute gentoo-bug { text }?
# element: name
# description: Name of the mirror
# note: Do not include a country and protocol pair, "(USA/http)" as they will
# be built by the XSL.
# example: OSU Open Source Lab
name = element name { attlist.name, text }
attlist.name &= empty
# element: uri
# description: A Uniform Resource Locator for a given mirror
# example: http://gentoo.osuosl.org/
uri = element uri { attlist.uri, text }
attlist.uri &=
[ a:defaultValue = "y" ] attribute ipv4 { "Y" | "y" | "N" | "n" }?,
[ a:defaultValue = "n" ] attribute ipv6 { "Y" | "y" | "N" | "n" }?,
[ a:defaultValue = "n" ] attribute partial { "Y" | "y" | "N" | "n" }?,
[ a:defaultValue = "http" ]
attribute protocol { "http" | "ftp" | "rsync" }?
# element: countries
# description: A list of countries with their code and name
# example:
# Canada
#
countries = element countries { attlist.countries, country* }
attlist.countries &= empty
# element: country
# description: A country with its code
# example: Canada
country = element country { attlist.country, text }
attlist.country &= attribute code { xsd:ID }
start = mirrors