os/persistentdata/traceservices/tracefw/dictionary/dictionaryschema.xsd
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     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">
     6 		<xs:complexType>
     7 			<xs:sequence>
     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"/>
    13 			</xs:sequence>
    14 			<xs:attribute name="version" type="xs:float" default="1.0"/>
    15 		</xs:complexType>
    16 	</xs:element>
    17 	<!--typemember type definition-->
    18 	<xs:complexType name="typemember">
    19 		<xs:sequence/>
    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"/>
    23 	</xs:complexType>
    24 	<!--object type-->
    25 	<xs:complexType name="object">
    26 		<xs:sequence>
    27 			<xs:element name="member" type="typemember" minOccurs="0" maxOccurs="unbounded"/>
    28 		</xs:sequence>
    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"/>
    33 	</xs:complexType>
    34 	<!--Typedef object-->
    35 	<xs:complexType name="typedef">
    36 		<xs:sequence>
    37 			<xs:element name="external-def" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    38 			<xs:element name="object" type="object" maxOccurs="unbounded"/>
    39 		</xs:sequence>
    40 	</xs:complexType>
    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"/>
    53 		</xs:restriction>
    54 	</xs:simpleType>
    55 	<!--Options type-->
    56 	<xs:complexType name="options">
    57 		<xs:sequence>
    58 			<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
    59 		</xs:sequence>
    60 	</xs:complexType>
    61 	<!--def type definition-->
    62 	<xs:complexType name="def">
    63 		<xs:simpleContent>
    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"/>
    67 			</xs:extension>
    68 		</xs:simpleContent>
    69 	</xs:complexType>
    70 	<!--data type definition-->
    71 	<xs:complexType name="data">
    72 		<xs:sequence>
    73 			<xs:element name="def" type="def" maxOccurs="unbounded"/>
    74 		</xs:sequence>
    75 	</xs:complexType>
    76 	<!--file type definition-->
    77 	<xs:complexType name="file">
    78 		<xs:simpleContent>
    79 			<xs:extension base="xs:string">
    80 				<xs:attribute name="id" type="xs:positiveInteger" use="required"/>
    81 			</xs:extension>
    82 		</xs:simpleContent>
    83 	</xs:complexType>
    84 	<!--path type definition-->
    85 	<xs:complexType name="path">
    86 		<xs:sequence>
    87 			<xs:element name="file" type="file" maxOccurs="unbounded"/>
    88 		</xs:sequence>
    89 		<xs:attribute name="val" type="xs:string" use="required"/>
    90 	</xs:complexType>
    91 	<!--locations type definition-->
    92 	<xs:complexType name="locations">
    93 		<xs:sequence>
    94 			<xs:element name="path" type="path" maxOccurs="unbounded"/>
    95 		</xs:sequence>
    96 	</xs:complexType>
    97 	<!--instance type definition-->
    98 	<xs:complexType name="instance">
    99 		<xs:all>
   100 			<xs:element name="options" type="options" minOccurs="0"/>
   101 		</xs:all>
   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"/>
   107 	</xs:complexType>
   108 	<!--trace type definition-->
   109 	<xs:complexType name="trace">
   110 		<xs:sequence>
   111 			<xs:element name="options" type="options" minOccurs="0"/>
   112 			<xs:element name="instance" type="instance" minOccurs="0" maxOccurs="unbounded"/>
   113 		</xs:sequence>
   114 		<xs:attribute name="data-ref" type="xs:positiveInteger" use="optional"/>
   115 	</xs:complexType>
   116 	<!--tracetype type definition-->
   117 	<xs:complexType name="group">
   118 		<xs:sequence>
   119 			<xs:element name="options" type="options" minOccurs="0"/>
   120 			<xs:element name="trace" type="trace" maxOccurs="unbounded"/>
   121 		</xs:sequence>
   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"/>
   126 	</xs:complexType>
   127 	<!--copmponent type definition-->
   128 	<xs:complexType name="component">
   129 		<xs:sequence>
   130 			<xs:element name="options" type="options" minOccurs="0"/>
   131 			<xs:element name="group" type="group" maxOccurs="unbounded"/>
   132 		</xs:sequence>
   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"/>
   137 	</xs:complexType>
   138 </xs:schema>