Sylma is a XML programming language and a web components library written in PHP, it allows easy web developement with XML document organised in directory tree, then compiled into PHP script to insure best performances.
WARNING : There is actually no stable release. Please, contact main author for support
The main principles are :
- Edit all your site from a web interface
- Use one type of datas that need only one interface to be updated
Our choice has been naturally turned to XML, for his large implementation on the web and his good support on PHP.
Pre-Requested is an apache PHP Server with the following extensions enabled: DOM, XSLT, Rewrite, GD2 and the .htaccess use right. In major cases, only XSLT and Rewrite need to be explicitly activated.
To begin, you need the following file structure to run Sylma.
Additional recommanded modules like the XML Editor are not yet online, ask the author to get it.
* optional to run, but should be copied and adapted for a complete installation
+ (root) // any name - .htaccess - index.php - server-config.yml * // local server configuration + (protected) // resources within are protected by apache and calls are transfered to Sylma - .htaccess - index.eml - (sylma) // main library directory
- XML, Namespaces
- XPath 1.0
- XSLT 1.0 & EXSLT
- WIP W3C XML Schema 1.1 (structures & datatypes)
- MySQL relational DB
Actions are the beginning of all :
- First of all, an action can produce simple XML code (like HTML).
- Call others actions, for actions aggregation.
- Build PHP object and call their methods with controlled arguments
- Control arguments sent to the actions with Class or base type limitations
- Call other XML parser for customized element with own namespace.
- Use variables inside the actions
Security files and elements defines permissions on files or elements, with a group, an owner and a 3 numbers mode. Like a basic Unix system. The rights are applied in cascading.
Schemas can be used to generate tables, the CRUD and any view needed with form elements, js binding and many more.
DOM API for an easy use of basic DOM manipulation, including XPath and XSL.