DSPL Schema

This page and its linked subpages document the DSPL XML schema. This material is intended for advanced users who want to understand the low-level details of the language; for most users, the content in the Developer Guide should be sufficient for creating and editing DSPL datasets.

The complete XML schema is available for download in XSD format on the DSPL code site.

Element: dspl

Namespace http://schemas.google.com/dspl/2010
Annotations A DSPL specification describes a dataset. A dataset is identified by its namespace. A dataset is comprised of the following elements: - Tables: Data for the concepts and slices defined in the dataset - Concepts: User-specified definitions and structures used in the dataset - Slices: Combinations of dimensions and metrics present in the dataset - Topics: Hierarchical labels used to organise the concepts of the dataset
Diagram Diagram dspl9.tmp#id103 dspl9.tmp#id2 dspl9.tmp#id5 dspl9.tmp#id16 dspl9.tmp#id17 dspl9.tmp#id27 dspl9.tmp#id35 dspl9.tmp#id68 dspl9.tmp#id86
Properties
content: complex
Model import* , info , provider , attribute* , topics{0,1} , concepts{0,1} , slices{0,1} , tables{0,1}
Children attribute, concepts, import, info, provider, slices, tables, topics
Instance
<dspl targetNamespace="">
  <import location="" namespace="">{0,unbounded}</import>
  <info>{1,1}</info>
  <provider>{1,1}</provider>
  <attribute concept="" id="">{0,unbounded}</attribute>
  <topics>{0,1}</topics>
  <concepts>{0,1}</concepts>
  <slices>{0,1}</slices>
  <tables>{0,1}</tables>
</dspl>
Attributes
QName Type Fixed Default Use Annotation
targetNamespace xs:anyURI optional Each dataset may provide a target namespace. The target namespace is a URI that uniquely identifies the dataset. For more information about the use of namespaces in XML, see: http://www.w3.org/TR/REC-xml-names/ If no targetNamespace is provided, then a namespace will be generated when the dataset is imported.
Source
<xs:element name="dspl">
  <xs:annotation>
    <xs:documentation>A DSPL specification describes a dataset. A dataset is
        identified by its namespace. A dataset is comprised of the
        following elements:

        - Tables: Data for the concepts and slices defined in the
        dataset

        - Concepts: User-specified definitions and structures used in
        the dataset

        - Slices: Combinations of dimensions and metrics present in
        the dataset

        - Topics: Hierarchical labels used to organise the concepts of
        the dataset</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element name="import" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Import directive for external datasets -- modeled after
              the XML Schema import directive.  In order to use
              elements defined in an external dataset, the external
              dataset must be referenced using an import directive.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="namespace" use="required">
            <xs:annotation>
              <xs:documentation>The namespace of the imported dataset, specified as
                  a URI. A prefix must be associated with this
                  namespace before its contents can be referenced. See
                  [XML Namespaces] for more information about the use
                  of namespaces and prefixes in XML.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="location" use="optional">
            <xs:annotation>
              <xs:documentation>An optional location where the definition of the
                  imported dataset can be found, specified as a
                  URL. If the location is omitted, the system
                  processing this DSPL dataset must already know the
                  imported dataset.

                  Implementation note: The Google dataset importer
                  ignores the location attribute. Any imported dataset
                  must be known by the Google importer beforehand.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="info" type="Info" minOccurs="1">
        <xs:annotation>
          <xs:documentation>General information about the dataset.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="provider" type="Info">
        <xs:annotation>
          <xs:documentation>General information about the dataset provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="attribute" type="Attribute" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Attribute associated with the dataset.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="topics" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A hierarchy of topics used to organize the contents of
              the dataset. The order in which topics are given is
              meaningful and should be respected by visualizations
              that displays these topics.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="topic" type="Topic" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="concepts" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A list of concepts defined in this dataset.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="concept" type="Concept" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="slices" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A list of slices defined in this dataset.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="slice" type="Slice" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="tables" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A list of tables defined in this dataset.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="table" type="Table" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="targetNamespace" type="xs:anyURI" use="optional">
      <xs:annotation>
        <xs:documentation>Each dataset may provide a target namespace. The
              target namespace is a URI that uniquely identifies the
              dataset. For more information about the use of namespaces in XML,
              see:

              http://www.w3.org/TR/REC-xml-names/

              If no targetNamespace is provided,  then a namespace will be
              generated when the dataset is imported.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Element: dspl / import

