changed regex for ID to allow period and -, as those are legit characters according to http://www.w3.org/TR/html401/types.html#type-name