65 addElement("JFXX", "app0JFIF", 1, Integer.MAX_VALUE);
66
67 addElement("app0JFXX", "JFXX", CHILD_POLICY_CHOICE);
68
69 addElement("app2ICC", "app0JFIF", CHILD_POLICY_EMPTY);
70
71 addAttribute("app0JFIF",
72 "majorVersion",
73 DATATYPE_INTEGER,
74 false,
75 "1",
76 "0", "255",
77 true, true);
78 addAttribute("app0JFIF",
79 "minorVersion",
80 DATATYPE_INTEGER,
81 false,
82 "2",
83 "0", "255",
84 true, true);
85 List resUnits = new ArrayList();
86 resUnits.add("0");
87 resUnits.add("1");
88 resUnits.add("2");
89 addAttribute("app0JFIF",
90 "resUnits",
91 DATATYPE_INTEGER,
92 false,
93 "0",
94 resUnits);
95 addAttribute("app0JFIF",
96 "Xdensity",
97 DATATYPE_INTEGER,
98 false,
99 "1",
100 "1", "65535",
101 true, true);
102 addAttribute("app0JFIF",
103 "Ydensity",
104 DATATYPE_INTEGER,
105 false,
108 true, true);
109 addAttribute("app0JFIF",
110 "thumbWidth",
111 DATATYPE_INTEGER,
112 false,
113 "0",
114 "0", "255",
115 true, true);
116 addAttribute("app0JFIF",
117 "thumbHeight",
118 DATATYPE_INTEGER,
119 false,
120 "0",
121 "0", "255",
122 true, true);
123
124 addElement("JFIFthumbJPEG", "app0JFXX", CHILD_POLICY_SOME);
125 addElement("JFIFthumbPalette", "app0JFXX", CHILD_POLICY_EMPTY);
126 addElement("JFIFthumbRGB", "app0JFXX", CHILD_POLICY_EMPTY);
127
128 List codes = new ArrayList();
129 codes.add("16"); // Hex 10
130 codes.add("17"); // Hex 11
131 codes.add("19"); // Hex 13
132 addAttribute("app0JFXX",
133 "extensionCode",
134 DATATYPE_INTEGER,
135 false,
136 null,
137 codes);
138
139 addChildElement("markerSequence", "JFIFthumbJPEG");
140
141 addAttribute("JFIFthumbPalette",
142 "thumbWidth",
143 DATATYPE_INTEGER,
144 false,
145 null,
146 "0", "255",
147 true, true);
148 addAttribute("JFIFthumbPalette",
175 DATATYPE_INTEGER,
176 false,
177 "100",
178 "100", "255",
179 true, true);
180 addAttribute("app14Adobe",
181 "flags0",
182 DATATYPE_INTEGER,
183 false,
184 "0",
185 "0", "65535",
186 true, true);
187 addAttribute("app14Adobe",
188 "flags1",
189 DATATYPE_INTEGER,
190 false,
191 "0",
192 "0", "65535",
193 true, true);
194
195 List transforms = new ArrayList();
196 transforms.add("0");
197 transforms.add("1");
198 transforms.add("2");
199 addAttribute("app14Adobe",
200 "transform",
201 DATATYPE_INTEGER,
202 true,
203 null,
204 transforms);
205
206 addElement("componentSpec", "sof", CHILD_POLICY_EMPTY);
207
208 List procs = new ArrayList();
209 procs.add("0");
210 procs.add("1");
211 procs.add("2");
212 addAttribute("sof",
213 "process",
214 DATATYPE_INTEGER,
215 false,
216 null,
217 procs);
218 addAttribute("sof",
219 "samplePrecision",
220 DATATYPE_INTEGER,
221 false,
222 "8");
223 addAttribute("sof",
224 "numLines",
225 DATATYPE_INTEGER,
226 false,
227 null,
228 "0", "65535",
229 true, true);
230 addAttribute("sof",
231 "samplesPerLine",
232 DATATYPE_INTEGER,
233 false,
234 null,
235 "0", "65535",
236 true, true);
237 List comps = new ArrayList();
238 comps.add("1");
239 comps.add("2");
240 comps.add("3");
241 comps.add("4");
242 addAttribute("sof",
243 "numFrameComponents",
244 DATATYPE_INTEGER,
245 false,
246 null,
247 comps);
248
249 addAttribute("componentSpec",
250 "componentId",
251 DATATYPE_INTEGER,
252 true,
253 null,
254 "0", "255",
255 true, true);
256 addAttribute("componentSpec",
257 "HsamplingFactor",
258 DATATYPE_INTEGER,
259 true,
260 null,
261 "1", "255",
262 true, true);
263 addAttribute("componentSpec",
264 "VsamplingFactor",
265 DATATYPE_INTEGER,
266 true,
267 null,
268 "1", "255",
269 true, true);
270 List tabids = new ArrayList();
271 tabids.add("0");
272 tabids.add("1");
273 tabids.add("2");
274 tabids.add("3");
275 addAttribute("componentSpec",
276 "QtableSelector",
277 DATATYPE_INTEGER,
278 true,
279 null,
280 tabids);
281
282 addElement("scanComponentSpec", "sos", CHILD_POLICY_EMPTY);
283
284 addAttribute("sos",
285 "numScanComponents",
286 DATATYPE_INTEGER,
287 true,
288 null,
289 comps);
290 addAttribute("sos",
|
65 addElement("JFXX", "app0JFIF", 1, Integer.MAX_VALUE);
66
67 addElement("app0JFXX", "JFXX", CHILD_POLICY_CHOICE);
68
69 addElement("app2ICC", "app0JFIF", CHILD_POLICY_EMPTY);
70
71 addAttribute("app0JFIF",
72 "majorVersion",
73 DATATYPE_INTEGER,
74 false,
75 "1",
76 "0", "255",
77 true, true);
78 addAttribute("app0JFIF",
79 "minorVersion",
80 DATATYPE_INTEGER,
81 false,
82 "2",
83 "0", "255",
84 true, true);
85 List<String> resUnits = new ArrayList<>();
86 resUnits.add("0");
87 resUnits.add("1");
88 resUnits.add("2");
89 addAttribute("app0JFIF",
90 "resUnits",
91 DATATYPE_INTEGER,
92 false,
93 "0",
94 resUnits);
95 addAttribute("app0JFIF",
96 "Xdensity",
97 DATATYPE_INTEGER,
98 false,
99 "1",
100 "1", "65535",
101 true, true);
102 addAttribute("app0JFIF",
103 "Ydensity",
104 DATATYPE_INTEGER,
105 false,
108 true, true);
109 addAttribute("app0JFIF",
110 "thumbWidth",
111 DATATYPE_INTEGER,
112 false,
113 "0",
114 "0", "255",
115 true, true);
116 addAttribute("app0JFIF",
117 "thumbHeight",
118 DATATYPE_INTEGER,
119 false,
120 "0",
121 "0", "255",
122 true, true);
123
124 addElement("JFIFthumbJPEG", "app0JFXX", CHILD_POLICY_SOME);
125 addElement("JFIFthumbPalette", "app0JFXX", CHILD_POLICY_EMPTY);
126 addElement("JFIFthumbRGB", "app0JFXX", CHILD_POLICY_EMPTY);
127
128 List<String> codes = new ArrayList<>();
129 codes.add("16"); // Hex 10
130 codes.add("17"); // Hex 11
131 codes.add("19"); // Hex 13
132 addAttribute("app0JFXX",
133 "extensionCode",
134 DATATYPE_INTEGER,
135 false,
136 null,
137 codes);
138
139 addChildElement("markerSequence", "JFIFthumbJPEG");
140
141 addAttribute("JFIFthumbPalette",
142 "thumbWidth",
143 DATATYPE_INTEGER,
144 false,
145 null,
146 "0", "255",
147 true, true);
148 addAttribute("JFIFthumbPalette",
175 DATATYPE_INTEGER,
176 false,
177 "100",
178 "100", "255",
179 true, true);
180 addAttribute("app14Adobe",
181 "flags0",
182 DATATYPE_INTEGER,
183 false,
184 "0",
185 "0", "65535",
186 true, true);
187 addAttribute("app14Adobe",
188 "flags1",
189 DATATYPE_INTEGER,
190 false,
191 "0",
192 "0", "65535",
193 true, true);
194
195 List<String> transforms = new ArrayList<>();
196 transforms.add("0");
197 transforms.add("1");
198 transforms.add("2");
199 addAttribute("app14Adobe",
200 "transform",
201 DATATYPE_INTEGER,
202 true,
203 null,
204 transforms);
205
206 addElement("componentSpec", "sof", CHILD_POLICY_EMPTY);
207
208 List<String> procs = new ArrayList<>();
209 procs.add("0");
210 procs.add("1");
211 procs.add("2");
212 addAttribute("sof",
213 "process",
214 DATATYPE_INTEGER,
215 false,
216 null,
217 procs);
218 addAttribute("sof",
219 "samplePrecision",
220 DATATYPE_INTEGER,
221 false,
222 "8");
223 addAttribute("sof",
224 "numLines",
225 DATATYPE_INTEGER,
226 false,
227 null,
228 "0", "65535",
229 true, true);
230 addAttribute("sof",
231 "samplesPerLine",
232 DATATYPE_INTEGER,
233 false,
234 null,
235 "0", "65535",
236 true, true);
237 List<String> comps = new ArrayList<>();
238 comps.add("1");
239 comps.add("2");
240 comps.add("3");
241 comps.add("4");
242 addAttribute("sof",
243 "numFrameComponents",
244 DATATYPE_INTEGER,
245 false,
246 null,
247 comps);
248
249 addAttribute("componentSpec",
250 "componentId",
251 DATATYPE_INTEGER,
252 true,
253 null,
254 "0", "255",
255 true, true);
256 addAttribute("componentSpec",
257 "HsamplingFactor",
258 DATATYPE_INTEGER,
259 true,
260 null,
261 "1", "255",
262 true, true);
263 addAttribute("componentSpec",
264 "VsamplingFactor",
265 DATATYPE_INTEGER,
266 true,
267 null,
268 "1", "255",
269 true, true);
270 List<String> tabids = new ArrayList<>();
271 tabids.add("0");
272 tabids.add("1");
273 tabids.add("2");
274 tabids.add("3");
275 addAttribute("componentSpec",
276 "QtableSelector",
277 DATATYPE_INTEGER,
278 true,
279 null,
280 tabids);
281
282 addElement("scanComponentSpec", "sos", CHILD_POLICY_EMPTY);
283
284 addAttribute("sos",
285 "numScanComponents",
286 DATATYPE_INTEGER,
287 true,
288 null,
289 comps);
290 addAttribute("sos",
|