Changes for page 12 Validation and Transformation Language (VTL)
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -580,8 +580,10 @@ 580 580 581 581 Therefore, it is important to be aware that some VTL operations (for example the binary operations at data set level) are consistent only if the components having the same names in the operated VTL Data Sets have also the same representation (i.e. the same Value Domain as for VTL). For example, it is possible to obtain correct results from the VTL expression 582 582 583 -DS_c := DS_a + DS_b (where DS_a, DS_b, DS_c are VTL Data Sets) if the matching components in DS_a and DS_b (e.g. ref_date, geo_area, sector …) refer to the same general representation. In simpler words, DS_a and DS_b must use the same values/codes (for ref_date, geo_area, sector … ), otherwise the relevant values would not match and the result of the operation would be wrong.583 +DS_c := DS_a + DS_b (where DS_a, DS_b, DS_c are VTL Data Sets) 584 584 585 +if the matching components in DS_a and DS_b (e.g. ref_date, geo_area, sector …) refer to the same general representation. In simpler words, DS_a and DS_b must use the same values/codes (for ref_date, geo_area, sector … ), otherwise the relevant values would not match and the result of the operation would be wrong. 586 + 585 585 As mentioned, the property above is not enforced by construction in SDMX, and different representations of the same Concept can be not compatible one another (for example, it may happen that geo_area is represented by ISO-alpha-3 codes in DS_a and by ISO alpha-2 codes in DS_b). Therefore, it will be up to the definer of VTL 586 586 587 587 Transformations to ensure that the VTL expressions are consistent with the actual representations of the correspondent SDMX Concepts. ... ... @@ -598,7 +598,8 @@ 598 598 599 599 [[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_e3df33ae.png||height="543" width="483"]] 600 600 601 -==== Figure 22 – VTL Data Types ==== 603 +(% class="wikigeneratedid" id="HFigure222013VTLDataTypes" %) 604 +**Figure 22 – VTL Data Types** 602 602 603 603 The VTL scalar types are in turn subdivided in basic scalar types, which are elementary (not defined in term of other data types) and Value Domain and Set scalar types, which are defined in terms of the basic scalar types. 604 604 ... ... @@ -605,131 +605,12 @@ 605 605 The VTL basic scalar types are listed below and follow a hierarchical structure in terms of supersets/subsets (e.g. "scalar" is the superset of all the basic scalar types): 606 606 607 607 611 +**Figure 23 – VTL Basic Scalar Types** 608 608 609 609 ((( 610 -//n// 611 - 612 -//a// 613 - 614 -//e// 615 - 616 -//l// 617 - 618 -//o// 619 - 620 -//o// 621 - 622 -//B// 623 - 624 -//n// 625 - 626 -//o// 627 - 628 -//i// 629 - 630 -//t// 631 - 632 -//a// 633 - 634 -//r// 635 - 636 -//u// 637 - 638 -//D// 639 - 640 -//d// 641 - 642 -//o// 643 - 644 -//i// 645 - 646 -//r// 647 - 648 -//e// 649 - 650 -//p// 651 - 652 -//_// 653 - 654 -//e// 655 - 656 -//m// 657 - 658 -//i// 659 - 660 -//T// 661 - 662 -//e// 663 - 664 -//t// 665 - 666 -//a// 667 - 668 -//D// 669 - 670 -//e// 671 - 672 -//m// 673 - 674 -//i// 675 - 676 -//T// 677 - 678 -//r// 679 - 680 -//e// 681 - 682 -//g// 683 - 684 -//e// 685 - 686 -//t// 687 - 688 -//n// 689 - 690 -//I// 691 - 692 -//r// 693 - 694 -//e// 695 - 696 -//b// 697 - 698 -//m// 699 - 700 -//u// 701 - 702 -//N// 703 - 704 -//g// 705 - 706 -//n// 707 - 708 -//i// 709 - 710 -//r// 711 - 712 -//t// 713 - 714 -//S// 715 - 716 -//r// 717 - 718 -//a// 719 - 720 -//l// 721 - 722 -//a// 723 - 724 -//c// 725 - 726 -//S// 727 - 728 -[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_82d45833.gif||alt="Shape6" height="231" width="184"]] 614 + 729 729 ))) 730 730 731 -==== Figure 23 – VTL Basic Scalar Types ==== 732 - 733 733 === 12.4.2 VTL basic scalar types and SDMX data types === 734 734 735 735 The VTL assumes that a basic scalar type has a unique internal representation and can have more external representations. ... ... @@ -752,70 +752,55 @@ 752 752 753 753 The following table describes the default mapping for converting from the SDMX data types to the VTL basic scalar types. 754 754 755 -|SDMX data type (BasicComponentDataType)|Default VTL basic scalar type 756 -|((( 639 +|(% style="width:501px" %)SDMX data type (BasicComponentDataType)|(% style="width:1437px" %)Default VTL basic scalar type 640 +|(% style="width:501px" %)((( 757 757 String 758 - 759 759 (string allowing any character) 760 -)))|string 761 -|((( 643 +)))|(% style="width:1437px" %)string 644 +|(% style="width:501px" %)((( 762 762 Alpha 763 - 764 764 (string which only allows A-z) 765 -)))|string 766 -|((( 647 +)))|(% style="width:1437px" %)string 648 +|(% style="width:501px" %)((( 767 767 AlphaNumeric 768 - 769 769 (string which only allows A-z and 0-9) 770 -)))|string 771 -|((( 651 +)))|(% style="width:1437px" %)string 652 +|(% style="width:501px" %)((( 772 772 Numeric 773 - 774 774 (string which only allows 0-9, but is not numeric so that is can having leading zeros) 775 -)))|string 776 -|((( 655 +)))|(% style="width:1437px" %)string 656 +|(% style="width:501px" %)((( 777 777 BigInteger 778 - 779 779 (corresponds to XML Schema xs:integer datatype; infinite set of integer values) 780 -)))|integer 781 -|((( 659 +)))|(% style="width:1437px" %)integer 660 +|(% style="width:501px" %)((( 782 782 Integer 783 - 784 -(corresponds to XML Schema xs:int datatype; between -2147483648 and +2147483647 785 - 786 -(inclusive)) 787 -)))|integer 788 -|((( 662 +(corresponds to XML Schema xs:int datatype; between -2147483648 and +2147483647 (inclusive)) 663 +)))|(% style="width:1437px" %)integer 664 +|(% style="width:501px" %)((( 789 789 Long 790 - 791 791 (corresponds to XML Schema xs:long datatype; between -9223372036854775808 and 792 792 793 793 +9223372036854775807 (inclusive)) 794 -)))|integer 795 -|((( 669 +)))|(% style="width:1437px" %)integer 670 +|(% style="width:501px" %)((( 796 796 Short 797 - 798 798 (corresponds to XML Schema xs:short datatype; between -32768 and -32767 (inclusive)) 799 -)))|integer 800 -|Decimal (corresponds to XML Schema xs:decimal datatype; subset of real numbers that can be represented as decimals)|number 801 -|((( 673 +)))|(% style="width:1437px" %)integer 674 +|(% style="width:501px" %)Decimal (corresponds to XML Schema xs:decimal datatype; subset of real numbers that can be represented as decimals)|(% style="width:1437px" %)number 675 +|(% style="width:501px" %)((( 802 802 Float 803 - 804 804 (corresponds to XML Schema xs:float datatype; patterned after the IEEE single-precision 32-bit floating point type) 805 -)))|number 806 -|((( 678 +)))|(% style="width:1437px" %)number 679 +|(% style="width:501px" %)((( 807 807 Double 808 - 809 809 (corresponds to XML Schema xs:double datatype; patterned after the IEEE double-precision 64-bit floating point type) 810 -)))|number 811 -|((( 682 +)))|(% style="width:1437px" %)number 683 +|(% style="width:501px" %)((( 812 812 Boolean 685 +(corresponds to the XML Schema xs:boolean datatype; support the mathematical concept of binary-valued logic: {true, false}) 686 +)))|(% style="width:1437px" %)boolean 813 813 814 -(corresponds to the XML Schema xs:boolean datatype; support the mathematical concept of 815 - 816 -binary-valued logic: {true, false}) 817 -)))|boolean 818 - 819 819 | |(% colspan="2" %)((( 820 820 URI 821 821