Revert "Revert "Signed classes""

This reverts commit 3c9fb3c5230a5ba33f77f26f70fead6170681878.
Task 13. Not working with 5.xml yet.

Okay, now it’s time to eliminate some other shortcomings, particularly
the parser’s lack of support for attributes. Proceed to enhance your
parser so that it supports the following grammar, where Name is now one
or more letters, numbers, hyphens, periods, and underscores; CharData
can be zero or more characters excluding '<'; AttValue can be zero or
more characters excluding '<' and '"'; S is any character for which
java.lang.Character.isWhitespace returns true; * denotes zero or more
occurrences; and + denotes one or more occurrences.
element ::= STag content Etag
content ::= (element | CharData)*
STag ::= '<' Name (S+ Attribute)* S* '>' Attribute ::= Name Eq '"'
AttValue '"'
Eq ::= S* '=' S*
ETag ::= '<' '/' Name S* '>'