
<task>
    <title>Creating Custom XML Element</title>
    <shortdesc>This documents describes how to create (or modify existing) XML element. </shortdesc>
    <taskbody>
        <prereq>You have DITA Storm editor installed and working.</prereq>
        <steps>
            <step>
                <cmd>Create new &lt;element...&gt; entry</cmd>
                <info>New elements along with all existing DITA XML elements are defined in DITAStorm/config/model.xml file. As part of this procedure you would be able to identify childs of element along with list of available attributes. For more information on model.xml see <xref href='model.xml'>corresponded section</xref>.</info>
            </step>
            <step>
                <cmd>Register with other elements</cmd>
                <info>Identify other elements which would contain new element and add it to the list of allowed elements in &lt;group allows='...'&gt;</info>
            </step>
            <step>
                <cmd>Specify how new element will be rendered.</cmd>
                <info>
                     You have two options now: 
                    <ol>
                        <li>
                             First, you can rely on DITA Storm to generate a default (outline-linke) representation of new element. To exercise this option use genericRenderer attribute of &lt;element...&gt;: 
                            <pre>&lt;element name='my' ... genericRenderer='true'&gt;... </pre>
                        </li>
                        <li> Second option is to use XSL rendering engine. To exersize this option modify DITAStorm/config/simple.xsl. As an alternative you can create your own XSL document and define rendering for your elements there. For details about available XSL rendering options see <xref href='xsl.xml'>corresponded section</xref>.</li>
                    </ol>
                </info>
            </step>
            <step>
                <cmd>Compile your changes.</cmd>
                <info> To make your changes to model.xml and XSL available to DITA Storm you would need to compile them. DITA Storm uses compilation to optimize editor performance and download time. </info>
            </step>
        </steps>
        <result>
             When all necessary steps performed you will be able to insert newly created element into XML, edit its attributes and store it along with containing XML document. 
            <p>Using XML customization options of DITA Storm you will also be able to build entire new XML structure. Here is an example of how it might look like: <xref href='_invoiceDemo.xml' outputclass='javascript'>Invoice Demo</xref>.</p>
        </result>
    </taskbody>
</task>
