Difference between revisions of "XmlWiki"
(→More Specifically) |
(→More Specifically) |
||
Line 21: | Line 21: | ||
*[[xmlwiki.php|xmlWiki main script]] | *[[xmlwiki.php|xmlWiki main script]] | ||
*[[xwadmin.php|xmlWiki admin script]] | *[[xwadmin.php|xmlWiki admin script]] | ||
+ | *[[xwskin.php|xmlWiki skin-hook]] | ||
'''Templates & Transforms:''' | '''Templates & Transforms:''' |
Revision as of 23:41, 13 June 2005
File:Xmlwiki old.jpg Old logo: File:Xmlwiki wht.jpg
Contents
What is xmlWiki?
Articles in xmlWiki work just like the normal MediaWiki articles except, when their contents is xml. In this case it will be represented as a DOM object at runtime, and the content will be validated against any referenced DTD or xml-schema. If any XSLT's are referenced, xmlWiki will attempt to apply them to the article. If the XSLT-output-method is "html" then it will be reduced to a string.
How is it Installed?
It's three scripts (source below) which are in an "xmlwiki" directory in the main wiki folder. the hack is applied or removed by running the xmlwiki/index.php script. If xmlWiki is disabled then the security layer is also disabled, so the xmlwiki directory should be accessible only by admin.
How does it tie in with MediaWiki?
Two pseudo-namespaces have been added "xml" and "sys". These are both XML articles, and their contents affects the article they're associated with. Any sys:article is readable and writable only by users in the "admin" group.
- The sys:article holds security information: owner, read-groups, write-groups
- An xml:article is an XML article of docType "xmlwiki.dtd"
- The xml:article contains the transform-list, publish-list and base-class-list
More Specifically
It hooks itself into the MediaWiki index.php file in three places (the OUTPUT hook has been put back into index.php again! and the XML-skin isn't needed). The index.php hooks are INIT, which is called on entry to require_once it, and INPUT, which is called before the POST-data is processed for saving. The OUTPUT hook then builds the output as a DOM-object and transforms it with the users' (or default) XSLT-skin.
Current scripts:
Templates & Transforms:
- xmlwiki.xslt (not used yet - will build html-layout from XML-skin)
- xmlwiki.css
Wiki Objects available from OUTPUT-hook: