Skip to content

Introduction to BML

BML, short for BizzStream Markup Language, is a specialized markup language designed for rendering styled elements efficiently. It is an XML-based language, sharing similarities with HTML, the standard language for creating web pages.

The primary purpose of BML is to render styled elements such as labels and listview items in a performance-oriented manner. It aims to provide a streamlined approach for displaying content without the overhead of more complex functionalities, typically found in webbrowsers. Notably, BML is adept at rendering content on both desktop and mobile web environments, ensuring a consistent user experience across different devices.

Root element

In BML , it is essential that all markup content is enclosed within the <bml> and </bml> tags. These tags serve as the root element of any BML document, defining the boundaries and scope of the markup. Within these tags, a multitude of attributes can be used.

BML and BizzStream Expressions

BML supports the inclusion of BizzStream expressions, adding dynamic content capabilities to the markup. These expressions allow for the inclusion of variable data.

BizzStream expressions within BML are enclosed by double curly brackets {{ and }}. This syntax is used to denote dynamic content that should be evaluated and replaced with actual data when rendered. For example

<bml>
    <text>Welcome {{F["employeeName"]}}!</text>
</bml>

When BML contains BizzStream expressions, the rendering process is executed in two distinct stages:

  1. Resolving the BizzStream Expressions: In this initial stage, all BizzStream expressions embedded within the BML are evaluated. BizzStream processes these expressions to retrieve the corresponding data values. During this stage, the BML may appear as invalid XML due to the inclusion of BizzStream expressions, which are not standard XML elements. The focus here is on evaluating and resolving these expressions to prepare the dynamic content for display.

  2. Visually rendering the content: Once the BizzStream expressions have been resolved, the BML must conform to valid XML standards for the visual rendering process. This stage involves rendering the markup with actual data replacing the expressions, ensuring proper placement, styling, and presentation of all elements, including the dynamically obtained content.

Preview

When using the BML code editor, the preview window on the right side of the screen provides a live representation of the component, reflecting exactly how it will appear in the final layout. This feature allows you to quickly visualize the code and make adjustments in real time. In addition to serving as a layout preview, the window also acts as an error checker.

If an issue is present in the code, the preview will highlight the location of the error and provide information about its type. While it may not always offer a specific solution, the preview window gives a clear indication of where the problem lies, helping you pinpoint and resolve issues more efficiently.