d44e3c4f |
1 | /****************************************************************************** |
2 | * Copyright (c) 2000-2016 Ericsson Telecom AB |
3abe9331 |
3 | * |
d44e3c4f |
4 | * XSD to TTCN-3 Translator |
3abe9331 |
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 |
d44e3c4f |
10 | * |
11 | * Contributors: |
12 | * Balasko, Jeno |
13 | * Szabo, Bence Janos |
14 | * |
15 | ******************************************************************************/ |
3abe9331 |
16 | // |
17 | // File: www_example_org_substitutiongroup_e.ttcn |
18 | // Description: |
19 | // References: |
20 | // Rev: |
21 | // Prodnr: |
22 | // Updated: Wed Oct 14 16:10:14 2014 |
23 | // Contact: http://ttcn.ericsson.se |
24 | // |
25 | //////////////////////////////////////////////////////////////////////////////// |
26 | // Generated from file(s): |
27 | // - substitutiongroup_e.xsd |
28 | // /* xml version = "1.0" encoding = "UTF-8" */ |
29 | // /* targetnamespace = "www.example.org/substitutiongroup/e" */ |
30 | //////////////////////////////////////////////////////////////////////////////// |
31 | // Modification header(s): |
32 | //----------------------------------------------------------------------------- |
33 | // Modified by: |
34 | // Modification date: |
35 | // Description: |
36 | // Modification contact: |
37 | //------------------------------------------------------------------------------ |
38 | //////////////////////////////////////////////////////////////////////////////// |
39 | |
40 | |
41 | module www_example_org_substitutiongroup { |
42 | |
43 | |
44 | import from XSD all; |
45 | |
46 | |
47 | /* THE HEAD ELEMENT */ |
48 | |
49 | |
50 | /* SUBSTITUTION ELEMENT OF THE SAME TYPE AS THE HEAD */ |
51 | |
52 | |
53 | type XSD.String Member1 |
54 | with { |
3f84031e |
55 | variant "name as uncapitalized"; |
56 | variant "element"; |
3abe9331 |
57 | }; |
58 | |
59 | |
60 | /* SUBSTITUTION ELEMENT OF A TYPE RESTRICTING THE TYPE OF THE HEAD */ |
61 | |
62 | |
63 | type enumerated StringEnum |
64 | { |
65 | else_, |
66 | something |
67 | } |
68 | with { |
3f84031e |
69 | variant "text 'else_' as 'else'"; |
70 | variant "name as uncapitalized"; |
3abe9331 |
71 | }; |
72 | |
73 | |
74 | type StringEnum Member2 |
75 | with { |
3f84031e |
76 | variant "name as uncapitalized"; |
77 | variant "element"; |
3abe9331 |
78 | }; |
79 | |
80 | |
81 | /* SUBSTITUTION ELEMENT OF A TYPE EXTENDING THE TYPE OF THE HEAD */ |
82 | |
83 | |
84 | type record ComplexEnum |
85 | { |
86 | XSD.Integer bar optional, |
87 | XSD.Float foo optional, |
88 | XSD.String base |
89 | } |
90 | with { |
3f84031e |
91 | variant "name as uncapitalized"; |
92 | variant (bar) "attribute"; |
93 | variant (foo) "attribute"; |
94 | variant (base) "untagged"; |
3abe9331 |
95 | }; |
96 | |
97 | |
98 | type ComplexEnum Member3 |
99 | with { |
3f84031e |
100 | variant "name as uncapitalized"; |
101 | variant "element"; |
3abe9331 |
102 | }; |
103 | |
104 | |
105 | /* TOP LEVEL ELEMENT TO DEMONSTRATE SUBSTITUTION */ |
106 | |
107 | |
108 | type record Ize |
109 | { |
110 | record of Head_group head_list |
111 | } |
112 | with { |
3f84031e |
113 | variant "name as uncapitalized"; |
114 | variant "element"; |
115 | variant (head_list) "untagged"; |
116 | variant (head_list[-]) "name as 'head'"; |
3abe9331 |
117 | }; |
118 | |
119 | |
120 | type union Head_group |
121 | { |
122 | XSD.String head, |
123 | Member1 member1, |
124 | Member2 member2, |
125 | Member3 member3 |
126 | } |
127 | with { |
3f84031e |
128 | variant "untagged"; |
129 | variant (head) "form as qualified"; |
3abe9331 |
130 | }; |
131 | |
132 | |
133 | } |
134 | with { |
3f84031e |
135 | encode "XML"; |
136 | variant "namespace as 'www.example.org/substitutiongroup' prefix 'subs'"; |
137 | variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; |
3abe9331 |
138 | } |