The object model is pretty much spot on with respect to the XML. The only trouble is in accessing the nodes correctly. There is a method which handles this type of multiple instances with respect to properties and it is getElement(nodeName, instance)
To access properties like the edge colour use the following:
Thanks. As an aside, I had been curious what oneOfChild was useful for. It's cleaner than my use of nodes.item(0).
I would like to point out that there is an inconsistency with edge with respect to the inner and outer borders. For the outer border TextField.border.edge.color.value will set all four edges with no need to individually set each edge element.
Yes, IMO it is the inner border which is inconsistant. I think you should be able to just use edge and mean all fours edges like the outer border does.
The oneOfChild is used where you have a mutually exclusive group of objects which can act as a child of the current object. For example ui can only have 1 child, but it can be from a list of different objects (i.e. button, textEdit, chooseList, etc.). When you do not know what type of child ui object you wish to modify or don't care use the oneOfChild method.
I agree, the outer border is the preferred treatment of edge. Also, thanks for the explanation on oneOfChild.
BTW, your forum responses have really been very helpful. For a developer they're really much more on target than the kind of responses I had been getting from the Enterprise support help desk. I hope that some of the content of this forum will eventually make its way into the product documentation.