1 <?xml version="1.0" encoding="UTF-8"?>
3 Copyright (c) 2000-2016 Ericsson Telecom AB
4 All rights reserved. This program and the accompanying materials
5 are made available under the terms of the Eclipse Public License v1.0
6 which accompanies this distribution, and is available at
7 http://www.eclipse.org/legal/epl-v10.html
19 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
21 <xs:element name="TITAN_Project_File_Information" type="TopLevelProjectType" />
23 <xs:complexType name="ConfigurationType">
25 Configuration data; also used by TXD's MasterConfiguration.
26 It does not have a "name" attribute.
29 <xs:element name="ProjectProperties" minOccurs="0" maxOccurs="1">
32 <xs:element name="MakefileSettings" minOccurs="0" maxOccurs="1">
35 <xs:element name="generateMakefile" minOccurs="0" maxOccurs="1" type="xs:boolean" />
36 <xs:element name="generateInternalMakefile" minOccurs="0" maxOccurs="1" type="xs:boolean" />
37 <xs:element name="symboliclinklessBuild" minOccurs="0" maxOccurs="1" type="xs:boolean" />
38 <xs:element name="useAbsolutePath" minOccurs="0" maxOccurs="1" type="xs:boolean" />
39 <xs:element name="GNUMake" minOccurs="0" maxOccurs="1" type="xs:boolean" />
40 <xs:element name="incrementalDependencyRefresh" minOccurs="0" maxOccurs="1" type="xs:boolean" />
41 <xs:element name="dynamicLinking" minOccurs="0" maxOccurs="1" type="xs:boolean" />
42 <xs:element name="functiontestRuntime" minOccurs="0" maxOccurs="1" type="xs:boolean" />
43 <xs:element name="singleMode" minOccurs="0" maxOccurs="1" type="xs:boolean" />
44 <xs:element name="codeSplitting" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
45 <xs:element name="defaultTarget" minOccurs="0" maxOccurs="1">
47 <xs:restriction base="xs:normalizedString">
48 <xs:enumeration value="executable"/>
49 <xs:enumeration value="library"/>
53 <xs:element name="targetExecutable" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
54 <xs:element name="TTCN3preprocessor" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
55 <xs:element name="TTCN3preprocessorDefines" minOccurs="0" maxOccurs="1">
58 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
62 <xs:element name="TTCN3preprocessorUndefines" minOccurs="0" maxOccurs="1">
65 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
69 <xs:element name="preprocessorDefines" minOccurs="0" maxOccurs="1">
72 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
76 <xs:element name="preprocessorUndefines" minOccurs="0" maxOccurs="1">
79 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
84 <xs:element name="TTCN3preprocessorIncludes" minOccurs="0" maxOccurs="1">
87 <xs:element name="listItem" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
91 <xs:element name="preprocessorIncludes" minOccurs="0" maxOccurs="1">
94 <xs:element name="listItem" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
99 <xs:element name="disableBER" minOccurs="0" maxOccurs="1" type="xs:boolean" />
100 <xs:element name="disableRAW" minOccurs="0" maxOccurs="1" type="xs:boolean" />
101 <xs:element name="disableTEXT" minOccurs="0" maxOccurs="1" type="xs:boolean" />
102 <xs:element name="disableXER" minOccurs="0" maxOccurs="1" type="xs:boolean" />
103 <xs:element name="disableJSON" minOccurs="0" maxOccurs="1" type="xs:boolean" />
104 <xs:element name="forceXERinASN.1" minOccurs="0" maxOccurs="1" type="xs:boolean" />
105 <xs:element name="defaultasOmit" minOccurs="0" maxOccurs="1" type="xs:boolean" />
106 <xs:element name="enumHackProperty" minOccurs="0" maxOccurs="1" type="xs:boolean" />
107 <xs:element name="forceOldFuncOutParHandling" minOccurs="0" maxOccurs="1" type="xs:boolean" />
108 <xs:element name="gccMessageFormat" minOccurs="0" maxOccurs="1" type="xs:boolean" />
109 <xs:element name="lineNumbersOnlyInMessages" minOccurs="0" maxOccurs="1" type="xs:boolean" />
110 <xs:element name="includeSourceInfo" minOccurs="0" maxOccurs="1" type="xs:boolean" />
111 <xs:element name="addSourceLineInfo" minOccurs="0" maxOccurs="1" type="xs:boolean" />
112 <xs:element name="suppressWarnings" minOccurs="0" maxOccurs="1" type="xs:boolean" />
113 <xs:element name="outParamBoundness" minOccurs="0" maxOccurs="1" type="xs:boolean" />
114 <xs:element name="omitInValueList" minOccurs="0" maxOccurs="1" type="xs:boolean" />
115 <xs:element name="warningsForBadVariants" minOccurs="0" maxOccurs="1" type="xs:boolean" />
116 <xs:element name="activateDebugger" minOccurs="0" maxOccurs="1" type="xs:boolean" />
117 <xs:element name="quietly" minOccurs="0" maxOccurs="1" type="xs:boolean" />
118 <xs:element name="namingRules" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
119 <xs:element name="disableSubtypeChecking" minOccurs="0" maxOccurs="1" type="xs:boolean" />
120 <xs:element name="CxxCompiler" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
121 <xs:element name="optimizationLevel" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
122 <xs:element name="otherOptimizationFlags" minOccurs="0" maxOccurs="1" type="xs:string" />
123 <xs:element name="profiledFileList" minOccurs="0" maxOccurs="1" type="ResourceType" />
125 <xs:element name="SolarisSpecificLibraries" minOccurs="0" maxOccurs="1">
128 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
132 <xs:element name="Solaris8SpecificLibraries" minOccurs="0" maxOccurs="1">
135 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
139 <xs:element name="FreeBSDSpecificLibraries" minOccurs="0" maxOccurs="1">
142 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
146 <xs:element name="LinuxSpecificLibraries" minOccurs="0" maxOccurs="1">
149 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
153 <xs:element name="Win32SpecificLibraries" minOccurs="0" maxOccurs="1">
156 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
160 <xs:element name="additionalObjects" minOccurs="0" maxOccurs="1">
163 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
167 <xs:element name="linkerLibraries" minOccurs="0" maxOccurs="1">
170 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
174 <xs:element name="linkerLibrarySearchPath" minOccurs="0" maxOccurs="1">
177 <xs:element name="listItem" minOccurs="1" maxOccurs="unbounded" type="xs:normalizedString" />
181 <xs:element name="disablePredefinedExternalFolder" minOccurs="0" maxOccurs="1" type="xs:boolean" />
182 <xs:element name="useGoldLinker" minOccurs="0" maxOccurs="1" type="xs:boolean" />
183 <xs:element name="freeTextLinkerOptions" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
184 <xs:element name="buildLevel" minOccurs="0" maxOccurs="1" type="xs:string" />
185 <xs:element name="ProjectSpecificRulesGenerator" minOccurs="0" maxOccurs="1">
188 <xs:element name="GeneratorCommand" minOccurs="1" maxOccurs="1" type="xs:string" />
189 <xs:element name="Targets" minOccurs="0" maxOccurs="1">
192 <xs:element name="Target" minOccurs="0" maxOccurs="unbounded">
194 <xs:attribute name="name" type="xs:normalizedString" use="required" />
195 <xs:attribute name="placement" use="required">
197 <xs:restriction base="xs:normalizedString">
198 <xs:enumeration value="PHONY" />
199 <xs:enumeration value="TTCN3_MODULES" />
200 <xs:enumeration value="TTCN3_PP_MODULES" />
201 <xs:enumeration value="TTCN3_INCLUDES" />
202 <xs:enumeration value="ASN1_MODULES" />
203 <xs:enumeration value="USER_SOURCES" />
204 <xs:enumeration value="USER_HEADERS" />
205 <xs:enumeration value="USER_OBJECTS" />
206 <xs:enumeration value="OTHER_FILES" />
221 <xs:element name="LocalBuildSettings" minOccurs="0" maxOccurs="1">
224 <xs:element name="MakefileFlags" minOccurs="0" maxOccurs="1" type="xs:string" />
225 <xs:element name="MakefileScript" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
226 <xs:element name="workingDirectory" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
231 <xs:element name="RemoteBuildProperties" minOccurs="0" maxOccurs="1">
234 <xs:element name="RemoteHost" minOccurs="0" maxOccurs="unbounded" >
237 <xs:element name="Active" minOccurs="1" maxOccurs="1" type="xs:boolean" />
238 <xs:element name="Name" minOccurs="1" maxOccurs="1" type="xs:string" />
239 <xs:element name="Command" minOccurs="1" maxOccurs="1" type="xs:string" />
243 <xs:element name="ParallelCommandExecution" minOccurs="0" maxOccurs="1" type="xs:boolean" />
248 <xs:element name="NamingCoventions" minOccurs="0" maxOccurs="1">
251 <xs:element name="enableProjectSpecificSettings" minOccurs="0" maxOccurs="1" type="xs:string" />
252 <xs:element name="TTCN3ModuleName" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
253 <xs:element name="ASN1ModuleName" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
254 <xs:element name="altstep" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
255 <xs:element name="globalConstant" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
256 <xs:element name="externalConstant" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
257 <xs:element name="function" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
258 <xs:element name="externalFunction" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
259 <xs:element name="moduleParameter" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
260 <xs:element name="globalPort" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
261 <xs:element name="globalTemplate" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
262 <xs:element name="testcase" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
263 <xs:element name="globalTimer" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
264 <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
265 <xs:element name="group" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
266 <xs:element name="localConstant" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
267 <xs:element name="localVariable" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
268 <xs:element name="localTemplate" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
269 <xs:element name="localVariableTemplate" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
270 <xs:element name="localTimer" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
271 <xs:element name="formalParameter" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
272 <xs:element name="componentConstant" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
273 <xs:element name="componentVariable" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
274 <xs:element name="componentTimer" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
278 <xs:element name="ConfigurationRequirements" minOccurs="0" maxOccurs="1">
281 <xs:element name="configurationRequirement" minOccurs="0" maxOccurs="unbounded" type="ConfigurationRequirementType" />
288 <xs:element name="FolderProperties" minOccurs="0" maxOccurs="1">
291 <xs:element name="FolderResource" maxOccurs="unbounded">
294 <xs:element name="FolderPath" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
295 <xs:element name="FolderProperties" minOccurs="0" maxOccurs="1">
298 <xs:element name="ExcludeFromBuild" minOccurs="0" maxOccurs="1" type="xs:boolean" />
299 <xs:element name="centralStorage" minOccurs="0" maxOccurs="1" type="xs:boolean" />
300 <xs:element name="NamingCoventions" minOccurs="0" maxOccurs="1">
303 <xs:element name="enableFolderSpecificSettings" minOccurs="0" maxOccurs="1" type="xs:string" />
304 <xs:element name="TTCN3ModuleName" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
305 <xs:element name="ASN1ModuleName" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
306 <xs:element name="altstep" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
307 <xs:element name="globalConstant" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
308 <xs:element name="externalConstant" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
309 <xs:element name="function" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
310 <xs:element name="externalFunction" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
311 <xs:element name="moduleParameter" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
312 <xs:element name="globalPort" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
313 <xs:element name="globalTemplate" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
314 <xs:element name="testcase" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
315 <xs:element name="globalTimer" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
316 <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
317 <xs:element name="group" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
318 <xs:element name="localConstant" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
319 <xs:element name="localVariable" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
320 <xs:element name="localTemplate" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
321 <xs:element name="localVariableTemplate" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
322 <xs:element name="localTimer" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
323 <xs:element name="formalParameter" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
324 <xs:element name="componentConstant" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
325 <xs:element name="componentVariable" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
326 <xs:element name="componentTimer" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
339 <xs:element name="FileProperties" minOccurs="0" maxOccurs="1">
342 <xs:element name="FileResource" maxOccurs="unbounded">
345 <xs:element name="FilePath" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
346 <xs:element name="FileProperties" minOccurs="0" maxOccurs="1">
349 <xs:element name="ExcludeFromBuild" minOccurs="0" maxOccurs="1" type="xs:boolean" />
362 <xs:complexType name="NamedConfigurationType">
364 This is an extra indirection level. It adds the "name" attribute to
368 <xs:extension base="ConfigurationType">
369 <xs:attribute name="name" type="xs:normalizedString" use="required" />
374 <xs:complexType name="ConfigurationRequirementType">
376 <xs:element name="projectName" minOccurs="1" maxOccurs="1">
378 <xs:restriction base="xs:normalizedString">
379 <xs:minLength value="1" />
384 <xs:element name="requiredConfiguration" minOccurs="1" maxOccurs="1">
386 <xs:restriction base="xs:normalizedString">
387 <xs:minLength value="1" />
391 <xs:element name="rerquiredConfiguration" minOccurs="1" maxOccurs="1">
393 <xs:restriction base="xs:normalizedString">
394 <xs:minLength value="1" />
402 <xs:complexType name="ResourceType">
403 <xs:attribute name="projectRelativePath" type="xs:normalizedString" use="required" />
404 <xs:attribute name="relativeURI" type="xs:normalizedString" use="optional" />
405 <xs:attribute name="rawURI" type="xs:normalizedString" use="optional" />
406 <!-- FIXME: only one of the above two is allowed! -->
409 <xs:complexType name="ProjectType">
411 <xs:element name="ProjectName" minOccurs="1" maxOccurs="1" type="xs:normalizedString" />
413 <xs:element name="ReferencedProjects" minOccurs="0" maxOccurs="1">
416 <xs:element name="ReferencedProject" minOccurs="0" maxOccurs="unbounded">
418 <xs:attribute name="name" type="xs:normalizedString" use="required" />
419 <xs:attribute name="projectLocationURI" type="xs:normalizedString" use="required" />
420 <xs:attribute name="tpdName" type="xs:normalizedString" use="optional" />
427 <xs:element name="Folders" minOccurs="0" maxOccurs="1">
430 <xs:element name="FolderResource" type="ResourceType" maxOccurs="unbounded" />
435 <xs:element name="Files" minOccurs="0" maxOccurs="1">
438 <xs:element name="FileResource" type="ResourceType" maxOccurs="unbounded" />
443 <xs:element name="PathVariables" minOccurs="0" maxOccurs="1">
446 <xs:element name="PathVariable" minOccurs="0" maxOccurs="unbounded">
448 <xs:attribute name="name" type="xs:normalizedString" use="required" />
449 <xs:attribute name="value" type="xs:normalizedString" use="required" />
456 <xs:element name="ActiveConfiguration" minOccurs="0" maxOccurs="1" type="xs:normalizedString" />
458 <xs:element name="Configurations" minOccurs="0" maxOccurs="1">
461 <xs:element name="Configuration" minOccurs="0" maxOccurs="unbounded" type="NamedConfigurationType">
470 <xs:complexType name="PackedReferencedProjectsType">
472 <xs:element name="PackedReferencedProject" minOccurs="0" maxOccurs="unbounded" type="ProjectType" />
476 <xs:complexType name="TopLevelProjectType">
478 This is an extra indirection level. It adds the "version" attribute to
479 ProjectType and the optional element "PackedReferencedProjects"
482 <xs:extension base="ProjectType">
483 <xs:sequence minOccurs="0" maxOccurs="1">
484 <xs:element name="PackedReferencedProjects" type="PackedReferencedProjectsType" />
486 <xs:attribute name="version" type="xs:decimal" use="required" />