<?xml version="1.0" encoding="UTF-8"?>
<!--
YADS - RELAX NG (C)
This document describes YADS - A Description Service
in a RELAX NG Compact Schema.
==
// From RDF Schema for YADS
Resource: yads-schema-2007-05-17
Comment: RDF Schema for YADS - A Description Service
Author: Tony Hammond <t.hammond@nature.com>
Revision: May 17, 2007 - Tony Hammond
-->
datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"
namespace xmlns = "http://relaxng.org/ns/structure/1.0"
start = yads
# Toplevel wrapper element
yads =
element yads {
( item | nest )*
}
# Item element - collection OR resource, with properties.
item =
element item {
( collection | resource ), property*
}
# Nest element - collection AND resource, with properties.
nest =
element nest {
( collection , resource ), property*
}
# Collection element - contains sequence of nest or item elements.
# (An ordering attribute determines how the elements should be ordered.)
collection =
element collection {
attribute ordering
{ "choice" | "sequenced" | "unordered" }?,
( item | nest )*
}
# Resource element
resource =
element resource {
xsd:anyURI
}
# Property element
property =
element property {
attribute type { text },
xsd:anyURI | xsd:string
}
|