traceservices/tracefw/dictionary/dictionaryschema.xsd
changeset 0 08ec8eefde2f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/traceservices/tracefw/dictionary/dictionaryschema.xsd	Fri Jan 22 11:06:30 2010 +0200
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (c) 2006 Symbian Software Ltd. All rights reserved. -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+	<!-- root element for dictionary -->
+	<xs:element name="tracedictionary">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="metadata" type="options" minOccurs="0"/>
+				<xs:element name="typedef" type="typedef" minOccurs="0"/>
+				<xs:element name="data" type="data" minOccurs="0"/>
+				<xs:element name="locations" type="locations" minOccurs="0"/>
+				<xs:element name="component" type="component" minOccurs="0" maxOccurs="unbounded"/>
+			</xs:sequence>
+			<xs:attribute name="version" type="xs:float" default="1.0"/>
+		</xs:complexType>
+	</xs:element>
+	<!--typemember type definition-->
+	<xs:complexType name="typemember">
+		<xs:sequence/>
+		<xs:attribute name="name" type="xs:string" use="required"/>
+		<xs:attribute name="type" type="xs:string" use="optional"/>
+		<xs:attribute name="value" type="xs:integer" use="optional"/>
+	</xs:complexType>
+	<!--object type-->
+	<xs:complexType name="object">
+		<xs:sequence>
+			<xs:element name="member" type="typemember" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="type" type="xs:string" use="required"/>
+		<xs:attribute name="classification" type="datatype" use="required"/>
+		<xs:attribute name="size" type="xs:positiveInteger" use="optional"/>
+		<xs:attribute name="formatchar" type="xs:string" use="optional"/>
+	</xs:complexType>
+	<!--Typedef object-->
+	<xs:complexType name="typedef">
+		<xs:sequence>
+			<xs:element name="external-def" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="object" type="object" maxOccurs="unbounded"/>
+		</xs:sequence>
+	</xs:complexType>
+	<!--enumeration for data->type attributes-->
+	<xs:simpleType name="datatype">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="string"/>
+			<xs:enumeration value="integer"/>
+			<xs:enumeration value="float"/>
+			<xs:enumeration value="hex"/>
+			<xs:enumeration value="binary"/>
+			<xs:enumeration value="octal"/>
+			<xs:enumeration value="enum"/>
+			<xs:enumeration value="raw"/>
+			<xs:enumeration value="compound"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<!--Options type-->
+	<xs:complexType name="options">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+	</xs:complexType>
+	<!--def type definition-->
+	<xs:complexType name="def">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+				<xs:attribute name="id" type="xs:positiveInteger" use="required"/>
+				<xs:attribute name="type" type="datatype" default="string"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<!--data type definition-->
+	<xs:complexType name="data">
+		<xs:sequence>
+			<xs:element name="def" type="def" maxOccurs="unbounded"/>
+		</xs:sequence>
+	</xs:complexType>
+	<!--file type definition-->
+	<xs:complexType name="file">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+				<xs:attribute name="id" type="xs:positiveInteger" use="required"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<!--path type definition-->
+	<xs:complexType name="path">
+		<xs:sequence>
+			<xs:element name="file" type="file" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="val" type="xs:string" use="required"/>
+	</xs:complexType>
+	<!--locations type definition-->
+	<xs:complexType name="locations">
+		<xs:sequence>
+			<xs:element name="path" type="path" maxOccurs="unbounded"/>
+		</xs:sequence>
+	</xs:complexType>
+	<!--instance type definition-->
+	<xs:complexType name="instance">
+		<xs:all>
+			<xs:element name="options" type="options" minOccurs="0"/>
+		</xs:all>
+		<xs:attribute name="id" type="xs:positiveInteger" use="required"/>
+		<xs:attribute name="loc-ref" type="xs:positiveInteger" use="required"/>
+		<xs:attribute name="line" type="xs:positiveInteger" use="required"/>
+		<xs:attribute name="methodname" type="xs:string" use="required"/>
+		<xs:attribute name="classname" type="xs:string" use="optional"/>
+	</xs:complexType>
+	<!--trace type definition-->
+	<xs:complexType name="trace">
+		<xs:sequence>
+			<xs:element name="options" type="options" minOccurs="0"/>
+			<xs:element name="instance" type="instance" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="data-ref" type="xs:positiveInteger" use="optional"/>
+	</xs:complexType>
+	<!--tracetype type definition-->
+	<xs:complexType name="group">
+		<xs:sequence>
+			<xs:element name="options" type="options" minOccurs="0"/>
+			<xs:element name="trace" type="trace" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="id" type="xs:positiveInteger" use="required"/>
+		<xs:attribute name="name" type="xs:string" use="required"/>
+		<xs:attribute name="prefix" type="xs:string" use="optional"/>
+		<xs:attribute name="suffix" type="xs:string" use="optional"/>
+	</xs:complexType>
+	<!--copmponent type definition-->
+	<xs:complexType name="component">
+		<xs:sequence>
+			<xs:element name="options" type="options" minOccurs="0"/>
+			<xs:element name="group" type="group" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="id" type="xs:integer" use="required"/>
+		<xs:attribute name="name" type="xs:string" use="required"/>
+		<xs:attribute name="prefix" type="xs:string" use="optional"/>
+		<xs:attribute name="suffix" type="xs:string" use="optional"/>
+	</xs:complexType>
+</xs:schema>