|
307 | 307 | <xs:restriction base="pv:stringPartialEval"/> |
308 | 308 | </xs:simpleType> |
309 | 309 |
|
| 310 | + |
| 311 | + |
310 | 312 | <xs:element name="Element" abstract="true" type="ElementType"> |
311 | 313 | <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
312 | 314 | <p>Abstraktes (Top-Level) Basis Element von MBSim.</p> |
313 | 315 | <p>Das Attribut <code>name</code> gibt den Namen des Elements an. Dieser Name wird für die Referenzierung des |
314 | 316 | Elements benötig. Die Plotausgaben verwenden ebenfalls diese Namen.</p> |
315 | 317 | </xs:documentation></xs:annotation> |
316 | 318 | </xs:element> |
| 319 | + |
| 320 | + <!-- We define plotFeature* and plotAttribute* as global elements for improved preprocessing: |
| 321 | + If a element which can be used inside a Embed element is a local element than the preprocessor must do a revalidation which is quite expensive. |
| 322 | + This can be avoided if we define such elements globally and reference it beside the Embed element. |
| 323 | + This way the XML validator can already validate the such element during the initial validation where still Embed elements exists in the model. --> |
| 324 | + <xs:element name="plotFeature"> |
| 325 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 326 | + Definiert die Plotfeatures für dieses Element. |
| 327 | + </xs:documentation></xs:annotation> |
| 328 | + <xs:complexType> |
| 329 | + <xs:simpleContent> |
| 330 | + <xs:extension base="pv:booleanFullEval"> |
| 331 | + <xs:attribute name="value" type="pv:qnamePartialEval" use="required"/> |
| 332 | + </xs:extension> |
| 333 | + </xs:simpleContent> |
| 334 | + </xs:complexType> |
| 335 | + </xs:element> |
| 336 | + <xs:element name="plotFeatureForChildren"> |
| 337 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 338 | + Definiert die Plotfeatures für alle Kindelement. |
| 339 | + </xs:documentation></xs:annotation> |
| 340 | + <xs:complexType> |
| 341 | + <xs:simpleContent> |
| 342 | + <xs:extension base="pv:booleanFullEval"> |
| 343 | + <xs:attribute name="value" type="pv:qnamePartialEval" use="required"/> |
| 344 | + </xs:extension> |
| 345 | + </xs:simpleContent> |
| 346 | + </xs:complexType> |
| 347 | + </xs:element> |
| 348 | + <xs:element name="plotFeatureRecursive"> |
| 349 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 350 | + Definiert die Plotfeatures für diese Element und alle Kindelement. |
| 351 | + </xs:documentation></xs:annotation> |
| 352 | + <xs:complexType> |
| 353 | + <xs:simpleContent> |
| 354 | + <xs:extension base="pv:booleanFullEval"> |
| 355 | + <xs:attribute name="value" type="pv:qnamePartialEval" use="required"/> |
| 356 | + </xs:extension> |
| 357 | + </xs:simpleContent> |
| 358 | + </xs:complexType> |
| 359 | + </xs:element> |
| 360 | + <xs:element name="plotAttribute"> |
| 361 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 362 | + Definiert ein Plot-Attribute ohne Wert. |
| 363 | + (Plot attribute sind statische Daten welche als key/value Paar an plot datasets/groups angehängt werden.) |
| 364 | + </xs:documentation></xs:annotation> |
| 365 | + <xs:complexType> |
| 366 | + <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
| 367 | + </xs:complexType> |
| 368 | + </xs:element> |
| 369 | + <xs:element name="plotAttributeInt"> |
| 370 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 371 | + Definiert ein Plot-Attribute mit integer Wert. |
| 372 | + </xs:documentation></xs:annotation> |
| 373 | + <xs:complexType> |
| 374 | + <xs:simpleContent> |
| 375 | + <xs:extension base="pv:integerFullEval"> |
| 376 | + <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
| 377 | + </xs:extension> |
| 378 | + </xs:simpleContent> |
| 379 | + </xs:complexType> |
| 380 | + </xs:element> |
| 381 | + <xs:element name="plotAttributeFloat"> |
| 382 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 383 | + Definiert ein Plot-Attribute mit floating-point Wert. |
| 384 | + </xs:documentation></xs:annotation> |
| 385 | + <xs:complexType> |
| 386 | + <xs:simpleContent> |
| 387 | + <xs:extension base="pv:floatFullEval"> |
| 388 | + <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
| 389 | + </xs:extension> |
| 390 | + </xs:simpleContent> |
| 391 | + </xs:complexType> |
| 392 | + </xs:element> |
| 393 | + <xs:element name="plotAttributeString"> |
| 394 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 395 | + Definiert ein Plot-Attribute mit string Wert. |
| 396 | + </xs:documentation></xs:annotation> |
| 397 | + <xs:complexType> |
| 398 | + <xs:simpleContent> |
| 399 | + <xs:extension base="pv:stringFullEval"> |
| 400 | + <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
| 401 | + </xs:extension> |
| 402 | + </xs:simpleContent> |
| 403 | + </xs:complexType> |
| 404 | + </xs:element> |
| 405 | + <xs:element name="plotAttributeIntVector"> |
| 406 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 407 | + Definiert ein Plot-Attribute mit integer Vector-Wert. |
| 408 | + </xs:documentation></xs:annotation> |
| 409 | + <xs:complexType> |
| 410 | + <xs:complexContent> |
| 411 | + <xs:extension base="pv:integerVector"> |
| 412 | + <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
| 413 | + </xs:extension> |
| 414 | + </xs:complexContent> |
| 415 | + </xs:complexType> |
| 416 | + </xs:element> |
| 417 | + <xs:element name="plotAttributeFloatVector"> |
| 418 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 419 | + Definiert ein Plot-Attribute mit floating-point Vector-Wert. |
| 420 | + </xs:documentation></xs:annotation> |
| 421 | + <xs:complexType> |
| 422 | + <xs:complexContent> |
| 423 | + <xs:extension base="pv:unknownVector"> |
| 424 | + <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
| 425 | + </xs:extension> |
| 426 | + </xs:complexContent> |
| 427 | + </xs:complexType> |
| 428 | + </xs:element> |
| 429 | + <xs:element name="plotAttributeFloatMatrix"> |
| 430 | + <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
| 431 | + Definiert ein Plot-Attribute mit floating-point Vector-Wert. |
| 432 | + </xs:documentation></xs:annotation> |
| 433 | + <xs:complexType> |
| 434 | + <xs:complexContent> |
| 435 | + <xs:extension base="pv:unknownMatrix"> |
| 436 | + <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
| 437 | + </xs:extension> |
| 438 | + </xs:complexContent> |
| 439 | + </xs:complexType> |
| 440 | + </xs:element> |
| 441 | + |
317 | 442 | <xs:complexType name="ElementType"> |
318 | 443 | <xs:sequence> |
319 | 444 | <xs:choice minOccurs="0" maxOccurs="unbounded"> |
320 | | - <xs:element name="plotFeature"> |
321 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
322 | | - Definiert die Plotfeatures für dieses Element. |
323 | | - </xs:documentation></xs:annotation> |
324 | | - <xs:complexType> |
325 | | - <xs:simpleContent> |
326 | | - <xs:extension base="pv:booleanFullEval"> |
327 | | - <xs:attribute name="value" type="pv:qnamePartialEval" use="required"/> |
328 | | - </xs:extension> |
329 | | - </xs:simpleContent> |
330 | | - </xs:complexType> |
331 | | - </xs:element> |
332 | | - <xs:element name="plotFeatureForChildren"> |
333 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
334 | | - Definiert die Plotfeatures für alle Kindelement. |
335 | | - </xs:documentation></xs:annotation> |
336 | | - <xs:complexType> |
337 | | - <xs:simpleContent> |
338 | | - <xs:extension base="pv:booleanFullEval"> |
339 | | - <xs:attribute name="value" type="pv:qnamePartialEval" use="required"/> |
340 | | - </xs:extension> |
341 | | - </xs:simpleContent> |
342 | | - </xs:complexType> |
343 | | - </xs:element> |
344 | | - <xs:element name="plotFeatureRecursive"> |
345 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
346 | | - Definiert die Plotfeatures für diese Element und alle Kindelement. |
347 | | - </xs:documentation></xs:annotation> |
348 | | - <xs:complexType> |
349 | | - <xs:simpleContent> |
350 | | - <xs:extension base="pv:booleanFullEval"> |
351 | | - <xs:attribute name="value" type="pv:qnamePartialEval" use="required"/> |
352 | | - </xs:extension> |
353 | | - </xs:simpleContent> |
354 | | - </xs:complexType> |
355 | | - </xs:element> |
| 445 | + <xs:element ref="plotFeature"/> |
| 446 | + <xs:element ref="plotFeatureForChildren"/> |
| 447 | + <xs:element ref="plotFeatureRecursive"/> |
| 448 | + <xs:element ref="pv:Embed"/> |
356 | 449 | </xs:choice> |
357 | 450 | <xs:choice minOccurs="0" maxOccurs="unbounded"> |
358 | | - <xs:element name="plotAttribute"> |
359 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
360 | | - Definiert ein Plot-Attribute ohne Wert. |
361 | | - (Plot attribute sind statische Daten welche als key/value Paar an plot datasets/groups angehängt werden.) |
362 | | - </xs:documentation></xs:annotation> |
363 | | - <xs:complexType> |
364 | | - <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
365 | | - </xs:complexType> |
366 | | - </xs:element> |
367 | | - <xs:element name="plotAttributeInt"> |
368 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
369 | | - Definiert ein Plot-Attribute mit integer Wert. |
370 | | - </xs:documentation></xs:annotation> |
371 | | - <xs:complexType> |
372 | | - <xs:simpleContent> |
373 | | - <xs:extension base="pv:integerFullEval"> |
374 | | - <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
375 | | - </xs:extension> |
376 | | - </xs:simpleContent> |
377 | | - </xs:complexType> |
378 | | - </xs:element> |
379 | | - <xs:element name="plotAttributeFloat"> |
380 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
381 | | - Definiert ein Plot-Attribute mit floating-point Wert. |
382 | | - </xs:documentation></xs:annotation> |
383 | | - <xs:complexType> |
384 | | - <xs:simpleContent> |
385 | | - <xs:extension base="pv:floatFullEval"> |
386 | | - <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
387 | | - </xs:extension> |
388 | | - </xs:simpleContent> |
389 | | - </xs:complexType> |
390 | | - </xs:element> |
391 | | - <xs:element name="plotAttributeString"> |
392 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
393 | | - Definiert ein Plot-Attribute mit string Wert. |
394 | | - </xs:documentation></xs:annotation> |
395 | | - <xs:complexType> |
396 | | - <xs:simpleContent> |
397 | | - <xs:extension base="pv:stringFullEval"> |
398 | | - <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
399 | | - </xs:extension> |
400 | | - </xs:simpleContent> |
401 | | - </xs:complexType> |
402 | | - </xs:element> |
403 | | - <xs:element name="plotAttributeIntVector"> |
404 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
405 | | - Definiert ein Plot-Attribute mit integer Vector-Wert. |
406 | | - </xs:documentation></xs:annotation> |
407 | | - <xs:complexType> |
408 | | - <xs:complexContent> |
409 | | - <xs:extension base="pv:integerVector"> |
410 | | - <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
411 | | - </xs:extension> |
412 | | - </xs:complexContent> |
413 | | - </xs:complexType> |
414 | | - </xs:element> |
415 | | - <xs:element name="plotAttributeFloatVector"> |
416 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
417 | | - Definiert ein Plot-Attribute mit floating-point Vector-Wert. |
418 | | - </xs:documentation></xs:annotation> |
419 | | - <xs:complexType> |
420 | | - <xs:complexContent> |
421 | | - <xs:extension base="pv:unknownVector"> |
422 | | - <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
423 | | - </xs:extension> |
424 | | - </xs:complexContent> |
425 | | - </xs:complexType> |
426 | | - </xs:element> |
427 | | - <xs:element name="plotAttributeFloatMatrix"> |
428 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
429 | | - Definiert ein Plot-Attribute mit floating-point Vector-Wert. |
430 | | - </xs:documentation></xs:annotation> |
431 | | - <xs:complexType> |
432 | | - <xs:complexContent> |
433 | | - <xs:extension base="pv:unknownMatrix"> |
434 | | - <xs:attribute name="name" type="pv:stringPartialEval" use="required"/> |
435 | | - </xs:extension> |
436 | | - </xs:complexContent> |
437 | | - </xs:complexType> |
438 | | - </xs:element> |
| 451 | + <xs:element ref="plotAttribute"/> |
| 452 | + <xs:element ref="plotAttributeInt"/> |
| 453 | + <xs:element ref="plotAttributeFloat"/> |
| 454 | + <xs:element ref="plotAttributeString"/> |
| 455 | + <xs:element ref="plotAttributeIntVector"/> |
| 456 | + <xs:element ref="plotAttributeFloatVector"/> |
| 457 | + <xs:element ref="plotAttributeFloatMatrix"/> |
| 458 | + <xs:element ref="pv:Embed"/> |
439 | 459 | </xs:choice> |
440 | 460 | </xs:sequence> |
441 | 461 | <xs:attribute name="name" type="pv:stringPartialEval"/> <!-- is not required here since Function has not name attribute --> |
442 | 462 | </xs:complexType> |
443 | 463 |
|
| 464 | + |
| 465 | + |
444 | 466 | <xs:element name="EmptyGroup" abstract="true" substitutionGroup="Element" type="EmptyGroupType"/> |
445 | 467 | <xs:complexType name="EmptyGroupType"> |
446 | 468 | <xs:complexContent> |
|
0 commit comments