This repository was archived by the owner on Jan 6, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
XML Documentation
Garkatron edited this page Jan 9, 2025
·
3 revisions
This document explains the XML schema for defining GUI elements in a library. The schema is designed to structure a graphical user interface with reusable components, layouts, and containers.
-
Namespace:
GUI-LIBRARY-HTML-SCHEMA -
Target Namespace:
GUI-LIBRARY-HTML-SCHEMA -
Root Element:
<root>
-
Purpose: Links external style files in
.yamlformat. -
Attributes:
-
src(string): Specifies the path to the style file.
-
- Purpose: Defines custom components by enclosing other elements within this tag.
-
Attributes (Inherited from
LogicalElement):-
src(string): Optional. -
name(string): Required. Name of the component.
-
-
Purpose: Used within
<component>tags to associate a module with a specific component. -
Attributes (Inherited from
LogicalElement):-
src(string): Optional. -
name(string): Required. Name of the module.
-
- Purpose: Acts as a container for modules.
-
Attributes (Inherited from
LogicalElement):-
src(string): Optional. -
name(string): Required. Name of the template.
-
-
Purpose: Invokes components by specifying the domain in the
componentattribute. - Example: main.bui.test | main (templates.name), bui (module.name), test (component.name)
-
Attributes:
-
component(string): Name of the component to call.
-
- Purpose: A reserved node for testing purposes. Only for developer use.
-
Attributes: Inherits all attributes from
BaseNode.
- Purpose: Defines a slot for child elements. Only works within container tags.
-
Attributes:
-
maxItemAmount(integer): Maximum number of items allowed in the slot. - Inherits from
BaseNode.
-
- Purpose: Represents an inventory system.
-
Attributes: Inherits from
BaseContainer.
- Purpose: Displays the entire player inventory without specifying individual slots.
-
Attributes: Inherits from
BaseContainer.
- Purpose: Represents a crafting table. The crafting logic needs to be implemented separately.
-
Attributes: Inherits from
BaseContainer.
- Purpose: Serves as a container for organizing slots.
-
Attributes: Inherits from
BaseContainer.
- Purpose: Used to create aesthetically pleasing layouts.
-
Attributes: Inherits from
BaseLayout.
- Purpose: Provides a scrollable layout.
-
Attributes:
-
maxScroll(string): Maximum scroll limit. -
minScroll(string): Minimum scroll limit.
-
- Purpose: Displays text in the GUI.
-
Attributes:
-
maxTextLength(unsignedInt): Maximum number of characters allowed in the text.
-
- Purpose: Displays a progress bar.
-
Attributes: Inherits from
BasicNode.
- Purpose: Represents a clickable button.
-
Attributes: Inherits from
BaseNode.
- Purpose: A dynamic element that can be dragged.
-
Attributes: Inherits from
BaseNode.
- Purpose: Displays an image in the GUI.
-
Attributes:
-
id(string): Identifier for the image. -
group(string): Group to which the image belongs. -
src(string): Path to the image file.
-
- Purpose: The root element of the schema. It can include various elements or definitions.
-
Attributes:
-
version(string): The version of the schema. Allowed value:1.0.
-
-
Attributes:
-
src(string): Optional. -
name(string): Required. Name of the logical element.
-
-
Attributes:
-
id(string): Node identifier. -
group(string): Group to which the node belongs.
-
-
Inheritance: Extends
BasicNode. - Allows: Any element from the schema namespace.
-
Inheritance: Extends
BaseNode. -
Allows:
<slot>elements.
-
Inheritance: Extends
BaseNode. -
Attributes:
-
direction(string): Specifies layout direction. Allowed values:verticalhorizontal
-