# CHART generic XML report templates

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

element template | report {
	attribute xsi:noNamespaceSchemaLocation { "http://chart/schemas/report.xsd" } &
    element meta {
		element description { text }? &
        element pdf-filename { text }? &
        element theme { text }?  &
        element prefix { text }? &
        element enable-mathjax { xsd:boolean }?
    }? &
    element title {
        element text { text }
    }* &
    element heading {
        element text { text }
    }* &
    element subheading {
        element text { text }
    }* &
    element subsubheading {
        element text { text }
    }* &
    element paragraph {
        element text { text }+
    }* &
    element table-of-contents { empty }? &
    element list-of-figures { empty }? &
    element events-list {
        element title { text }? &
        element event {
            element eventname { text }? &
            element component { text }* &
            element min-duration { xsd:duration }? &
            element max-duration { xsd:duration }? &
            element condition {
                element property { text } &
                element op { text } &
                element value { text }
            }*
        }* &
        element absolute-start-time { text }? &
        element hide-default-columns { text }? &
        element column {
            element heading { text }? &
            element content { text }
        }*
    }* &
    element graph {
        element title { text }? &
        element datapoint {
            (element field { text }? |
            element event { text }?) &
			element axis { xsd:integer }? &
            element bar-width { xsd:integer }? &
            element label { text }? &
            element colour { text }? &
            element edgecolour { text }? &
            element accumulate { xsd:boolean }? &
            element y-axis { text }? &
            element marker-size { xsd:float }?
        }+ &
        element limits { "none" | "ground" | "onboard" | "all" }? &
        element sampling { "auto" | "all-points" | "stats" | "orbital-stats" }? &
        element subsampling { "auto" | "none" | "subsampled" }? &
        element appearance { "auto" | "min-max" | "min-max-avg" | "line" | "dynrange" | "scatter" }? &
        element absolute-start-time { text }? &
        element relative-start-time { xsd:duration }? &
        element relative-stop-time { xsd:duration }? &
        element trendline { xsd:boolean }? &
        element width { xsd:integer }? &
        element height { xsd:integer }? &
        element legend { "below-desc" | "below-desc-stats" | "none" | "embedded-bottom-left"}? &
		element calibrated { xsd:boolean }? &
        element anomaly-response { "none" | "axis" | "remove" }? &
        element anomaly-threshold { xsd:float }? &
        element auto-axis-margin { xsd:float }? &
        element dynrange-alpha { xsd:float }? &
        element trim { xsd:boolean }? &
		element marker-size { xsd:float }? &
        element y-axis {
          element label { text }? &
          element position { "left" | "right" }? &
          element anomaly-threshold { xsd:float }? &
          element label-fontsize { xsd:integer }? &
		  element fontsize { xsd:integer }? &
		  element locator { text }? &
		  element locator-modulus { xsd:integer }? &
		  element format { text }? &
		  element colour { text }? &
		  element label-colour { text }? &
		  element minor-ticks { text }?
        }* &
		element zoom {
		  element width { xsd:integer }
		}? &
		element x-axis {
          element label-fontsize { xsd:integer }? &
		  element fontsize { xsd:integer }? &
		  element locator { text }? &
		  element locator-modulus { xsd:integer }? &
		  element format { text }? &
		  element colour { text }? &
		  element label-colour { text }?
		}?
    }* &
    element graph-xy {
        element title { text }? &
        element width { xsd:integer }? &
        element height { xsd:integer }? &
        element x-series { text }? &
        element y-series { text }? &
        element relative-start-time { xsd:duration }? &
        element relative-stop-time { xsd:duration }? &
        element line-style { "solid" | "dotted" | "dashed" | "none" }?
    }* &
    element limits {
        element title { text }? &
        element filename { text }? &
        element datapoint { text }* &
		element x-min { xsd:float }? &
		element x-max { xsd:float }? &
		element sampling { "all" }? &
		element calibrated { xsd:boolean }? &
		element y-label { text }? &
		element table { "legend+stats" }?
    }* &
    element intelliplot {
        element title { text }? &
        element datapoint { text }
    }* &
    element picture {
        element filename { text }
    }* &
    element mhs-image {
        element channel { xsd:integer } &
        element thumbnail-width { xsd:integer }? &
        element max-duration { xsd:duration }?
    }* &
    element geoplot {
        element filename { text }? &
        element condition { text }? &
        element datapoint { text }? &
        element width { xsd:integer }? &
        element height { xsd:integer }? &
        element max-duration { xsd:duration }? &
        element projection { "ortho" }? &
        element longitude { xsd:float }? &
        element latitude { xsd:float }? &
        element blue-marble { xsd:boolean }? &
        element title { text }? &
        element colourbar { xsd:boolean }?
    }* &
    element mhs-geoplot {
        element filename { text }? &
        element condition { text }? &
        element width { xsd:integer }? &
        element height { xsd:integer }? &
        element channel { xsd:integer } &
        element projection { "ortho" }? &
        element longitude { xsd:float }? &
        element latitude { xsd:float }? &
        element max-duration { xsd:duration }?
    }* &
    element digest-introduction { empty }* &
    element digest-ingestion { empty }* &
    element digest-events { empty }* &
    element digest-jobs { empty }* &
    element digest-processes { empty }* &
    element digest-quotas { empty }* &
    element digest-logs { empty }* &
    element digest-trac { empty }* &
    element digest-supervisor { empty }* &
	element table {
		element title { text }? &
		element column {
			element name { text } &
			element label { text }? &
			element description { text }? &
			element template { text }? &
			element sort { "ascending" | "descending" }?
		}* &
		element source {
			element event { text }* &
			element condition {
				element template { text } &
				element keep { text }? &
				element drop { text }?
			  }* &
			element render {
				element column { text }&
				element template { text }
			}*
		}+
	}* &
	element layout {
		element type { "horizontal-begin" | "horizontal-end" | "horizontal-continue" }
	}* &
  element histogram {
	element title { text }? &
    element width { xsd:integer }? &
    element height { xsd:integer }? &
    element absolute-start-time { text }? &
    element absolute-stop-time { text }? &
	element datapoint {
        element field { text }
	}*
  }*
}

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