<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
-->
<filedef name="testdef">
<root>derived(1)</root>
<blocks>
<!--
-->
<text name="testtext">
<content>A piece of text.</content>
</text>
<!--
-->
<text name="testwrap">
<wrap>74</wrap>
<content>Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appears in all copies and that both the copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.</content>
</text>
<!--
-->
<stringmember name="teststringmember">
<membername>classname</membername>
</stringmember>
<!--
-->
<stringmember name="teststringmemberparent">
<location>parent()</location>
<membername>classname</membername>
</stringmember>
<!--
-->
<includes name="testincludes">
<language>C++</language>
<otherclasses>[foo]</otherclasses>
<otherincludes>[x.hpp]</otherincludes>
</includes>
<!--
-->
<forwards name="testlocalforwards">
<local/>
</forwards>
<!--
-->
<forwards name="testglobalforwards"/>
<!--
-->
<foreach name="foreachmembertest">
<vector>members</vector>
<blocks>
<stringmember name="membername">
<membername>name</membername>
</stringmember>
<typeimplfield name="cpptype">
<language>C++</language>
<field>typedecl</field>
</typeimplfield>
<text name="comma">
<conditions>
<islast>
<fail/>
</islast>
</conditions>
<content>,</content>
</text>
</blocks>
<structure>member(\cpptype, \membername)\comma</structure>
</foreach>
<!--
-->
<text name="testisabstract">
<conditions>
<isabstract>
<fail/>
</isabstract>
</conditions>
<content>not abstract</content>
</text>
<!--
-->
<text name="testvectorhasany">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<objecthasmemberequal>
<membername>type</membername>
<membervalue>objvector</membervalue>
</objecthasmemberequal>
</condition>
</vectorhasany>
</conditions>
<content>we have an objvector member</content>
</text>
<!--
-->
<text name="testisinlist">
<conditions>
<isinlist>
<membername>classname</membername>
<list>[foo,bar]</list>
</isinlist>
</conditions>
<content>class name is in the list</content>
</text>
<!--
-->
<foreachobject name="foreachobjecttest">
<location>root().schema.derived(1)</location>
<blocks>
<stringmember name="classname">
<membername>classname</membername>
</stringmember>
<stringmember name="objname">
<membername>name</membername>
</stringmember>
</blocks>
<structure>(\objname : \classname)</structure>
</foreachobject>
<!--
-->
<foreach name="foreachmethodtest">
<vector>methods</vector>
<blocks>
<stringmember name="methodname">
<membername>name</membername>
</stringmember>
<text name="comma">
<conditions>
<islast>
<fail/>
</islast>
</conditions>
<content>,</content>
</text>
</blocks>
<structure>\methodname\comma</structure>
</foreach>
<!--
-->
<overridemethods name="testoverridemethods"/>
<!--
-->
<text name="testobjecthasmemberequal">
<conditions>
<objecthasmemberequal>
<membername>classname</membername>
<membervalue>bar</membervalue>
</objecthasmemberequal>
</conditions>
<content>We have an object with classname bar</content>
</text>
<text name="testblock">
<content>4</content>
</text>
<!--
-->
<text name="testblockgreater">
<conditions>
<blockgreater>
<block>testblock</block>
<value>3</value>
</blockgreater>
</conditions>
<content>4 is greater than 3.</content>
</text>
<!--
-->
<date name="testdate">
<format>%Y</format>
</date>
<!--
-->
<text name="testlogical_or">
<conditions>
<logical_or>
<conditions>
<objecthasmemberequal>
<membername>classname</membername>
<membervalue>foo</membervalue>
</objecthasmemberequal>
<vectorhasany>
<vector>members</vector>
<condition>
<objecthasmemberequal>
<membername>type</membername>
<membervalue>objvector</membervalue>
</objecthasmemberequal>
</condition>
</vectorhasany>
</conditions>
</logical_or>
</conditions>
<content>We have an object with classname foo, or has an objvector</content>
</text>
<!--
-->
<text name="testlogical_and">
<conditions>
<logical_and>
<conditions>
<objecthasmemberequal>
<membername>classname</membername>
<membervalue>bar</membervalue>
</objecthasmemberequal>
<vectorhasany>
<vector>members</vector>
<condition>
<objecthasmemberequal>
<membername>type</membername>
<membervalue>objvector</membervalue>
</objecthasmemberequal>
</condition>
</vectorhasany>
</conditions>
</logical_and>
</conditions>
<content>We have an object with classname bar, and has an objvector</content>
</text>
<!--
-->
<namespace name="testnamespace_start">
<identifier>a:b:c</identifier>
<context>start</context>
</namespace>
<!--
-->
<namespace name="testnamespace_end">
<identifier>a:b:c</identifier>
<context>end</context>
</namespace>
<!--
-->
<namespace name="testnamespace_using">
<identifier>a:b:c</identifier>
<context>using</context>
</namespace>
<!--
-->
<forlist name="testforlist">
<list>[a,b,c,d]</list>
<blocks>
<text name="comma">
<conditions>
<islast>
<fail/>
</islast>
</conditions>
<content>,</content>
</text>
</blocks>
<structure>\item\comma </structure>
</forlist>
<!--
-->
<foreach name="testforlistmember">
<vector>constructors</vector>
<blocks>
<foreach name="impl">
<vector>implementations</vector>
<blocks>
<foreach name="init">
<vector>initialise</vector>
<blocks>
<forlist name="list">
<listmember>members</listmember>
<blocks>
<text name="comma">
<conditions>
<islast>
<fail/>
</islast>
</conditions>
<content>,</content>
</text>
</blocks>
<structure>\item\comma </structure>
</forlist>
</blocks>
<structure>\list</structure>
</foreach>
</blocks>
<structure>\init</structure>
</foreach>
</blocks>
<structure>\impl</structure>
</foreach>
<!--
-->
<text name="testblock">
<content>A block to appear.</content>
</text>
<text name="testembedtext">
<content>\testblock</content>
</text>
<!--
-->
<text name="testnoembedtext">
<content>\\testblock</content>
</text>
<!--
-->
<foreach name="testwebtangle">
<vector>methods</vector>
<blocks>
<stringmember name="methodname">
<membername>name</membername>
</stringmember>
<webtangle name="web">
<language>C++</language>
</webtangle>
</blocks>
<structure>\methodname: \web</structure>
</foreach>
</blocks>
<structure>
testtext: \testtext
testwrap with comment: \comment=on
\testwrap
\comment=off
testwrap without comment:
\testwrap
uppercase testtext: \uppercase=on\testtext\uppercase=off
teststringmember: \teststringmember
teststringmemberparent: \teststringmemberparent
testincludes: \testincludes
testlocalforwards: \testlocalforwards
testglobalforwards: \testglobalforwards
foreachmembertest: \foreachmembertest
testisabstract: \testisabstract
testvectorhasany: \testvectorhasany
testisinlist: \testisinlist
foreachobjecttest: \foreachobjecttest
testobjecthasmemberequal: \testobjecthasmemberequal
testblockgreater: \testblockgreater
testdate: \testdate
foreachmethodtest: \foreachmethodtest
testoverridemethods: \testoverridemethods
testlogical_or: \testlogical_or
testlogical_and: \testlogical_and
testnamespace_start: \testnamespace_start
testnamespace_end: \testnamespace_end
testnamespace_using: \testnamespace_using
testforlist: \testforlist
testforlistmember: \testforlistmember
testembedtext: \testembedtext
testnoembedtext: \testnoembedtext
testwebtangle: \testwebtangle
</structure>
</filedef>