PreserveAttributes Attributes

The @PreserveAttributes attribute value contains a whitespace-delimited list of attribute qualified names identifying the expanded names of attributes that a markup producer suggests for preservation by markup editors.
Note: : An attribute cannot be preserved if it appears on a non-preserved ignored element.
In any qualified name in the list, the wildcard character “*” can replace the local name to indicate that all attributes in the namespace should be preserved.
Note: : An unprefixed local attribute cannot be identified by a @PreserveAttributes attribute value.

If a markup consumer encounters an ignored attribute whose expanded name matches the expanded name of an attribute identified in the @PreserveAttributes attribute value, the markup consumer shall consider that attribute to be a candidate for preservation, regardless of whether or not the attribute’s qualified name matches the qualified name specified in the @PreserveAttributes attribute value.

The @ProcessAttributes attribute value shall not reference any attribute name that does not belong to a namespace that is identified by the @Ignorable attribute of the same element.

The value of the @PreserveAttributes attribute can be an empty or blank string. When a markup consumer encounters such a value, it shall proceed as if the @PreserveAttributes attribute was not provided.