PhiML is a general-purpose semantic markup language. PhiML 1.0 was released in August 2007, with the first bugfix coming less than a week later. Unlike XML, PhiML is not derived from SGML and is therefore not burdened with the repetitive syntax typical of SGML languages. In fact, PhiML was specifically designed to address many of XML's shortcomings with the intention of creating a cleaner, more compact language. PhiML is licensed under the BSD License. This short, near-public domain license ensures that PhiML will not become encumbered by potential legal issues, and can safely be used in both open source and proprietary applications.
PhiML documents often have less than half the markup code of comparable XML documents. This is because the PhiML tag hierarchy does not require the full name of the close tag to be specified. As well-formedness is a requirement of both XML and PhiML, generic end tags can simply be matched to the last open tag. Another space-saving feature of the language is built-in list support. That means that similar items appearing one after the other do not need to have their opening and closing tags repeated for each item. Repetitive constructs such as parent-child relationships can be defined as reused, further reducing code volume. Additionally, PhiML also removes the distinction between regular data and metadata, treating them both in the same fashion. This makes parsing the document easier for computers, and makes document layout easier for programmers.
Although PhiML uses a more concise and less repetitive syntax than XML, actual code production can take longer than creating XML. This is because many of PhiML's shortcuts are obvious only after laying out the data. Additionally, machine-generated PhiML is unlikely to take advantage of shortcuts such as relationship definitions and list items. A technical consequence of PhiML's heavy reliance on both round and square brackets is that the programmer's hands must often move from the home row, and the right pinkie finger is over-stressed. PhiML code is less intuitive to glance over, requiring more effort by human reviewers looking at the code.
Acronyms Open Source Open_Source Programming Questions