51fa56b9 |
1 | /******************************************************************************* |
2 | * Copyright (c) 2000-2015 Ericsson Telecom AB |
3 | * |
4 | * XSD to TTCN-3 Translator version: CRL 113 200/5 R3A |
5 | * |
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 | *******************************************************************************/ |
11 | // |
12 | // File: www_example_org_type_substitution_chain_e.ttcn |
13 | // Description: |
14 | // References: |
15 | // Rev: |
16 | // Prodnr: |
17 | // Updated: Tue Nov 17 11:30:22 2014 |
18 | // Contact: http://ttcn.ericsson.se |
19 | // |
20 | //////////////////////////////////////////////////////////////////////////////// |
21 | // Generated from file(s): |
22 | // - type_substitution_chain_e.xsd |
23 | // /* xml version = "1.0" encoding = "UTF-8" */ |
24 | // /* targetnamespace = "www.example.org/type/substitution/chain/e" */ |
25 | //////////////////////////////////////////////////////////////////////////////// |
26 | // Modification header(s): |
27 | //----------------------------------------------------------------------------- |
28 | // Modified by: |
29 | // Modification date: |
30 | // Description: |
31 | // Modification contact: |
32 | //------------------------------------------------------------------------------ |
33 | //////////////////////////////////////////////////////////////////////////////// |
34 | |
35 | |
36 | module www_example_org_type_substitution_chain { |
37 | |
38 | |
39 | import from XSD all; |
40 | |
41 | |
42 | type ParentType_derivations Head |
43 | with { |
3f84031e |
44 | variant "name as uncapitalized"; |
45 | variant "element"; |
51fa56b9 |
46 | }; |
47 | |
48 | |
49 | /* SUBSTITUTABLE PARENT TYPE */ |
50 | |
51 | |
52 | /* type substitutiongroup generated, because has elemet declaration */ |
53 | |
54 | |
55 | type record ParentType |
56 | { |
57 | record of XSD.String foo_list, |
58 | XSD.String bar |
59 | } |
60 | with { |
3f84031e |
61 | variant (foo_list) "untagged"; |
62 | variant (foo_list[-]) "name as 'foo'"; |
51fa56b9 |
63 | }; |
64 | |
65 | |
66 | type RestrictedType_derivations RestrictedTypeElem |
67 | with { |
3f84031e |
68 | variant "element"; |
51fa56b9 |
69 | }; |
70 | |
71 | |
72 | /* type substitutiongroup generated, because has elemet declaration */ |
73 | |
74 | |
75 | type record RestrictedType |
76 | { |
77 | record length(1 .. infinity) of XSD.String foo_list, |
78 | XSD.String bar |
79 | } |
80 | with { |
3f84031e |
81 | variant "name as uncapitalized"; |
82 | variant (foo_list) "untagged"; |
83 | variant (foo_list[-]) "name as 'foo'"; |
51fa56b9 |
84 | }; |
85 | |
86 | |
87 | /* type substitutiongroup generated, because the parent has elemet declaration */ |
88 | |
89 | |
90 | type record RestrictedType2 |
91 | { |
92 | record length(2 .. infinity) of XSD.String foo_list, |
93 | XSD.String bar |
94 | } |
95 | with { |
3f84031e |
96 | variant "name as uncapitalized"; |
97 | variant (foo_list) "untagged"; |
98 | variant (foo_list[-]) "name as 'foo'"; |
51fa56b9 |
99 | }; |
100 | |
101 | |
102 | /* Added to restrictedtype_derivations */ |
103 | |
104 | |
105 | type record RestrictedType2_1 |
106 | { |
107 | record length(2 .. 5) of XSD.String foo_list, |
108 | XSD.String bar |
109 | } |
110 | with { |
3f84031e |
111 | variant "name as 'restrictedType2.1'"; |
112 | variant (foo_list) "untagged"; |
113 | variant (foo_list[-]) "name as 'foo'"; |
51fa56b9 |
114 | }; |
115 | |
116 | |
117 | /* No type substitutiongroup generated, because the parent lacks elemet declaration */ |
118 | |
119 | |
120 | type record RestrictedType3 |
121 | { |
122 | record length(3 .. infinity) of XSD.String foo_list, |
123 | XSD.String bar |
124 | } |
125 | with { |
3f84031e |
126 | variant "name as uncapitalized"; |
127 | variant (foo_list) "untagged"; |
128 | variant (foo_list[-]) "name as 'foo'"; |
51fa56b9 |
129 | }; |
130 | |
131 | |
132 | type union ParentType_derivations |
133 | { |
134 | ParentType parentType, |
3f84031e |
135 | RestrictedType restrictedType, |
136 | RestrictedType2 restrictedType2, |
137 | RestrictedType2_1 restrictedType2_1, |
138 | RestrictedType3 restrictedType3 |
51fa56b9 |
139 | } |
140 | with { |
3f84031e |
141 | variant "useType"; |
142 | variant (parentType) "name as capitalized"; |
143 | variant (restrictedType2_1) "name as 'restrictedType2.1'"; |
51fa56b9 |
144 | }; |
145 | |
146 | |
147 | type union RestrictedType_derivations |
148 | { |
149 | RestrictedType restrictedType, |
150 | RestrictedType2 restrictedType2, |
3f84031e |
151 | RestrictedType2_1 restrictedType2_1, |
152 | RestrictedType3 restrictedType3 |
51fa56b9 |
153 | } |
154 | with { |
3f84031e |
155 | variant "name as uncapitalized"; |
156 | variant "useType"; |
157 | variant (restrictedType2_1) "name as 'restrictedType2.1'"; |
51fa56b9 |
158 | }; |
159 | |
160 | |
161 | } |
162 | with { |
3f84031e |
163 | encode "XML"; |
164 | variant "namespace as 'www.example.org/type/substitution/chain' prefix 'tys'"; |
165 | variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; |
51fa56b9 |
166 | } |