Topic: Extension DTD

Here's an extension DTD I created so every extension's 'manifest.xml' is valid.

<!--
    Created by Garciat (http://garciat.org/)
    Free for public use.
-->

<!ENTITY % opt.elems "((note|dependencies) | (note,dependencies) | (dependencies,note))?">

<!ELEMENT extension (id, title, version, description, author, minversion, maxtestedon,
                    (%opt.elems;, install), (%opt.elems;, uninstall),
                    (%opt.elems;, hooks, %opt.elems;))>
<!ATTLIST extension
 engine CDATA #REQUIRED>

<!ELEMENT id (#PCDATA)>

<!ELEMENT title (#PCDATA)>

<!ELEMENT version (#PCDATA)>

<!ELEMENT description (#PCDATA)>

<!ELEMENT author (#PCDATA)>

<!ELEMENT minversion (#PCDATA)>

<!ELEMENT maxtestedon (#PCDATA)>

<!ELEMENT note (#PCDATA)>
<!ATTLIST note
 type CDATA #REQUIRED
 timing CDATA #REQUIRED>
 
<!ELEMENT install (#PCDATA)>

<!ELEMENT uninstall (#PCDATA)>

<!ELEMENT dependencies (dependency+)>
<!ELEMENT dependency (#PCDATA)>

<!ELEMENT hooks (hook+)>
<!ELEMENT hook (#PCDATA)>
<!ATTLIST hook
 id CDATA #REQUIRED
 priority CDATA "5">

For the moment, you can't do anything with it, but if it gets uploaded to the site, you can add something like this to your 'manifest.xml' to make it valid:

<!DOCTYPE extension SYSTEM "http://punbb.informer.com/ext-1.0.dtd">

Re: Extension DTD

there is no dependencies wink

YonasH's repository + Extensions Directory = PunBB Extensions Online Library (in progress....)

Away. I will be back soon.

Re: Extension DTD

Fixed.