This is the schema for the UPnP Device Description document, in the RELAX NG Compact syntax.
# Relax NG schema for UPnP Device Description files. See section 2.1 of UPnP # Device Architecture 1.0 for the canonical reference. default namespace = "urn:schemas-upnp-org:device-1-0" start = root root = element root { element specVersion { element major { text } & element minor { text } } & element URLBase { text }? & device } device = element device { element deviceType { text } & element friendlyName { text } & element manufacturer { text } & element manufacturerURL { text }? & element modelDescription { text }? & element modelName { text } & element modelNumber { text }? & element modelURL { text }? & element serialNumber { text }? & element UDN { text } & element UPC { text }? & element iconList { element icon { element mimetype { text } & element width { text } & element height { text } & element depth { text } & element url { text } }+ }? & element serviceList { element service { element serviceType { text } & element serviceId { text } & element SCPDURL { text } & element controlURL { text } & element eventSubURL { text } }+ }? & element deviceList { device+ }? & element presentationURL { text }? }+