The style3d tag holds style information for the XSeen nodes. This tag does not add features, but consolidates definitions much like CSS styles do for HTML tags. A style3d tag contains the definition for a single attribute. It may appear anywhere with the XSeen node set, but must be declared before its definition is used. Individual style3d tags each define a rule set unless it is a child of a class3d tag. Then the class3d tag defines a rule set with multiple rules.
Other tags may reference a style3d node by referencing the style3d’s id attribute in the tag’s class3d attribute. class3d is a global XSeen attribute that is similar to HTML’s class attribute. Multiple id’s may be specified in a single class3d attribute value. Individual id’s are space separated. Values specified with a style3d tag are applied prior to any defined attributes for that particular tag.
If a style3d value changes during runtime, then that value is propagated through XSeen. All tags that match the criteria given by selector are notified that an input has changed. The target tag determines what needs to be done. Most of the time the target tag will change its state to correspond to the change in the style rule.
- property – The XSeen attribute that is being defined in this rule.
- value – The value of this property. This has the same value restrictions as the field specified in ‘property’. This value is applied at parse time.
- id – The HTML id of the node. This is used to label this rule so it can be referenced by other tags using the class3d attribute.
- selector – A DOM selector string that identifies tags that are notified of a change to an input value. Any legal value to the document.querySelectorAll method is allowed. If no value is present, then no tags are notified of the change. This value is only used during runtime. If this tag is a child of class3d, then this value is ignored.
Summary
style3d defines an XSeen style rule. This rule is used to provide custom values to all XSeen tags that reference this this tag’s id. After parsing is complete and the render loop has started, a change to this tag’s attributes is propagate to all XSeen tags that match the selector’s value.