Namespace http://schemas.google.com/dspl/2010
Annotations Import directive for external datasets -- modeled after the XML Schema import directive. In order to use elements defined in an external dataset, the external dataset must be referenced using an import directive.
Diagram Diagram dspl9.tmp#id3 dspl9.tmp#id4
Properties
content: complex
minOccurs: 0
maxOccurs: unbounded
Attributes
QName Type Fixed Default Use Annotation
location optional An optional location where the definition of the imported dataset can be found, specified as a URL. If the location is omitted, the system processing this DSPL dataset must already know the imported dataset. Implementation note: The Google dataset importer ignores the location attribute. Any imported dataset must be known by the Google importer beforehand.
namespace required The namespace of the imported dataset, specified as a URI. A prefix must be associated with this namespace before its contents can be referenced. See [XML Namespaces] for more information about the use of namespaces and prefixes in XML.
Source
<xs:element name="import" minOccurs="0" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation>Import directive for external datasets -- modeled after
              the XML Schema import directive.  In order to use
              elements defined in an external dataset, the external
              dataset must be referenced using an import directive.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:attribute name="namespace" use="required">
      <xs:annotation>
        <xs:documentation>The namespace of the imported dataset, specified as
                  a URI. A prefix must be associated with this
                  namespace before its contents can be referenced. See
                  [XML Namespaces] for more information about the use
                  of namespaces and prefixes in XML.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="location" use="optional">
      <xs:annotation>
        <xs:documentation>An optional location where the definition of the
                  imported dataset can be found, specified as a
                  URL. If the location is omitted, the system
                  processing this DSPL dataset must already know the
                  imported dataset.

                  Implementation note: The Google dataset importer
                  ignores the location attribute. Any imported dataset
                  must be known by the Google importer beforehand.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Element: dspl / info

Namespace http://schemas.google.com/dspl/2010
Annotations General information about the dataset.
Diagram Diagram dspl4.tmp#id7 dspl4.tmp#id14 dspl4.tmp#id15 dspl4.tmp#id6
Type Info
Properties
content: complex
minOccurs: 1
Model name , description{0,1} , url{0,1}
Children description, name, url
Instance
<info>
  <name>{1,1}</name>
  <description>{0,1}</description>
  <url>{0,1}</url>
</info>
Source
<xs:element name="info" type="Info" minOccurs="1">
  <xs:annotation>
    <xs:documentation>General information about the dataset.</xs:documentation>
  </xs:annotation>
</xs:element>

Element: dspl / provider

Namespace http://schemas.google.com/dspl/2010
Annotations General information about the dataset provider.
Diagram Diagram dspl4.tmp#id7 dspl4.tmp#id14 dspl4.tmp#id15 dspl4.tmp#id6
Type Info
Properties
content: complex
Model name , description{0,1} , url{0,1}
Children description, name, url
Instance
<provider>
  <name>{1,1}</name>
  <description>{0,1}</description>
  <url>{0,1}</url>
</provider>
Source
<xs:element name="provider" type="Info">
  <xs:annotation>
    <xs:documentation>General information about the dataset provider.</xs:documentation>
  </xs:annotation>
</xs:element>

Element: dspl / attribute

Namespace http://schemas.google.com/dspl/2010
Annotations Attribute associated with the dataset.
Diagram Diagram dspl14.tmp#id24 dspl14.tmp#id26 dspl14.tmp#id19 dspl14.tmp#id20 dspl0.tmp#id10 dspl0.tmp#id12 dspl0.tmp#id9 dspl14.tmp#id18
Type Attribute
Properties
content: complex
minOccurs: 0
maxOccurs: unbounded
Model info{0,1} , type{0,1} , (value* | conceptValue{0,1})
Children conceptValue, info, type, value
Instance
<attribute concept="" id="">
  <info>{0,1}</info>
  <type format="" ref="">{0,1}</type>
</attribute>
Attributes
QName Type Fixed Default Use Annotation
concept xs:QName optional A reference to a concept that corresponds to the values of the attribute. If the attribute specifies a type, then the type must match the type of the referenced concept. A reference to an external concept must be of the form "prefix:other_concept_id", where "prefix" is the prefix used for the namespace of the external dataset (see XML namespaces).
id LocalId optional The id of the concept attribute. This identifier must be unique within the concept (across attributes and properties). The id may be omitted if the concept attribute is specified. In that case, an id is implicity created with value the local name of the referenced concept. For instance <attribute concept="unit:currency"/> is equivalent to <attribute id="currency" concept="unit:currency"/>
Source
<xs:element name="attribute" type="Attribute" minOccurs="0" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation>Attribute associated with the dataset.</xs:documentation>
  </xs:annotation>
