Created
May 4, 2025 20:22
-
-
Save jfinstrom/b079fe473b77accf8bf659a9580322ef to your computer and use it in GitHub Desktop.
FreePBX Module.xml schema
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |
<!-- Root element: module --> | |
<xs:element name="module"> | |
<xs:complexType> | |
<xs:sequence> | |
<!-- Simple elements with string content --> | |
<xs:element name="rawname" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="repo" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="version" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="publisher" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="license" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="licenselink" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="canuninstall" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="candisable" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="category" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="more-info" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="modtype" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="authentication" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="location" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="md5sum" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="info" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="attention" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<!-- changelog element --> | |
<xs:element name="changelog" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<!-- Complex elements --> | |
<xs:element name="commercial" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="link" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="menuitems" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:any processContents="lax"/> | |
</xs:choice> | |
<xs:attribute name="needsenginedb" type="xs:string" use="optional"/> | |
<xs:attribute name="needsenginerunning" type="xs:string" use="optional"/> | |
<xs:attribute name="display" type="xs:string" use="optional"/> | |
<xs:attribute name="access" type="xs:string" use="optional"/> | |
<xs:attribute name="category" type="xs:string" use="optional"/> | |
<xs:attribute name="order" type="xs:string" use="optional"/> | |
<xs:attribute name="href" type="xs:string" use="optional"/> | |
<xs:attribute name="requires_auth" type="xs:string" use="optional"/> | |
<xs:attribute name="target" type="xs:string" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="depends" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="module" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute name="rawname" type="xs:string" use="optional"/> | |
<xs:attribute name="type" type="xs:string" use="optional"/> | |
<xs:attribute name="version" type="xs:string" use="optional"/> | |
<xs:attribute name="errormessage" type="xs:string" use="optional"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> | |
<xs:element name="phpversion" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="phpcomponent" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> | |
<xs:element name="engine" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="file" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="supported" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="version" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="database" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="table" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="field" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:attribute name="name" type="xs:string" use="required"/> | |
<xs:attribute name="type" type="xs:string" use="required"/> | |
<xs:attribute name="length" type="xs:integer" use="optional"/> | |
<xs:attribute name="primarykey" type="xs:string" use="optional"/> | |
<xs:attribute name="primaryKey" type="xs:string" use="optional"/> | |
<xs:attribute name="autoincrement" type="xs:string" use="optional"/> | |
<xs:attribute name="notnull" type="xs:string" use="optional"/> | |
<xs:attribute name="default" type="xs:string" use="optional"/> | |
<xs:attribute name="unsigned" type="xs:string" use="optional"/> | |
<xs:attribute name="precision" type="xs:integer" use="optional"/> | |
<xs:attribute name="scale" type="xs:integer" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="key" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="column" minOccurs="1" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:attribute name="name" type="xs:string" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute name="name" type="xs:string" use="required"/> | |
<xs:attribute name="type" type="xs:string" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute name="name" type="xs:string" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute name="name" type="xs:string" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="hooks" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="console" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="command" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="alias" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> | |
<xs:element name="class" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="popovers" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="breaking" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="module" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="rawname" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="version" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="errormessage" type="xs:string" minOccurs="1" maxOccurs="1"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="fileinclude" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="install" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="methods" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="get_config" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute name="pri" type="xs:string" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="bootstrap_hooks" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="pre_module_load" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="all_mods" type="xs:string" minOccurs="0" maxOccurs="1"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="oobe" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:attribute name="method" type="xs:string" use="required"/> | |
<xs:attribute name="priority" type="xs:integer" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="bugfix" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute name="id" type="xs:string" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:schema> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment