1 /*******************************************************************************
2 * Copyright (c) 2000-2016 Ericsson Telecom AB
4 * XSD to TTCN-3 Translator version: CRL 113 200/5 R4C
6 * All rights reserved. This program and the accompanying materials
7 * are made available under the terms of the Eclipse Public License v1.0
8 * which accompanies this distribution, and is available at
9 * http://www.eclipse.org/legal/epl-v10.html
10 *******************************************************************************/
18 // Contact: http://ttcn.ericsson.se
20 ////////////////////////////////////////////////////////////////////////////////
23 import from UsefulTtcn3Types all;
25 //These constants are used in the XSD date/time type definitions
30 yearExpansion := "(-([1-9][0-9]#(0,))#(,1))#(,1)",
31 month := "(0[1-9]|1[0-2])",
32 dayOfMonth := "(0[1-9]|[12][0-9]|3[01])",
33 hour := "([01][0-9]|2[0-3])",
34 minute := "([0-5][0-9])",
35 second := "([0-5][0-9])",
36 sFraction := "(.[0-9]#(1,))#(,1)",
37 endOfDayExt := "24:00:00(.0#(1,))#(,1)",
39 ZorTimeZoneExt := "(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))#(,1)",
40 durTime := "(T[0-9]#(1,)"&
41 "(H([0-9]#(1,)(M([0-9]#(1,)(S|.[0-9]#(1,)S))#(,1)|.[0-9]#(1,)S|S))#(,1)|"&
42 "M([0-9]#(1,)(S|.[0-9]#(1,)S)|.[0-9]#(1,)M)#(,1)|"&
48 type XMLCompatibleString AnySimpleType
50 variant "XSD:anySimpleType";
57 record of String embed_values optional,
58 record of String attr optional,
59 record of String elem_list
62 variant "XSD:anyType";
63 variant "embedValues";
64 variant (attr) "anyAttributes";
65 variant (elem_list) "anyElement";
69 type XMLCompatibleString String
74 type XMLStringWithNoCRLFHT NormalizedString
76 variant "XSD:normalizedString";
79 type NormalizedString Token
84 type XMLStringWithNoWhitespace Name
89 type XMLStringWithNoWhitespace NMTOKEN
91 variant "XSD:NMTOKEN";
111 variant "XSD:ENTITY";
114 type octetstring HexBinary
116 variant "XSD:hexBinary";
119 type octetstring Base64Binary
121 variant "XSD:base64Binary";
124 type XMLStringWithNoCRLFHT AnyURI
126 variant "XSD:anyURI";
129 type charstring Language (pattern "[a-zA-Z]#(1,8)(-\w#(1,8))#(0,)")
131 variant "XSD:language";
137 variant "XSD:integer";
140 type integer PositiveInteger (1 .. infinity)
142 variant "XSD:positiveInteger";
145 type integer NonPositiveInteger (-infinity .. 0)
147 variant "XSD:nonPositiveInteger";
150 type integer NegativeInteger (-infinity .. -1)
152 variant "XSD:negativeInteger";
155 type integer NonNegativeInteger (0 .. infinity)
157 variant "XSD:nonNegativeInteger";
165 type unsignedlonglong UnsignedLong
167 variant "XSD:unsignedLong";
175 type unsignedlong UnsignedInt
177 variant "XSD:unsignedInt";
185 type unsignedshort UnsignedShort
187 variant "XSD:unsignedShort";
195 type unsignedbyte UnsignedByte
197 variant "XSD:unsignedByte";
204 variant "XSD:decimal";
207 type IEEE754float Float
212 type IEEE754double Double
214 variant "XSD:double";
219 type charstring Duration (pattern
220 "{dash}#(,1)P({nums}(Y({nums}(M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|" &
221 "{durTime}#(,1))|M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|{durTime})")
223 variant "XSD:duration";
226 type charstring DateTime (pattern
227 "{yearExpansion}{year}{dash}{month}{dash}{dayOfMonth}T({hour}{cln}{minute}{cln}{second}" &
228 "{sFraction}|{endOfDayExt}){ZorTimeZoneExt}" )
230 variant "XSD:dateTime";
233 type charstring Time (pattern
234 "({hour}{cln}{minute}{cln}{second}{sFraction}|{endOfDayExt}){ZorTimeZoneExt}" )
239 type charstring Date (pattern
240 "{yearExpansion}{year}{dash}{month}{dash}{dayOfMonth}{ZorTimeZoneExt}" )
245 type charstring GYearMonth (pattern
246 "{yearExpansion}{year}{dash}{month}{ZorTimeZoneExt}" )
248 variant "XSD:gYearMonth";
251 type charstring GYear (pattern
252 "{yearExpansion}{year}{ZorTimeZoneExt}" )
257 type charstring GMonthDay (pattern
258 "{dash}{dash}{month}{dash}{dayOfMonth}{ZorTimeZoneExt}" )
260 variant "XSD:gMonthDay";
263 type charstring GDay (pattern
264 "{dash}{dash}{dash}{dayOfMonth}{ZorTimeZoneExt}" )
269 type charstring GMonth (pattern
270 "{dash}{dash}{month}{ZorTimeZoneExt}" )
272 variant "XSD:gMonth";
277 type record of NMTOKEN NMTOKENS
279 variant "XSD:NMTOKENS";
282 type record of IDREF IDREFS
284 variant "XSD:IDREFS";
287 type record of ENTITY ENTITIES
289 variant "XSD:ENTITIES";
305 variant "XSD:boolean";
308 //TTCN-3 type definitions supporting the mapping of W3C XML Schema built-in datatypes
310 type utf8string XMLCompatibleString
312 char(0,0,0,9)..char(0,0,0,9),
313 char(0,0,0,10)..char(0,0,0,10),
314 char(0,0,0,12)..char(0,0,0,12),
315 char(0,0,0,32)..char(0,0,215,255),
316 char(0,0,224,0)..char(0,0,255,253),
317 char(0,1,0,0)..char(0,16,255,253)
320 type utf8string XMLStringWithNoWhitespace
322 char(0,0,0,33)..char(0,0,215,255),
323 char(0,0,224,0)..char(0,0,255,253),
324 char(0,1,0,0)..char(0,16,255,253)
327 type utf8string XMLStringWithNoCRLFHT
329 char(0,0,0,32)..char(0,0,215,255),
330 char(0,0,224,0)..char(0,0,255,253),
331 char(0,1,0,0)..char(0,16,255,253)