</xs:element>

Element: dspl / topics

Namespace http://schemas.google.com/dspl/2010
Annotations A hierarchy of topics used to organize the contents of the dataset. The order in which topics are given is meaningful and should be respected by visualizations that displays these topics.
Diagram Diagram dspl9.tmp#id28
Properties
content: complex
minOccurs: 0
Model topic+
Children topic
Instance
<topics>
  <topic id="" parentTopic="">{1,unbounded}</topic>
</topics>
Source
<xs:element name="topics" minOccurs="0">
  <xs:annotation>
    <xs:documentation>A hierarchy of topics used to organize the contents of
              the dataset. The order in which topics are given is
              meaningful and should be respected by visualizations
              that displays these topics.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element name="topic" type="Topic" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Element: dspl / topics / topic

Namespace http://schemas.google.com/dspl/2010
Diagram Diagram dspl15.tmp#id32 dspl15.tmp#id34 dspl15.tmp#id30 dspl15.tmp#id31 dspl15.tmp#id29
Type Topic
Properties
content: complex
maxOccurs: unbounded
Model info , topic*
Children info, topic
Instance
<topic id="" parentTopic="">
  <info>{1,1}</info>
  <topic id="" parentTopic="">{0,unbounded}</topic>
</topic>
Attributes
QName Type Fixed Default Use Annotation
id Id required The unique identifier of the topic in the dataset.
parentTopic xs:QName optional The id of the parent topic of this topic, if it has one. parentTopic cannot be specified for topics that are inlined inside other topics.
Source
<xs:element name="topic" type="Topic" maxOccurs="unbounded"/>

Element: dspl / concepts

Namespace http://schemas.google.com/dspl/2010
Annotations A list of concepts defined in this dataset.
Diagram Diagram dspl9.tmp#id36
Properties
content: complex
minOccurs: 0
Model concept+
Children concept
Instance
<concepts>
  <concept extends="" id="">{1,unbounded}</concept>
</concepts>
Source
<xs:element name="concepts" minOccurs="0">
  <xs:annotation>
    <xs:documentation>A list of concepts defined in this dataset.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element name="concept" type="Concept" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Element: dspl / concepts / concept

Namespace http://schemas.google.com/dspl/2010
Diagram Diagram dspl6.tmp#id66 dspl6.tmp#id67 dspl6.tmp#id38 dspl6.tmp#id43 dspl6.tmp#id45 dspl6.tmp#id47 dspl6.tmp#id48 dspl6.tmp#id57 dspl6.tmp#id58 dspl6.tmp#id37
Type Concept
Properties
content: complex
maxOccurs: unbounded
Model info , topic* , type{0,1} , attribute* , property* , defaultValue{0,1} , table{0,1}
Children attribute, defaultValue, info, property, table, topic, type
Instance
<concept extends="" id="">
  <info>{1,1}</info>
  <topic ref="">{0,unbounded}</topic>
  <type ref="">{0,1}</type>
  <attribute concept="" id="">{0,unbounded}</attribute>
  <property concept="" id="" isMapping="false" isParent="false">{0,unbounded}</property>
  <defaultValue>{0,1}</defaultValue>
  <table ref="">{0,1}</table>
</concept>
Attributes
QName Type Fixed Default Use Annotation
extends xs:QName optional The unique identifier of a concept that this concept extends. The referenced concept may be defined in the same dataset or externally, i.e., in another dataset. A reference to an external concept must be of the form "prefix:other_concept_id", where "prefix" is the prefix used for the namespace of the external dataset (see XML namespaces).
id Id required The unique identifier of the concept, which must be globally unique within the dataset.
Source
<xs:element name="concept" type="Concept" maxOccurs="unbounded"/>

Element: dspl / slices

Namespace http://schemas.google.com/dspl/2010
Annotations A list of slices defined in this dataset.
Diagram Diagram dspl9.tmp#id69
Properties
content: complex
minOccurs: 0
Model slice+
Children slice
Instance
<slices>
  <slice id="">{1,unbounded}</slice>
</slices>
Source
<xs:element name="slices" minOccurs="0">
  <xs:annotation>
    <xs:documentation>A list of slices defined in this dataset.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element name="slice" type="Slice" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Element: dspl / slices / slice

