Well, I think this current structure calls out the fact that there is a one to one relationship with the name of the node and the contextual class that creates it. For example, for <applicationDirectory>, there is a class called Zend_Tool_Project_Structure_Context_Zf_ApplicationDirectory, which consequently extends Zend_Tool_Project_Structure_Context_Filesystem_Directory.
Moving forward, this project structure will be able to handle more than just filesystem artifacts, for example, database artifacts or perhaps information that might be required to know how to manage a Zend Search Index.
-ralph
I agree with Kevin on this. Something like this (maybe not this exactly) shows the relationships and is a whole lot easier to script against.
Also, the extension should be configurable. If I am on a shared host and need to use .php5, I should be able to do so.
Just to echo Matthew - the original schema seems too wordy. It would be a lot easier to manipulate using simpler naming with a reliance on attributes to drive properties like name, extension, type, etc. Even if you need to push out the mapping to classnames from your current setup, it would be worth the cost in exchange for a simpler schema...
ZF Home Page
Code Browser
Wiki Dashboard
I'm curious about the schema defintion for the .xml files. Wouldn't a single <directory name="...."> tag make a whole lot more sense? Similarly... <file> <link> etc.... ?