Awww, now I'm blushing...

(Though I'm about to leave for the weekend, so don't take it personally if I don't respond further for a few days.)
I had overlooked the function parameter list within the other tags. That part of the data actually does seem better suited to a Vector, as with a hashtable you need some sort of unique key for each entry. You can make up some naming convention - e.g.
"FunctionName1" -> "param1"
"FunctionName2" -> "param2"
etc.
But you're spending addtional time and memory creating the strings for the keys. With a Vector, you can just use the index number:
Vector FunctionNameParams = new Vector();
FunctionNameParams.add("param1"); // index 0
FunctionNameParams.add("param2"); // index 1
etc.
So I gather all the other attributes are not part of the Vector, but just get stored in separate String variables? This works great as long as you know in advance what all the attribute names are, so you can make a variable for each. Storing and looking up the individual String variables via their own separate identifiers will be faster than storing and accessing through a hashtable I think. With a hashtable however, you could write something that just puts all attribute names and values in the hashtable, whether you've heard of them or not, and pass that hashtable off to other components. Your code need only look up the attributes it knows/cares about - others will still be there in the hashtable, and if you later discover a need for them, you can add the code to look them up at whatever point in the code seems most convenient, as long as it has access to the hashtable. And if you're dealing with something like XML that can define new attributes on the fly, this sort of flexibility would be necessary. But it will run slower than the non-hashtable version I think, so for a fixed list of attributes it sounds like the existing system is the way to go. Again, assuming I've understood the system.
[This message has been edited by Jim Yingst (edited March 31, 2000).]