# CHART Event Classes definitions

namespace xsi = "http://www.w3.org/2001/XMLSchema-instance"

start = classdef

classdef = element class {
    attribute xsi:noNamespaceSchemaLocation { "http://chart/schemas/eventclasses.xsd" }? &
    element name { text } &
    element description { text }? &
    element renderer { "ool_event" }? &
    element key-code { text }? &
    element test { text }? &
    element template { text }? &
    # element function { text } &
    element email-function { text }? &
    element email-notification { text }? &
    element url { text }? &
    element class-property {
        element name { text } &
        element value { text }
    }* &
    element instance-property {
        element name { text } &
        element type {
            "int" |
            "uint" |
            "float" |
            "string" |
            "duration" |
            "datetime" |
        	"boolean" |
			"json" } &
        element unit { text }? &
        element description { text }? &
        element optional { empty }? &
        element defaultview { empty }? &
        element choices {
            element item {
                element value { text }? &
                element name { text }? &
                element description { text }? &
                element colour { text }?
            }+
        }?
    }* &
    classdef*
}

Download as raw Relax-NG Compact here or as raw XSD here