You have to devellop a little PHP5 application that will generate an XML file according to a given DTD containing some package informations (constants, exceptions, class pathes).
The application will have to browse recursively a given base path, and add all classes it finds to the xml file. (class files names are [login to view URL], you don't have to open files)
For constants and exceptions, 2 files, [login to view URL] and [login to view URL] can be found in the base path. Their content must be copied into the xml file at the right place (DTDs will be given).
The package configuration XML file will contain 3 more informations : packageName, basePrefix and generatedPrefix that will be filled in on the first page (in text fields), where the base path will also be requested.
Finally, we'll have the choice to write the XML file down to a file, or show it up on screen.
The application must follow the MVC rules and be OOP coded, so we can use it without its graphical interface.
Sample files will be given, with DTDs.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
4) Documented class files so we can use/extend it easily
## Platform
PHP5, recent web browser