The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
  <template-queries>
    <template name="UnknownTag" description="View all the employees with certain name" >
      <query name="UnknownTag" model="testmodel" view="Employee.name Employee.age">
	<unknown_tag>This should make it die</unknown tag>
        <node path="Employee" type="Employee">
        </node>
        <node path="Employee.name" type="String">
          <constraint op="=" value="" description="" identifier="Employee.name" editable="true" code="A">
          </constraint>
        </node>
      </query>
    </template>

    <template name="BadClass" description="View all the employees with certain name" >
      <query name="BadClass" model="testmodel" view="Employee.name Employee.age BadClass.here">
        <node path="Employee" type="Employee">
        </node>
        <node path="Employee.name" type="String">
          <constraint op="=" value="" description="" identifier="Employee.name" editable="true" code="A">
          </constraint>
        </node>
      </query>
    </template>

  <template-queries>
    <template name="BadAttribute" description="View all the employees with certain name" >
      <query name="BadAttribute" model="testmodel" view="Employee.name Employee.badAttr">
        <node path="Employee" type="Employee">
        </node>
        <node path="Employee.name" type="String">
          <constraint op="=" value="" description="" identifier="Employee.name" editable="true" code="A">
          </constraint>
        </node>
      </query>
    </template>

    <template name="MalFormedXML" description="View all the employees that work within a certain department of the specified company" >
      <query name="MalFormedXML" model="testmodel" view="Employee.name Employee.age" constraintLogic="A and B">
        <node path="Employee" type="Employee">
        </node><malformed xml
        <node path="Employee.department" type="Department">
        </node>
        <node path="Employee.department.company" type="Company">
        </node>
        <node path="Employee.department.company.name" type="String">
          <constraint op="=" value="CompanyA" description="" identifier="Company.name" editable="true" code="A">
          </constraint>
        </node>
        <node path="Employee.department.name" type="String">
          <constraint op="LIKE" value="Department*" description="" identifier="Department.name" editable="true" code="B">
          </constraint>
        </node>
      </query>
    </template>

    <template name="UnfinishedQuery" title="View all the employees of a certain age from a certain department" longDescription="" comment="" >
      <query name="UnfinishedQuery" model="testmodel" view="Employee.name Employee.age Employee.department.name" constraintLogic="A and B">
    </template>

    <template name="EmptyView" title="Convert employees to addresses" longDescription="" comment="" >
      <query name="EmptyView" model="testmodel" view="">
        <node path="Employee" type="Employee"/>
        <node path="Employee.id" type="Integer">
          <constraint op="=" value="0" description="id" identifier="" editable="true" code="A"/>
        </node>
        <node path="Employee.address.id" type="Integer"/>
      </query>
    </template>

    <template name="NoConstraints" title="Convert Employees to Managers" longDescription="" comment="" >
      <query name="NoConstraints" model="testmodel" view="Employee.id Employee.department.manager.id">
        <node path="Employee" type="Employee">
        </node>
        <node path="Employee.id" type="Integer">
        </node>
      </query>
    </template>


<template name="DescriptionAndTitle" title="Search for Managers" description="Use a LOOKUP constraint to search for Managers." comment="">
  <query name="DescriptionAndTitle" model="testmodel" view="Manager.name Manager.title">
    <node path="Manager" type="Manager">
      <constraint op="LOOKUP" value="Mr." description="" identifier="" editable="true" code="A">
      </constraint>
    </node>
  </query>
</template>

<template name="" title="No Name" longDescription="No Name" comment="">
  <query model="testmodel" view="Company.name Company.departments.name Company.departments.manager.name">
    <node path="Company.name" type="String">
      <constraint op="=" value="flibble" description="something" identifier="flibble" editable="true" code="A"/>
    </node>
    <node path="Company.departments.manager.name" type="String">
      <constraint op="=" value="flobble" description="simething" identifier="flobble" editable="true" code="B"/>
    </node>
  </query>
</template>


<template name="NamesDiffer" title="Inner join inside an outer join" longDescription="Inner inside outer" comment="">
  <query name="NamenUnterscheidenSich" model="testmodel" view="Company.name Company.departments.name Company.departments.manager.name">
    <node path="Company.name" type="String">
      <constraint op="=" value="flibble" description="something" identifier="flibble" editable="true" code="A"/>
    </node>
    <node path="Company.departments.manager.name" type="String">
      <constraint op="=" value="flobble" description="simething" identifier="flobble" editable="true" code="B"/>
    </node>
  </query>
</template>

 <template name="BadLogic" title="Convert employees to addresses" longDescription="" comment="" >
      <query name="BadLogic" model="testmodel" view="Employee.name Employee.age" sortOrder="Employee.age" constraintLogic="A and B">
        <node path="Employee" type="Employee"/>
        <node path="Employee.id" type="Integer">
          <constraint op="=" value="0" description="id" identifier="" editable="true" code="A"/>
        </node>
        <node path="Employee.address.id" type="Integer"/>
      </query>
    </template>

<template name="Inconsistent" title="Inconsistent paths" description="" comment="">
  <query name="Inconsistent" model="testmodel" view="Manager.name Manager.title">
    <constraint path="Employee.name" op="LOOKUP" value="Mr." description="" identifier="" editable="true" code="A" />
  </query>
</template>

<template name="BadEditableFlags" title="Bad Editable Flags" description="" comment="">
  <query name="BadEditableFlags" model="testmodel" view="Manager.name Manager.title">
    <constraint path="Manager.title" op="LOOKUP" value="Mr." description="" identifier="" editable="false" code="A" switchable="on"/>
    <constraint path="Manger.name" op="CONTAINS" value="Brian" />
  </query>
</template>