Namespace http://schemas.google.com/dspl/2010
Diagram Diagram dspl2.tmp#id85 dspl2.tmp#id71 dspl2.tmp#id72 dspl2.tmp#id75 dspl2.tmp#id76 dspl2.tmp#id70
Type Slice
Properties
content: complex
maxOccurs: unbounded
Model info{0,1} , dimension+ , metric+ , table
Children dimension, info, metric, table
Instance
<slice id="">
  <info>{0,1}</info>
  <dimension concept="">{1,unbounded}</dimension>
  <metric concept="">{1,unbounded}</metric>
  <table ref="">{1,1}</table>
</slice>
Attributes
QName Type Fixed Default Use Annotation
id Id required The unique identifier of the slice.
Source
<xs:element name="slice" type="Slice" maxOccurs="unbounded"/>

Element: dspl / tables

Namespace http://schemas.google.com/dspl/2010
Annotations A list of tables defined in this dataset.
Diagram Diagram dspl9.tmp#id87
Properties
content: complex
minOccurs: 0
Model table+
Children table
Instance
<tables>
  <table id="">{1,unbounded}</table>
</tables>
Source
<xs:element name="tables" minOccurs="0">
  <xs:annotation>
    <xs:documentation>A list of tables defined in this dataset.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element name="table" type="Table" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Element: dspl / tables / table

Namespace http://schemas.google.com/dspl/2010
Diagram Diagram dspl10.tmp#id102 dspl10.tmp#id89 dspl10.tmp#id90 dspl10.tmp#id97 dspl10.tmp#id88
Type Table
Properties
content: complex
maxOccurs: unbounded
Model info{0,1} , column+ , data{0,1}
Children column, data, info
Instance
<table id="">
  <info>{0,1}</info>
  <column format="" id="" type="">{1,unbounded}</column>
  <data>{0,1}</data>
</table>
Attributes
QName Type Fixed Default Use Annotation
id Id required The unique identifier of the table in the dataset.
Source
<xs:element name="table" type="Table" maxOccurs="unbounded"/>

Attribute: dspl / import / @namespace

Namespace No namespace
Annotations The namespace of the imported dataset, specified as a URI. A prefix must be associated with this namespace before its contents can be referenced. See [XML Namespaces] for more information about the use of namespaces and prefixes in XML.
Properties
use: required
Used by
Element dspl/import
Source
<xs:attribute name="namespace" use="required">
  <xs:annotation>
    <xs:documentation>The namespace of the imported dataset, specified as
                  a URI. A prefix must be associated with this
                  namespace before its contents can be referenced. See
                  [XML Namespaces] for more information about the use
                  of namespaces and prefixes in XML.</xs:documentation>
  </xs:annotation>
</xs:attribute>

Attribute: dspl / import / @location

Namespace No namespace
Annotations An optional location where the definition of the imported dataset can be found, specified as a URL. If the location is omitted, the system processing this DSPL dataset must already know the imported dataset. Implementation note: The Google dataset importer ignores the location attribute. Any imported dataset must be known by the Google importer beforehand.
Properties
use: optional
Used by
Element dspl/import
Source
<xs:attribute name="location" use="optional">
  <xs:annotation>
    <xs:documentation>An optional location where the definition of the
                  imported dataset can be found, specified as a
                  URL. If the location is omitted, the system
                  processing this DSPL dataset must already know the
                  imported dataset.

                  Implementation note: The Google dataset importer
                  ignores the location attribute. Any imported dataset
                  must be known by the Google importer beforehand.</xs:documentation>
  </xs:annotation>
</xs:attribute>

Attribute: dspl / @targetNamespace

Namespace No namespace
Annotations Each dataset may provide a target namespace. The target namespace is a URI that uniquely identifies the dataset. For more information about the use of namespaces in XML, see: http://www.w3.org/TR/REC-xml-names/ If no targetNamespace is provided, then a namespace will be generated when the dataset is imported.
Type xs:anyURI
Properties
use: optional
Used by
Element dspl
Source
<xs:attribute name="targetNamespace" type="xs:anyURI" use="optional">
  <xs:annotation>
    <xs:documentation>Each dataset may provide a target namespace. The
              target namespace is a URI that uniquely identifies the
              dataset. For more information about the use of namespaces in XML,
              see:

              http://www.w3.org/TR/REC-xml-names/

              If no targetNamespace is provided,  then a namespace will be
              generated when the dataset is imported.</xs:documentation>
  </xs:annotation>
</xs:attribute>

Created using the oXygen XML Editor.