The following attributes cannot have values:
Attribute | Definition |
XSDAnySimpleType | Map 4GL STRING or VARCHAR to XML Schema simpleType. |
XSDAnyType | Map 4GL STRING or VARCHAR to XML Schema anyType. |
XSDAnyURI | Map 4GL STRING or VARCHAR to XML Schema anyURI. |
XSDBase64binary | Map 4GL BYTE to the XML Schema base64binary. |
XSDBoolean | Map 4GL BOOLEAN, SMALLINT or INTEGER to XML Schema boolean. |
XSDByte | Map 4GL TINYINT, SMALLINT or BIGINT to XML Schema byte. |
XSDDate | Map 4GL DATE or DATETIME to XML Schema date. |
XSDDateTime | Map 4GL DATETIME to XML Schema dateTime. |
XSDDecimal | Map 4GL DECIMAL to XML Schema decimal. |
XSDDouble | Map 4GL FLOAT to XML Schema double. |
XSDDuration | Map 4GL INTERVAL to XML Schema duration. |
XSDEntities | Map 4GL STRING or VARCHAR to XML Schema entities. |
XSDEntity | Map 4GL STRING or VARCHAR to XML Schema entity. |
XSDFloat | Map 4GL SMALLFLOAT to XML Schema float. |
XSDGday | Map 4GL DATETIME to XML Schema gDay. |
XSDGMonth | Map 4GL DATETIME to XML Schema gMonth. |
XSDGMonthDay | Map 4GL DATETIME to XML Schema gMonthDay. |
XSDGYear | Map 4GL DATETIME to XML Schema gYear. |
XSDGYearMonth | Map 4GL DATETIME to XML Schema gYearMonth. |
XSDHexBinary | Map 4GL BYTE to XML Schema hexBinary. |
XSDID | Map 4GL STRING or VARCHAR to XML Schema id. |
XSDIDREF | Map 4GL STRING or VARCHAR to XML Schema idRef. |
XSDIDREFS | Map 4GL STRING or VARCHAR to XML Schema idRefs. |
XSDInt | Map 4GL INTEGER or BIGINT to XML Schema int. |
XSDInteger | Map 4GL DECIMAL to XML Schema integer. |
XSDLanguage | Map 4GL STRING or VARCHAR to XML Schema language. |
XSDLong | Map 4GL BIGINT or DECIMAL to XML Schema long. |
XSDNCName | Map 4GL STRING or VARCHAR to XML Schema NCName. |
XSDName | Map 4GL STRING or VARCHAR to XML Schema Name. |
XSDNegativeInteger | Map 4GL DECIMAL to XML Schema negativeInteger. |
XSDNMTOKEN | Map 4GL STRING or VARCHAR to XML Schema NMToken. |
XSDNMTOKENS | Map 4GL STRING or VARCHAR to XML Schema NMTokens. |
XSDNonNegativeInteger | Map 4GL DECIMAL to XML Schema nonNegativeInteger. |
XSDNonPositiveInteger | Map 4GL DECIMAL to XML Schema nonPositiveInteger. |
XSDNormalizedString | Map 4GL STRING or VARCHAR to XML Schema normalizedString. |
XSDNotation | Not supported. |
XSDPositiveInteger | Map 4GL DECIMAL to XML Schema positiveInteger. |
XSDQName | Map 4GL STRING or VARCHAR to XML Schema QName. |
XSDShort | Map 4GL SMALLINT or BIGINT to XML Schema short. |
XSDString | Map 4GL STRING , Char, Text or VarChar to XML Schema string. |
XSDTime | Map 4GL DATETIME to XML Schema time. |
XSDToken | Map 4GL STRING or VARCHAR to XML Schema token. |
XSDUnsignedByte | Map 4GL SMALLINT or BIGINT to XML Schema unsignedByte. |
XSDUnsignedInt | Map 4GL BIGINT or DECIMAL to XML Schema unsignedInt. |
XSDUnsignedLong | Map 4GL DECIMAL to XML Schema unsignedLong. |
XSDUnsignedShort | Map 4GL INTEGER or BIGINT to XML Schema unsignedShort. |
The following attributes are facet constraints depending on the XSD data
type used on a simple 4GL variable to restrict the allowed value-space.
(Notice that some attributes are allowed only on some XSD data types).
Several facet constraints can be set on the same data type, and a mandatory values is expected ( for example, XSDMinLength="8")
Attribute | Definition |
XSDLength | Define the exact number of XML character or bytes. |
XSDMinLength | Define the minimum number of XML character or bytes. |
XSDMaxLength | Define the maximum number of XML character or bytes. |
XSDEnumeration | Define a list of allowed values separated by the character |. |
XSDWhiteSpace | Perform a XML string manipulation before serialization or deserialization. |
XSDPattern | Define the regular expression the value has to match. |
XSDMinInclusive | Define the inclusive minimum value according to the data type where it is set. |
XSDMaxInclusive | Define the inclusive maximum value according to the data type where it is set. |
XSDMinExclusive | Define the exclusive minimum value according to the data type where it is set. |
XSDMaxExclusive | Define the exclusive maximum value according to the data type where it is set. |
XSDTotalDigits | Define the total number of digits. |
XSDFractionDigits | Define the number of digits of the fraction part. |
The following attributes are used to change the default serialization of 4GL into XML, and vice-versa.
Some of these attributes cannot have values; for the others a value is
mandatory.
The following attributes cannot have values:
Attribute | Definition |
XMLOptional | Define whether the variable can be missing. |
XMLElement | Map a 4GL simple data type to an XML Element. |
XMLAttribute | Map a 4GL simple data type to an XML Attribute. |
XMLBase | Set the base type of an XML Schema simpleContent. |
XMLAll | Map a 4GL Record to an XML Schema all structure. |
XMLChoice | Map a 4GL Record to an XML Schema choice structure. |
XMLSequence | Map a 4GL Record to an XML Schema sequence structure. |
XMLSimpleContent | Map a 4GL Record to an XML Schema simpleContent structure. |
XSComplexType | Map a 4GL Record type definition to an XML Schema complexType. |
XMLList | Map a one-dimensional array to an XML Schema list. |
XMLSelector | Define which member of an XMLChoice record is selected. |
XMLAny | Map a Xml.DomDocument object to a wildcard XML element node. |
XMLAnyAttribute | Map a 4GL one-dimensional dynamic array of a record with 3 strings to XML wildcard attributes. |
Values are mandatory for the following attributes: (for example, XMLName="myname")
Attribute | Definition |
XMLName | Define the XML Name of a variable in an XML document. |
XMLNamespace | Define the XML Namespace of a variable in an XML document. |
XMLType | Force the XML type name of a variable. |
XMLTypenamespace | Force the XML type namespace of a variable. |
XSTypename | Define the XML Type Name of a 4GL type definition. |
XSTypenamespace | Define the XML Type Namespace of a 4GL type definition. |
XMLElementNamespace | Define the default XML namespace of all children defined as XMLElement in a Record. |
XMLAttributeNamespace | Define the default XML namespace of all children defined as XMLAttribute in a Record. |
By default, GWS maps BDL variables in the input or output messages of a Genero Web Services application to their corresponding XML data types, enabling values to be passed between applications and Web Services. The XML data types conform to the standard XML Schema Definition (XSD):
Data Type of BDL variable | Default XML Data Type |
BYTE | xsd:base64binary |
CHAR | xsd:string |
DATE | xds.date |
DATETIME YEAR TO FRACTION(1-5) | xsd:dateTime |
DATETIME YEAR TO SECOND | xsd:dateTime |
DATETIME YEAR TO HOUR | xsd:dateTime |
DATETIME YEAR TO MINUTE | xsd:dateTime |
DATETIME YEAR TO YEAR | xsd:gYear |
DATETIME YEAR TO MONTH | xsd:gYearMonth |
DATETIME YEAR TO DAY | xsd:date |
DATETIME MONTH TO MONTH | xsd:gMonth |
DATETIME MONTH TO DAY | xsd:gMonthDay |
DATETIME DAY TO DAY | xsd:gDay |
DATETIME HOUR TO HOUR | xsd:time |
DATETIME HOUR TO MINUTE | xsd:time |
DATETIME HOUR TO SECOND | xsd:time |
DATETIME HOUR TO FRACTION(1-5) | xsd:time |
DECIMAL | xsd:decimal |
FLOAT | xsd:double |
INTEGER | xsd:int |
INTERVAL | xsd:duration |
SMALLFLOAT | xsd:float |
SMALLINT | xsd:short |
STRING | xsd:string |
TEXT | xsd:string |
VARCHAR | xsd:string |
TINYINT | xsd:byte |
BIGINT | xsd:long |
BOOLEAN | xsd:boolean |
In addition, the Web Service Style that you use determines what default XMLName attributes are assigned to variables.
Starting with Genero 2.0, you can add optional attributes to the definition of variables. These attributes can be used to map a BDL data type used in the input or output message of a Genero Web Service application to a specific XML data type, rather than using the default. For example, BDL does not have a BOOLEAN data type. If an XML Schema boolean data type is required for an application, you can use an attribute to map a BDL SMALLINT to a boolean.
The following example uses the XSDBoolean attribute to map a BDL SMALLINT variable to an XML Schema boolean type, and assigns an uppercase name as the XMLName attribute:
GLOBALSDEFINE invoice_out RECORD
ok SMALLINT ATTRIBUTE(XSDBoolean,XMLName="OK")
END RECORDEND GLOBALS
If you assign your own XMLName attributes, be sure to respect the conventions when using the RPC Service Style.
See the Tutorial: Writing a GWS Server application for additional information about input and output messages.
Map 4GL STRING or VARCHAR to XML Schema anySimpleType.
Map 4GL STRING or VARCHAR to XML Schema anyType.
Map 4GL STRING or VARCHAR to XML Schema anyURI.
Map 4GL BYTE to XML Schema base64binary.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL BOOLEAN, SMALLINT or INTEGER to XML Schema boolean.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL TINYINT, SMALLINT or BIGINT to XML Schema byte.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DATE or DATETIME to XML Schema date.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DATETIME to XML Schema dateTime.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DECIMAL to XML Schema decimal.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL FLOAT to XML Schema double.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL INTERVAL to XML Schema duration.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING or VARCHAR to XML Schema ENTITIES.
Map 4GL STRING or VARCHAR to XML Schema ENTITY.
Map 4GL SMALLFLOAT to XML Schema float.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DATETIME to XML Schema gDay.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DATETIME to XML Schema gMonth.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DATETIME to XML Schema gMonthDay.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DATETIME to XML Schema gYear.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DATETIME to XML Schema gYearMonth.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL BYTE to XML Schema hexBinary.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING or VARCHAR to XML Schema ID.
Map 4GL STRING or VARCHAR to XML Schema IDREF.
Map 4GL STRING or VARCHAR to XML Schema IDREFS.
Map 4GL INTEGER or BIGINT to XML Schema int.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DECIMAL to XML Schema integer.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING or VARCHAR to XML Schema language.
Map 4GL BIGINT or DECIMAL to XML Schema long.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING or VARCHAR to XML Schema NCName.
Map 4GL STRING or VARCHAR to XML Schema Name.
Map 4GL DECIMAL to XML Schema negativeInteger.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING or VARCHAR to XML Schema NMToken.
Map 4GL STRING or VARCHAR to XML Schema NMTokens.
Map 4GL DECIMAL to XML Schema nonNegativeInteger.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DECIMAL to XML Schema nonPositiveInteger.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING or VARCHAR to XML Schema normalizedString.
Not supported.
Map 4GL DECIMAL to XML Schema positiveInteger.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING or VARCHAR to XML Schema QName.
Map 4GL SMALLINT or BIGINT to XML Schema short.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING, CHAR, TEXT or VARCHAR to XML Schema string.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DATETIME to XML Schema time.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL STRING or VARCHAR to XML Schema token.
Map 4GL SMALLINT or BIGINT to XML Schema unsignedByte.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL BIGINT or DECIMAL to XML Schema unsignedInt.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL DECIMAL to XML Schema unsignedLong.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map 4GL INTEGER or BIGINT to XML Schema unsignedShort.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Define whether the variable can be missing or not. It specifies how a 4GL NULL value is interpreted in XML.
Notes:
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") | |
<Root> | <Root> |
Map a 4GL simple data type to an XML Element.
Note: The attribute cannot be set on a type definition.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Map a 4GL simple data type to an XML Attribute.
Notes:
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root Val1="148"> |
Define the simple 4GL variable used as the base type of an XML Schema simpleContent structure.
The attribute can be set on one and only one member of a RECORD defined with the XMLSimpleContent attribute
Map a 4GL Record to an XML Schema all structure.
The order in which the record members appear in the XML document is not significant.
Example
DEFINE myall RECORD ATTRIBUTE(XMLAll,XMLName="Root") | |
<Root Val2="25.8"> | <Root Val2="25.8"> |
Map a 4GL Record to an XML Schema choice structure.
The choice of the record's member is performed at runtime, and changes dynamically according to a mandatory member.
This specific member must be of type SMALLINT or INTEGER, and have an
XMLSelector attribute set.
The XMLChoice attribute also supports a "nested" value that removes the surrounding XML tag.
Notes:
Example
DEFINE mychoice RECORD ATTRIBUTE(XMLChoice,XMLName="Root") | |
Case where "sel" value is 4 | Case where "sel" value is 1 |
<Root Val2="25.8"> | <Root Val2="25.8"> |
Nested Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") | |
Case where "nestedSel" value is 1 | Case where "nestedSel" value is 2 |
<Root Val2="25.8"> | <Root Val2="25.8"> |
Map a 4GL Record to an XML Schema sequence structure.
The order in which the record members appear in the XML document must match the order of the 4GL Record.
The XMLSequence attribute also supports a "nested" value that removes the surrounding XML tag.
Note: Nested sequence records cannot be defined as main variables; there must always be a surrounding variable.
Example
DEFINE mysequence RECORD ATTRIBUTE(XMLSequence,XMLName="Root") |
<Root Val2="25.8"> |
Nested Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root Val2="25.8"> |
Map a 4GL Record to an XML Schema simpleContent structure.
Note: One member must have the XMLBase attribute; all other
members must have an XMLAttribute attribute. If not, the compiler complains.
Example
DEFINE mysimpletype RECORD ATTRIBUTE(XMLSimpleContent,XMLName="Root") |
<Root Val1="148" Val2="25.8"> |
Map a 4GL Record type definition to an XML Schema complexType.
Note: You can have one member as a nested sequence or
choice, or as an XMLList array with a nested sequence or choice as the
array's elements; all other members must have an XMLAttribute
attribute. If not, the compiler complains.
Example
TYPE mycomplextype RECORD ATTRIBUTE(XSComplexType,XSTypeName="MyComplexType",XSTypeNamespace="http://tempuri.org") |
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://tempuri.org" elementFormDefault="qualified" > |
Map a one dimensional array to an XML Schema element that has more than one occurrence.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Note: It is not possible to define an XMLList attribute on a main array.
Define the index of the candidate among all members of an
XMLChoice record that will be serialized or de-serialized at runtime.
The index starts at 1.
The selector data type must be a SMALLINT or a INTEGER.
Map a Xml.DomDocument object to a wildcard XML element.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root",XMLNamespace="http://tempuri.org") |
<pre:Root xmlns:pre="http://tempuri.org" > |
For example:
Map a one-dimensional dynamic array to wildcard XML attributes.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root",XMLNamespace="http://tempuri.org") |
<pre:Root xmlns:pre="http://tempuri.org" pre:Attr="10" xmlns:pre2="http://www.mycompany.com" pre2:AnyAttr1="10" pre2:AnyAttr2=""> |
For example:
Define the name of a variable in an XML document.
Note: The attribute cannot be set on a type definition.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root") |
<Root> |
Define the namespace of a variable in an XML document.
Notes:
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root",XMLNamespace="http://tempuri.org") |
<fjs1:Root xmlns:fjs1="http://tempuri.org" Attr1="158" xmlns:fjs3="http://anyuri.org" fjs3:Attr2="Hello"> |
Force the XML type name of a variable by adding xsi:type at serialization or by checking xsi:type at deserialization.
Note: The attribute must be used with the XMLTypenamespace attribute; otherwise, the compiler complains.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root",XMLNamespace="http://tempuri.org") |
<fjs1:Root xmlns:fjs1="http://tempuri.org"> |
Force the XML type namespace of a variable by adding xsi:type at serialization or by checking xsi:type at de-serialization.
Note: the attribute must be used with the XMLType attribute; otherwise the compiler complains.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root",XMLNamespace="http://tempuri.org") |
<fjs1:Root xmlns:fjs1="http://tempuri.org"> |
Define the XML Schema name of a 4GL type definition.
Notes:
Example
TYPE myType RECORD ATTRIBUTE(XMLSequence,XSTypeName="MyFirstType",XSTypeNamespace="http://tempuri.org") |
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://tempuri.org" elementFormDefault="qualified" > |
Define the XML Schema namespace of a 4GL type definition.
Notes:
Example
TYPE myType RECORD ATTRIBUTE(XMLChoice,XSTypeName="MyFirstChoice",XSTypeNamespace="http://tempuri.org") |
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://tempuri.org" elementFormDefault="qualified" > |
Define the default namespace of all members of a record also defined as XML elements.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root",XMLNamespace="http://tempuri.org",XMLElementNamespace="http://www.mycompany.com") |
<fjs1:Root xmlns:fjs1="http://tempuri.org" Attr="Hello" xmlns:fjs2="http://www.mycompany.com"> |
Define the default namespace of all members of a record also defined as XML attributes.
Example
DEFINE myVar RECORD ATTRIBUTE(XMLName="Root",XMLNamespace="http://tempuri.org",XMLAttributeNamespace="http://www.mycompany.com") |
<fjs1:Root xmlns:fjs1="http://tempuri.org" fjs2:Attr1="Hello" xmlns:fjs2="http://www.mycompany.com" xmlns:fjs3="http://anyuri.org" fjs3:Attr2="2006-06-24"> |
Restrict the length of the data to the exact number of XML characters allowed when set on a 4GL STRING, VARCHAR, CHAR or TEXT, or the number of bytes allowed when set on a 4GL BYTE.
Notes:
Examples
DEFINE myStr STRING ATTRIBUTE(XSDString,XSDLength="12",XMLName="MyString")
DEFINE myByte BYTE ATTRIBUTE(XSDBase64Binary,XSDLength="8000",XMLName="MyPicture")
Restrict the length of the data to the minimum number of XML characters allowed when set on a 4GL STRING, VARCHAR, CHAR or TEXT, or the number of bytes allowed when set on a 4GL BYTE.
Notes:
Examples
DEFINE myStr STRING ATTRIBUTE(XSDString,XSDMinLength="12",XMLName="MyString")
DEFINE myByte BYTE ATTRIBUTE(XSDBase64Binary,XSDMinLength="8000",XMLName="MyPicture")
Restrict the length of the data to the maximum number of XML characters allowed when set on a 4GL STRING, VARCHAR, CHAR or TEXT, or the number of bytes allowed when set on a 4GL BYTE.
Notes:
Examples
DEFINE myStr STRING ATTRIBUTE(XSDString,XSDMaxLength="12",XMLName="MyString")
DEFINE myByte BYTE ATTRIBUTE(XSDBase64Binary,XSDMaxLength="8000",XMLName="MyPicture")
Restrict the allowed value-space to a list of values separated by the characters |.
Notes:
Examples
DEFINE myStr STRING ATTRIBUTE(XSDString,XSDEnumeration="one|two|three|four",XMLName="MyString")
DEFINE myDec DECIMAL(3,1) ATTRIBUTE(XSDDecimal,XSDEnumeration="12.1|11.8|-24.7",XMLName="MyDecimal")
Perform a XML string manipulation before serialization or deserialization according to one of the three allowed values : preserve, replace or collapse.
Notes:
Examples
DEFINE myStr STRING ATTRIBUTE(XSDString,XSDWhiteSpace="replace",XMLName="MyString")
DEFINE myDec DECIMAL(3,1) ATTRIBUTE(XSDDecimal,XSDWhiteSpace="collapse",XMLName="MyDecimal")
Define a regular expression the value has to match to be serialized or deserialized without any error.
Notes:
Examples
DEFINE myStr STRING ATTRIBUTE(XSDString,XSDPattern="A.*Z",XMLName="MyString")
DEFINE myZipCode INTEGER ATTRIBUTE(XSDInt,XSDPattern="[0-9]{5}",XMLName="MyZipCode")
DEFINE myOtherZipCode INTEGER ATTRIBUTE(XSDInt,XSDPattern="\\d{5}",XMLName="myOtherZipCode") # regex is \d{5} see note
Define the minimum inclusive value allowed and depending on the
data type where it is set, namely all numeric, date and time data types.
Note: The minimum value cannot exceed the implicit minimum value supported by the data type itself or the compiler will complain. For instance, with XSDShort the minimum value is -32768.
Examples
DEFINE myCode SMALLINT ATTRIBUTE(XSDShort,XSDMinInclusive="-1000",XMLName="MyCode")
DEFINE myRate DECIMAL(4,2) ATTRIBUTE(XSDDecimal,XSDMinInclusive="100.01",XMLName="MyRate")
Define the maximum inclusive value allowed and depending on the
data type where it is set, namely all numeric, date and time data types.
Note: The maximum value cannot exceed the implicit maximum value supported by the data type itself or the compiler will complain. For instance, with XSDShort the maximum value is 32767.
Examples
DEFINE myCode SMALLINT ATTRIBUTE(XSDShort,XSDMaxInclusive="1000",XMLName="MyCode")
DEFINE myRate DECIMAL(4,2) ATTRIBUTE(XSDDecimal,XSDMaxInclusive="299.99",XMLName="MyRate")
Define the minimum exclusive value allowed and depending on the
data type where it is set, namely all numeric, date and time data types.
Note: The minimum value cannot exceed or be equal to the implicit minimum value supported by the data type itself or the compiler will complain. For instance, with XSDShort the minimum value is -32768.
Examples
DEFINE myCode SMALLINT ATTRIBUTE(XSDShort,XSDMinExclusive="-1000",XMLName="MyCode")
DEFINE myRate DECIMAL(4,2) ATTRIBUTE(XSDDecimal,XSDMinExclusive="100.01",XMLName="MyRate")
Define the maximum exclusive value allowed and depending on the data type where it is set, namely all numeric, date and time data types.
Note: The maximum value cannot exceed or be equal to the implicit maximum value supported by the data type itself or the compiler will complain. For instance, with XSDShort the maximum value is 32767.
Examples
DEFINE myCode SMALLINT ATTRIBUTE(XSDShort,XSDMaxExclusive="1000",XMLName="MyCode")
DEFINE myRate DECIMAL(4,2) ATTRIBUTE(XSDDecimal,XSDMaxExclusive="299.99",XMLName="MyRate")
Define the maximum number of digits allowed on a numeric data type, fraction part inclusive if there is one.
Notes:
Examples
DEFINE myCode SMALLINT ATTRIBUTE(XSDShort,XSDTotalDigits="4",XSDMaxExclusive="1000",XMLName="MyCode")
DEFINE myRate DECIMAL(4,2) ATTRIBUTE(XSDDecimal,XSDTotalDigits="5",XSDMaxExclusive="299.99",XMLName="MyRate")
Define the maximum number of digits allowed on the fraction part of a numeric
data type.
Notes:
Examples
DEFINE myCode SMALLINT ATTRIBUTE(XSDShort,XSDFractionDigits="0",XSDMaxExclusive="1000",XMLName="MyCode")
DEFINE myRate DECIMAL(4,2) ATTRIBUTE(XSDDecimal,XSDTotalDigits="5",XSDFractionDigits="3",XSDMaxExclusive="299.99",XMLName="MyRate")