First public contribution.
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Copyright (c) 2006 Symbian Software Ltd. All rights reserved. -->
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
4 <!-- root element for dictionary -->
5 <xs:element name="tracedictionary">
8 <xs:element name="metadata" type="options" minOccurs="0"/>
9 <xs:element name="typedef" type="typedef" minOccurs="0"/>
10 <xs:element name="data" type="data" minOccurs="0"/>
11 <xs:element name="locations" type="locations" minOccurs="0"/>
12 <xs:element name="component" type="component" minOccurs="0" maxOccurs="unbounded"/>
14 <xs:attribute name="version" type="xs:float" default="1.0"/>
17 <!--typemember type definition-->
18 <xs:complexType name="typemember">
20 <xs:attribute name="name" type="xs:string" use="required"/>
21 <xs:attribute name="type" type="xs:string" use="optional"/>
22 <xs:attribute name="value" type="xs:integer" use="optional"/>
25 <xs:complexType name="object">
27 <xs:element name="member" type="typemember" minOccurs="0" maxOccurs="unbounded"/>
29 <xs:attribute name="type" type="xs:string" use="required"/>
30 <xs:attribute name="classification" type="datatype" use="required"/>
31 <xs:attribute name="size" type="xs:positiveInteger" use="optional"/>
32 <xs:attribute name="formatchar" type="xs:string" use="optional"/>
35 <xs:complexType name="typedef">
37 <xs:element name="external-def" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
38 <xs:element name="object" type="object" maxOccurs="unbounded"/>
41 <!--enumeration for data->type attributes-->
42 <xs:simpleType name="datatype">
43 <xs:restriction base="xs:string">
44 <xs:enumeration value="string"/>
45 <xs:enumeration value="integer"/>
46 <xs:enumeration value="float"/>
47 <xs:enumeration value="hex"/>
48 <xs:enumeration value="binary"/>
49 <xs:enumeration value="octal"/>
50 <xs:enumeration value="enum"/>
51 <xs:enumeration value="raw"/>
52 <xs:enumeration value="compound"/>
56 <xs:complexType name="options">
58 <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
61 <!--def type definition-->
62 <xs:complexType name="def">
64 <xs:extension base="xs:string">
65 <xs:attribute name="id" type="xs:positiveInteger" use="required"/>
66 <xs:attribute name="type" type="datatype" default="string"/>
70 <!--data type definition-->
71 <xs:complexType name="data">
73 <xs:element name="def" type="def" maxOccurs="unbounded"/>
76 <!--file type definition-->
77 <xs:complexType name="file">
79 <xs:extension base="xs:string">
80 <xs:attribute name="id" type="xs:positiveInteger" use="required"/>
84 <!--path type definition-->
85 <xs:complexType name="path">
87 <xs:element name="file" type="file" maxOccurs="unbounded"/>
89 <xs:attribute name="val" type="xs:string" use="required"/>
91 <!--locations type definition-->
92 <xs:complexType name="locations">
94 <xs:element name="path" type="path" maxOccurs="unbounded"/>
97 <!--instance type definition-->
98 <xs:complexType name="instance">
100 <xs:element name="options" type="options" minOccurs="0"/>
102 <xs:attribute name="id" type="xs:positiveInteger" use="required"/>
103 <xs:attribute name="loc-ref" type="xs:positiveInteger" use="required"/>
104 <xs:attribute name="line" type="xs:positiveInteger" use="required"/>
105 <xs:attribute name="methodname" type="xs:string" use="required"/>
106 <xs:attribute name="classname" type="xs:string" use="optional"/>
108 <!--trace type definition-->
109 <xs:complexType name="trace">
111 <xs:element name="options" type="options" minOccurs="0"/>
112 <xs:element name="instance" type="instance" minOccurs="0" maxOccurs="unbounded"/>
114 <xs:attribute name="data-ref" type="xs:positiveInteger" use="optional"/>
116 <!--tracetype type definition-->
117 <xs:complexType name="group">
119 <xs:element name="options" type="options" minOccurs="0"/>
120 <xs:element name="trace" type="trace" maxOccurs="unbounded"/>
122 <xs:attribute name="id" type="xs:positiveInteger" use="required"/>
123 <xs:attribute name="name" type="xs:string" use="required"/>
124 <xs:attribute name="prefix" type="xs:string" use="optional"/>
125 <xs:attribute name="suffix" type="xs:string" use="optional"/>
127 <!--copmponent type definition-->
128 <xs:complexType name="component">
130 <xs:element name="options" type="options" minOccurs="0"/>
131 <xs:element name="group" type="group" maxOccurs="unbounded"/>
133 <xs:attribute name="id" type="xs:integer" use="required"/>
134 <xs:attribute name="name" type="xs:string" use="required"/>
135 <xs:attribute name="prefix" type="xs:string" use="optional"/>
136 <xs:attribute name="suffix" type="xs:string" use="optional"/>