This module, both source code and documentation, is in the
Public Domain, and comes with NO WARRANTY.

This is not part of core-only SAX2 distributions.

The specified flag for each attribute will always
be true, unless it has been set to false in the copy constructor
or using setSpecified(int, boolean).
Similarly, the declared flag for each attribute will
always be false, except for defaulted attributes (specified
is false), non-CDATA attributes, or when it is set to true using
setDeclared(int, boolean).
If you change an attribute's type by hand, you may need to modify
its declared flag to match.

Attributes2Impl

Attributes2Impl

Copy an existing Attributes or Attributes2 object.
If the object implements Attributes2, values of the
specified and declared flags for each
attribute are copied.
Otherwise the flag values are defaulted to assume no DTD was used,
unless there is evidence to the contrary (such as attributes with
type other than CDATA, which must have been declared).

setAttributes

Copy an entire Attributes object. The "specified" flags are
assigned as true, and "declared" flags as false (except when
an attribute's type is not CDATA),
unless the object is an Attributes2 object.
In that case those flag values are all copied.