Semantic Domains

Official Content
This documentation is valid for:

A Semantic Domain is a predefined Domain with a specific semantic.

For example, when defining an attribute or a variable that contains in its name the word "Address", "Phone", "Email", "URL", etc., GeneXus assigns automatically to its data type a Semantic Domain called "Address", "Phone", "Email", "URL", etc. respectively.

Semantic Domains example - Customer Transaction

This provides the advantage of including automatically useful behaviors depending on the semantic of the attribute/variable you are defining. For example, at runtime, the CustomerAddress attribute will offer the installed applications related to maps. For the CustomerPhone attribute, —if the application is running on a mobile phone— it will be possible to make a phone call. For the CustomerEmail attribute, an email may be sent (with the address data as the recipient). That is, the resources of the device on which the application is running are automatically used.

In the same way, when defining an attribute or variable that contains the word "Date" in its name, the "Date" Semantic Domain will be assigned to it and, at runtime, a calendar or date picker will be displayed to choose a date.

In addition to the automatic assignations when naming attributes or variables that contain the mentioned words, you can also assign, explicitly, a Semantic Domain to a certain attribute or variable that does not contain the name of a Semantic Domain in the attribute/variable name.

Some Semantic Domains

Email

When an attribute or variable based on the Email Semantic Domain is displayed on the screen, a default action is set to open the default mail client and create a new blank mail to the involved address:

SemanticDomain - Email - web

URL

When an attribute or variable based on the URL Semantic Domain is displayed on the screen, the URL appears as a link to the corresponding site.

SemanticDomain - url - web

Address

An attribute or variable based on the Address Semantic Domain appears on web screens as an address link. If you click on it, a map will open showing the address:

Address- semantic domain web-v18

Geolocation

When an attribute or variable is based on the GeoLocation Semantic Domain, it is character data that corresponds to a <latitude, longitude> point. So it is displayed on a Google map.

The geolocation domain is a character that expects a format of the lat, long type, that is, two numbers that specify the coordinate

SemanticDomain02

Phone

When the application is accessed from a Phone, for Attributes/Variables based on the Phone Semantic Domainit will be able to call the desired number.


Date / DateTime

When an attribute or variable based on the Date or DateTime Semantic Domain is present on the screen, a date picker/calendar will be invoked when inserting this field.

Date / DateTime - Semantic Domain web - v18

Image

When an attribute or variable based on the Image Semantic Domain is present on the screen, if the application is running on a mobile phone the camera may be used to take a picture. Also, an image can be uploaded to the field.

Image - Semantic domain web -v18

Video

Like the Image Semantic Domain, this multimedia domain can handle and store video sequences.

Audio

The Audio Semantic Domain allows storing audio content.
 

Component

This Semantic Domain can handle and store web page URLs.

It will load the page and show it on the Native Mobile device inside the application. It will show a Webview, that is, the web page of the URL specified on the field based on this domain.

The web page will occupy the space given for the variable.
 

HTML

An attribute/variable based on this domain can store HTML code.

The HTML code stored in this field will be rendered by the device.