These components are expressed by using XBL, which comes from Xenogamous Binding Language, a specification for a language providing "the ability to associate elements in a document with script, event handlers, CSS, and more complex content models, which can be stored in another document" [1].
Important note: The XBL specification is not maintained anymore.
The structure of an XBL file
A component is stored in one xbl:binding element.
The metadata section, with display-name element (needed for displaying the component in Orbeon's Form Builder), and template element, containing a sort of a boilerplate with names of four XForms elements (xf:label, xf:hint, xf:help, xf:alert).
The xbl:resources section, containing an _xbl:style_element with CSS instructions.
The xbl:implementation section, containing the XForms model and bindings.
The _xbl:handlers_section, containing listeners for some events (this is used only for attribute-editor.xml file)
The xbl:template section, containing all the XForms form controls.
How to convert the above mentioned sections of an XBL file
Note: the result of conversion is an XForms file, to be insert in any other XForms file by using XInclude. The structure of the target XForms style will be according to the model offered by the certainty-input.xml file.
The metadata section has no correspondent XForms section.
The xbl:resources section will be converted to a plain HTML5 style element.
The content of the xbl:implementation section will be included in the target file as such.
The event listeners of the xbl:handlers section will be converted to _xf:action_elements.
The content of the xbl:template section will be included in the target file as such.
The proposed status
The proposed status is to use Web Components, a well defined, and well established approach, which uses W3C standards [2].
Bibliography
[1] XBL 2.0. W3C Working Group Note 24 May 2012, https://w3.org/TR/xbl/, accessed on 2024.07.23.
Reason for conversion
This conversion is needed to modernize the codebase of MerMEId.
The current status
The reusable components, as the component for adding a reference to an authority file to the context node, are currently stored in XBL files. As an example, one can consider the forms/includes/authority.xbl file, which is used in 7 other files, namely: forms/details-expression.xml, forms/details-item.xml, forms/details-performance.xml, forms/details-reference.xml, forms/details-source.xml, forms/edit-form-head.xml, forms/model-edit-head.xml.
These components are expressed by using XBL, which comes from Xenogamous Binding Language, a specification for a language providing "the ability to associate elements in a document with script, event handlers, CSS, and more complex content models, which can be stored in another document" [1].
Important note: The XBL specification is not maintained anymore.
The structure of an XBL file
A component is stored in one xbl:binding element.
The metadata section, with display-name element (needed for displaying the component in Orbeon's Form Builder), and template element, containing a sort of a boilerplate with names of four XForms elements (xf:label, xf:hint, xf:help, xf:alert).
The xbl:resources section, containing an _xbl:style_element with CSS instructions.
The xbl:implementation section, containing the XForms model and bindings.
The _xbl:handlers_section, containing listeners for some events (this is used only for attribute-editor.xml file)
The xbl:template section, containing all the XForms form controls.
How to convert the above mentioned sections of an XBL file
Note: the result of conversion is an XForms file, to be insert in any other XForms file by using XInclude. The structure of the target XForms style will be according to the model offered by the certainty-input.xml file.
The metadata section has no correspondent XForms section.
The xbl:resources section will be converted to a plain HTML5 style element.
The content of the xbl:implementation section will be included in the target file as such.
The event listeners of the xbl:handlers section will be converted to _xf:action_elements.
The content of the xbl:template section will be included in the target file as such.
The proposed status
The proposed status is to use Web Components, a well defined, and well established approach, which uses W3C standards [2].
Bibliography
[1] XBL 2.0. W3C Working Group Note 24 May 2012, https://w3.org/TR/xbl/, accessed on 2024.07.23.
[2] Web Components. MDN Web Docs, https://developer.mozilla.org/en-US/docs/Web/API/Web_components.