FXML is an XML-based language that allows building a user interface and maintaining it independently (as far as look-and-feel is concerned or other presentation-related changes) of the application (business) logic. Using FXML, you can design a user interface without even writing a line of Java code.
FXML does not have a schema, but its capabilities reflect the API of the JavaFX objects used to build a scene. This means you can use the API documentation to understand what tags and attributes are allowed in the FXML structure. Most of the times, JavaFX classes can be used as tags and their properties as attributes.
In addition to the FXML file (the view), the controller (Java class) can be used for processing the model and organizing the page flow. The model consists of domain objects managed by the view and the controller. It also allows using all the power of CSS styling...