I have a beer with your name on it. Saying Thank You just is not good enough. I tried for an hour to hack out a solution. Now you have gotten me spoiled. I will study your solution and learn from it.
Good stuff Gary, I like beer
You're very welcome, and of course, if you have any questions about any part of the code, I would be happy to provide clarification
EDIT: Looking back at the code, a faster way to approach it might be to first collect an association list of attribute objects with their tag string, then 'assoc' from this list when updating and reading the attribute values.