<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!--
// // See license.txt for license information. // // schema.xml // // 16-Aug-2003 phamilton Created //
-->

<object xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="urn:xmlliterate.schema" name="@root">
    <description>The absolute base for all objects. Objects which derived from this don't really derived from any other object.</description>
    <templates>
        <xi:include href="../../xml/typename/pathtype.xml"/>
        <xi:include href="../../xml/typename/timetype.xml"/>
        <xi:include href="../../xml/typename/streamptrtype.xml"/>
        <xi:include href="../../xml/typename/stringsetptrtype.xml"/>
        <xi:include href="../../xml/typename/schema_versiontype.xml"/>
    </templates>
    <typeimpls>
        <xi:include href="../../xml/typeimpl/cpp/voidtype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/inttype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/longtype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/doubletype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/booltype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/stringtype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/chartype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/enumtypename.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/pathtype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/timetype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/streamptrtype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/stringsetptrtype.xml"/>
        <xi:include href="../../xml/typeimpl/cpp/schema_versiontype.xml"/>
        <xi:include href="../../xml/typeimpl/java/voidtype.xml"/>
        <xi:include href="../../xml/typeimpl/java/inttype.xml"/>
        <xi:include href="../../xml/typeimpl/java/longtype.xml"/>
        <xi:include href="../../xml/typeimpl/java/doubletype.xml"/>
        <xi:include href="../../xml/typeimpl/java/booltype.xml"/>
        <xi:include href="../../xml/typeimpl/java/stringtype.xml"/>
        <xi:include href="../../xml/typeimpl/java/chartype.xml"/>
        <xi:include href="../../xml/typeimpl/java/enumtypename.xml"/>
        <xi:include href="../../xml/typeimpl/java/schema_versiontype.xml"/>
    </typeimpls>
    <derived>
        <object name="@xmlobj">
            <description>The base class in the xml object system.</description>
            <classname>xmlobj_type</classname>
            <include>../cppxmlobj/xmlobj.hpp</include>
            <imp>org.javaxmlobj.xmlobj_type</imp>
            <typeimpls>
                <xi:include href="../../xml/typeimpl/xmlobj/cpp/typedobjvectortype.xml"/>
                <xi:include href="../../xml/typeimpl/xmlobj/cpp/templatevectortype.xml"/>
                <xi:include href="../../xml/typeimpl/xmlobj/cpp/typedobjreftype.xml"/>
                <xi:include href="../../xml/typeimpl/xmlobj/java/typedobjvectortype.xml"/>
                <xi:include href="../../xml/typeimpl/xmlobj/java/templatevectortype.xml"/>
                <xi:include href="../../xml/typeimpl/xmlobj/java/typedobjreftype.xml"/>
            </typeimpls>
            <derived>
                <xi:include href="schema_obj.xml" name="@schemaobj"/>
            </derived>
        </object>
        <object name="@standalone">
            <derived>
                <xi:include href="../../xml/object/version.xml" name="schema_version">
                    <param name="namespace" value="ph:tools:schema"/>
                    <param name="classname" value="schema_version"/>
                </xi:include>
            </derived>
        </object>
    </derived>
    <fragment location="root().derived('@xmlobj').derived('@schemaobj').derived()">
        <xi:include href="schema_implementation.xml" name="@implementation"/>
        <xi:include href="schema_websection.xml" name="websection"/>
        <xi:include href="schema_webobj.xml" name="@webobj"/>
        <xi:include href="schema_include.xml" name="@include"/>
        <xi:include href="schema_namespaceentry.xml" name="namespaceentry"/>
        <xi:include href="schema_object.xml" name="object"/>
        <xi:include href="schema_enumeration.xml" name="enumeration"/>
        <xi:include href="schema_typename.xml" name="@typename"/>
        <xi:include href="schema_typeimpl.xml" name="typeimpl"/>
        <xi:include href="schema_method.xml" name="method"/>
        <xi:include href="schema_constructor.xml" name="constructor"/>
        <xi:include href="schema_destructor.xml" name="destructor"/>
        <xi:include href="schema_token.xml" name="token"/>
        <xi:include href="schema_constructinit.xml" name="@constructinit"/>
        <xi:include href="schema_test.xml" name="test"/>
        <xi:include href="schema_attribute.xml" name="attribute"/>
    </fragment>
    <fragment location="root().derived('@xmlobj').derived('@schemaobj').derived('@typename').derived()">
        <xi:include href="schema_voidtype.xml" name="voidtype"/>
        <xi:include href="schema_podtype.xml" name="@podtype"/>
    </fragment>
    <fragment location="root().derived('@xmlobj').derived('@schemaobj').derived('@typename').derived('compositetype').derived()">
        <xi:include href="schema_objreftype.xml" name="objreftype"/>
        <xi:include href="schema_objvectortype.xml" name="objvectortype"/>
    </fragment>
    <fragment location="root().derived('@xmlobj').derived('@schemaobj').derived('@typename').derived('templatetypename').derived()">
        <xi:include href="schema_typedcompositetype.xml" name="typedcompositetype"/>
    </fragment>
    <fragment location="root().derived('@xmlobj').derived('@schemaobj').derived('@implementation').derived()">
        <xi:include href="schema_web.xml" name="web"/>
    </fragment>
</object>