summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/typesystem/color.oxm487
-rw-r--r--src/core/model/Document.cpp14
-rw-r--r--src/core/model/Document.hpp10
-rw-r--r--src/core/model/Domain.cpp14
-rw-r--r--src/core/model/Domain.hpp8
-rw-r--r--src/core/model/Project.cpp18
-rw-r--r--src/core/model/Project.hpp11
-rw-r--r--src/core/model/RootNode.cpp10
-rw-r--r--src/core/model/RootNode.hpp21
-rw-r--r--src/core/model/Typesystem.cpp14
-rw-r--r--src/core/model/Typesystem.hpp8
-rw-r--r--src/core/resource/ResourceRequest.cpp14
-rw-r--r--src/plugins/xml/XmlParser.cpp4
-rw-r--r--test/plugins/xml/XmlParserTest.cpp1
-rw-r--r--testdata/xmlparser/color.oxm18
-rw-r--r--testdata/xmlparser/generic.oxm11
16 files changed, 372 insertions, 291 deletions
diff --git a/data/typesystem/color.oxm b/data/typesystem/color.oxm
index 27e9471..f9eb53a 100644
--- a/data/typesystem/color.oxm
+++ b/data/typesystem/color.oxm
@@ -1,248 +1,245 @@
<?xml version="1.0" standalone="yes"?>
<typesystem name="color">
- <types>
- <struct name="color">
- <field name="r" type="int"/>
- <field name="g" type="int"/>
- <field name="b" type="int"/>
- </struct>
- </types>
- <constants>
- <constant name="aquamarine1" type="color" value="[127,255,212]"/>
- <constant name="aquamarine2" type="color" value="[118,238,198]"/>
- <constant name="aquamarine3" type="color" value="[102,205,170]"/>
- <constant name="aquamarine" type="color" value="[127,255,212]"/>
- <constant name="azure1" type="color" value="[240,255,255]"/>
- <constant name="azure2" type="color" value="[224,238,238]"/>
- <constant name="azure3" type="color" value="[193,205,205]"/>
- <constant name="azure4" type="color" value="[131,139,139]"/>
- <constant name="azure" type="color" value="[240,255,255]"/>
- <constant name="beige" type="color" value="[245,245,220]"/>
- <constant name="bisque1" type="color" value="[255,228,196]"/>
- <constant name="bisque2" type="color" value="[238,213,183]"/>
- <constant name="bisque3" type="color" value="[205,183,158]"/>
- <constant name="bisque4" type="color" value="[139,125,107]"/>
- <constant name="bisque" type="color" value="[255,228,196]"/>
- <constant name="brown" type="color" value="[165,42,42]"/>
- <constant name="burlywood1" type="color" value="[255,211,155]"/>
- <constant name="burlywood2" type="color" value="[238,197,145]"/>
- <constant name="burlywood3" type="color" value="[205,170,125]"/>
- <constant name="burlywood" type="color" value="[222,184,135]"/>
- <constant name="chartreuse" type="color" value="[127,255,0]"/>
- <constant name="chocolate" type="color" value="[210,105,30]"/>
- <constant name="coral" type="color" value="[255,127,80]"/>
- <constant name="cornsilk1" type="color" value="[255,248,220]"/>
- <constant name="cornsilk2" type="color" value="[238,232,205]"/>
- <constant name="cornsilk3" type="color" value="[205,200,177]"/>
- <constant name="cornsilk4" type="color" value="[139,136,120]"/>
- <constant name="cornsilk" type="color" value="[255,248,220]"/>
- <constant name="crimson" type="color" value="[220,20,60]"/>
- <constant name="firebrick" type="color" value="[178,34,34]"/>
- <constant name="fuchsia" type="color" value="[255,0,255]"/>
- <constant name="gainsboro" type="color" value="[220,220,220]"/>
- <constant name="goldenrod" type="color" value="[218,165,32]"/>
- <constant name="gold" type="color" value="[255,215,0]"/>
- <constant name="gray100" type="color" value="[255,255,255]"/>
- <constant name="gray40" type="color" value="[102,102,102]"/>
- <constant name="gray41" type="color" value="[105,105,105]"/>
- <constant name="gray42" type="color" value="[107,107,107]"/>
- <constant name="gray43" type="color" value="[110,110,110]"/>
- <constant name="gray44" type="color" value="[112,112,112]"/>
- <constant name="gray45" type="color" value="[115,115,115]"/>
- <constant name="gray46" type="color" value="[117,117,117]"/>
- <constant name="gray47" type="color" value="[120,120,120]"/>
- <constant name="gray48" type="color" value="[122,122,122]"/>
- <constant name="gray49" type="color" value="[125,125,125]"/>
- <constant name="gray50" type="color" value="[127,127,127]"/>
- <constant name="gray51" type="color" value="[130,130,130]"/>
- <constant name="gray52" type="color" value="[133,133,133]"/>
- <constant name="gray53" type="color" value="[135,135,135]"/>
- <constant name="gray54" type="color" value="[138,138,138]"/>
- <constant name="gray55" type="color" value="[140,140,140]"/>
- <constant name="gray56" type="color" value="[143,143,143]"/>
- <constant name="gray57" type="color" value="[145,145,145]"/>
- <constant name="gray58" type="color" value="[148,148,148]"/>
- <constant name="gray59" type="color" value="[150,150,150]"/>
- <constant name="gray60" type="color" value="[153,153,153]"/>
- <constant name="gray61" type="color" value="[156,156,156]"/>
- <constant name="gray62" type="color" value="[158,158,158]"/>
- <constant name="gray63" type="color" value="[161,161,161]"/>
- <constant name="gray64" type="color" value="[163,163,163]"/>
- <constant name="gray65" type="color" value="[166,166,166]"/>
- <constant name="gray66" type="color" value="[168,168,168]"/>
- <constant name="gray67" type="color" value="[171,171,171]"/>
- <constant name="gray68" type="color" value="[173,173,173]"/>
- <constant name="gray69" type="color" value="[176,176,176]"/>
- <constant name="gray70" type="color" value="[179,179,179]"/>
- <constant name="gray71" type="color" value="[181,181,181]"/>
- <constant name="gray72" type="color" value="[184,184,184]"/>
- <constant name="gray73" type="color" value="[186,186,186]"/>
- <constant name="gray74" type="color" value="[189,189,189]"/>
- <constant name="gray75" type="color" value="[191,191,191]"/>
- <constant name="gray76" type="color" value="[194,194,194]"/>
- <constant name="gray77" type="color" value="[196,196,196]"/>
- <constant name="gray78" type="color" value="[199,199,199]"/>
- <constant name="gray79" type="color" value="[201,201,201]"/>
- <constant name="gray80" type="color" value="[204,204,204]"/>
- <constant name="gray81" type="color" value="[207,207,207]"/>
- <constant name="gray82" type="color" value="[209,209,209]"/>
- <constant name="gray83" type="color" value="[212,212,212]"/>
- <constant name="gray84" type="color" value="[214,214,214]"/>
- <constant name="gray85" type="color" value="[217,217,217]"/>
- <constant name="gray86" type="color" value="[219,219,219]"/>
- <constant name="gray87" type="color" value="[222,222,222]"/>
- <constant name="gray88" type="color" value="[224,224,224]"/>
- <constant name="gray89" type="color" value="[227,227,227]"/>
- <constant name="gray90" type="color" value="[229,229,229]"/>
- <constant name="gray91" type="color" value="[232,232,232]"/>
- <constant name="gray92" type="color" value="[235,235,235]"/>
- <constant name="gray93" type="color" value="[237,237,237]"/>
- <constant name="gray94" type="color" value="[240,240,240]"/>
- <constant name="gray95" type="color" value="[242,242,242]"/>
- <constant name="gray96" type="color" value="[245,245,245]"/>
- <constant name="gray97" type="color" value="[247,247,247]"/>
- <constant name="gray98" type="color" value="[250,250,250]"/>
- <constant name="gray99" type="color" value="[252,252,252]"/>
- <constant name="gray" type="color" value="[190,190,190]"/>
- <constant name="grey100" type="color" value="[255,255,255]"/>
- <constant name="grey40" type="color" value="[102,102,102]"/>
- <constant name="grey41" type="color" value="[105,105,105]"/>
- <constant name="grey42" type="color" value="[107,107,107]"/>
- <constant name="grey43" type="color" value="[110,110,110]"/>
- <constant name="grey44" type="color" value="[112,112,112]"/>
- <constant name="grey45" type="color" value="[115,115,115]"/>
- <constant name="grey46" type="color" value="[117,117,117]"/>
- <constant name="grey47" type="color" value="[120,120,120]"/>
- <constant name="grey48" type="color" value="[122,122,122]"/>
- <constant name="grey49" type="color" value="[125,125,125]"/>
- <constant name="grey50" type="color" value="[127,127,127]"/>
- <constant name="grey51" type="color" value="[130,130,130]"/>
- <constant name="grey52" type="color" value="[133,133,133]"/>
- <constant name="grey53" type="color" value="[135,135,135]"/>
- <constant name="grey54" type="color" value="[138,138,138]"/>
- <constant name="grey55" type="color" value="[140,140,140]"/>
- <constant name="grey56" type="color" value="[143,143,143]"/>
- <constant name="grey57" type="color" value="[145,145,145]"/>
- <constant name="grey58" type="color" value="[148,148,148]"/>
- <constant name="grey59" type="color" value="[150,150,150]"/>
- <constant name="grey60" type="color" value="[153,153,153]"/>
- <constant name="grey61" type="color" value="[156,156,156]"/>
- <constant name="grey62" type="color" value="[158,158,158]"/>
- <constant name="grey63" type="color" value="[161,161,161]"/>
- <constant name="grey64" type="color" value="[163,163,163]"/>
- <constant name="grey65" type="color" value="[166,166,166]"/>
- <constant name="grey66" type="color" value="[168,168,168]"/>
- <constant name="grey67" type="color" value="[171,171,171]"/>
- <constant name="grey68" type="color" value="[173,173,173]"/>
- <constant name="grey69" type="color" value="[176,176,176]"/>
- <constant name="grey70" type="color" value="[179,179,179]"/>
- <constant name="grey71" type="color" value="[181,181,181]"/>
- <constant name="grey72" type="color" value="[184,184,184]"/>
- <constant name="grey73" type="color" value="[186,186,186]"/>
- <constant name="grey74" type="color" value="[189,189,189]"/>
- <constant name="grey75" type="color" value="[191,191,191]"/>
- <constant name="grey76" type="color" value="[194,194,194]"/>
- <constant name="grey77" type="color" value="[196,196,196]"/>
- <constant name="grey78" type="color" value="[199,199,199]"/>
- <constant name="grey79" type="color" value="[201,201,201]"/>
- <constant name="grey80" type="color" value="[204,204,204]"/>
- <constant name="grey81" type="color" value="[207,207,207]"/>
- <constant name="grey82" type="color" value="[209,209,209]"/>
- <constant name="grey83" type="color" value="[212,212,212]"/>
- <constant name="grey84" type="color" value="[214,214,214]"/>
- <constant name="grey85" type="color" value="[217,217,217]"/>
- <constant name="grey86" type="color" value="[219,219,219]"/>
- <constant name="grey87" type="color" value="[222,222,222]"/>
- <constant name="grey88" type="color" value="[224,224,224]"/>
- <constant name="grey89" type="color" value="[227,227,227]"/>
- <constant name="grey90" type="color" value="[229,229,229]"/>
- <constant name="grey91" type="color" value="[232,232,232]"/>
- <constant name="grey92" type="color" value="[235,235,235]"/>
- <constant name="grey93" type="color" value="[237,237,237]"/>
- <constant name="grey94" type="color" value="[240,240,240]"/>
- <constant name="grey95" type="color" value="[242,242,242]"/>
- <constant name="grey96" type="color" value="[245,245,245]"/>
- <constant name="grey97" type="color" value="[247,247,247]"/>
- <constant name="grey98" type="color" value="[250,250,250]"/>
- <constant name="grey99" type="color" value="[252,252,252]"/>
- <constant name="grey" type="color" value="[190,190,190]"/>
- <constant name="honeydew1" type="color" value="[240,255,240]"/>
- <constant name="honeydew2" type="color" value="[224,238,224]"/>
- <constant name="honeydew3" type="color" value="[193,205,193]"/>
- <constant name="honeydew4" type="color" value="[131,139,131]"/>
- <constant name="honeydew" type="color" value="[240,255,240]"/>
- <constant name="ivory1" type="color" value="[255,255,240]"/>
- <constant name="ivory2" type="color" value="[238,238,224]"/>
- <constant name="ivory3" type="color" value="[205,205,193]"/>
- <constant name="ivory4" type="color" value="[139,139,131]"/>
- <constant name="ivory" type="color" value="[255,255,240]"/>
- <constant name="khaki1" type="color" value="[255,246,143]"/>
- <constant name="khaki2" type="color" value="[238,230,133]"/>
- <constant name="khaki3" type="color" value="[205,198,115]"/>
- <constant name="khaki" type="color" value="[240,230,140]"/>
- <constant name="lavender" type="color" value="[230,230,250]"/>
- <constant name="linen" type="color" value="[250,240,230]"/>
- <constant name="magenta1" type="color" value="[255,0,255]"/>
- <constant name="magenta2" type="color" value="[238,0,238]"/>
- <constant name="magenta3" type="color" value="[205,0,205]"/>
- <constant name="magenta4" type="color" value="[139,0,139]"/>
- <constant name="magenta" type="color" value="[255,0,255]"/>
- <constant name="maroon1" type="color" value="[255,52,179]"/>
- <constant name="maroon2" type="color" value="[238,48,167]"/>
- <constant name="maroon3" type="color" value="[205,41,144]"/>
- <constant name="maroon" type="color" value="[176,48,96]"/>
- <constant name="moccasin" type="color" value="[255,228,181]"/>
- <constant name="olive" type="color" value="[128,128,0]"/>
- <constant name="orange" type="color" value="[255,165,0]"/>
- <constant name="orchid1" type="color" value="[255,131,250]"/>
- <constant name="orchid2" type="color" value="[238,122,233]"/>
- <constant name="orchid3" type="color" value="[205,105,201]"/>
- <constant name="orchid4" type="color" value="[139,71,137]"/>
- <constant name="orchid" type="color" value="[218,112,214]"/>
- <constant name="peru" type="color" value="[205,133,63]"/>
- <constant name="pink1" type="color" value="[255,181,197]"/>
- <constant name="pink2" type="color" value="[238,169,184]"/>
- <constant name="pink3" type="color" value="[205,145,158]"/>
- <constant name="pink4" type="color" value="[139,99,108]"/>
- <constant name="pink" type="color" value="[255,192,203]"/>
- <constant name="plum1" type="color" value="[255,187,255]"/>
- <constant name="plum2" type="color" value="[238,174,238]"/>
- <constant name="plum3" type="color" value="[205,150,205]"/>
- <constant name="plum4" type="color" value="[139,102,139]"/>
- <constant name="plum" type="color" value="[221,160,221]"/>
- <constant name="purple1" type="color" value="[155,48,255]"/>
- <constant name="purple2" type="color" value="[145,44,238]"/>
- <constant name="purple3" type="color" value="[125,38,205]"/>
- <constant name="purple" type="color" value="[160,32,240]"/>
- <constant name="red" type="color" value="[255,0,0]"/>
- <constant name="salmon1" type="color" value="[255,140,105]"/>
- <constant name="salmon" type="color" value="[250,128,114]"/>
- <constant name="seashell1" type="color" value="[255,245,238]"/>
- <constant name="seashell2" type="color" value="[238,229,222]"/>
- <constant name="seashell3" type="color" value="[205,197,191]"/>
- <constant name="seashell4" type="color" value="[139,134,130]"/>
- <constant name="seashell" type="color" value="[255,245,238]"/>
- <constant name="sienna" type="color" value="[160,82,45]"/>
- <constant name="silver" type="color" value="[192,192,192]"/>
- <constant name="snow1" type="color" value="[255,250,250]"/>
- <constant name="snow2" type="color" value="[238,233,233]"/>
- <constant name="snow3" type="color" value="[205,201,201]"/>
- <constant name="snow4" type="color" value="[139,137,137]"/>
- <constant name="snow" type="color" value="[255,250,250]"/>
- <constant name="tan" type="color" value="[210,180,140]"/>
- <constant name="thistle1" type="color" value="[255,225,255]"/>
- <constant name="thistle2" type="color" value="[238,210,238]"/>
- <constant name="thistle3" type="color" value="[205,181,205]"/>
- <constant name="thistle4" type="color" value="[139,123,139]"/>
- <constant name="thistle" type="color" value="[216,191,216]"/>
- <constant name="tomato" type="color" value="[255,99,71]"/>
- <constant name="violet" type="color" value="[238,130,238]"/>
- <constant name="wheat1" type="color" value="[255,231,186]"/>
- <constant name="wheat2" type="color" value="[238,216,174]"/>
- <constant name="wheat3" type="color" value="[205,186,150]"/>
- <constant name="wheat4" type="color" value="[139,126,102]"/>
- <constant name="wheat" type="color" value="[245,222,179]"/>
- <constant name="white" type="color" value="[255,255,255]"/>
- <constant name="yellow" type="color" value="[255,255,0]"/>
- </constants>
+ <struct name="color">
+ <field name="r" type="int"/>
+ <field name="g" type="int"/>
+ <field name="b" type="int"/>
+ </struct>
+
+ <constant name="aquamarine1" type="color" value="[127,255,212]"/>
+ <constant name="aquamarine2" type="color" value="[118,238,198]"/>
+ <constant name="aquamarine3" type="color" value="[102,205,170]"/>
+ <constant name="aquamarine" type="color" value="[127,255,212]"/>
+ <constant name="azure1" type="color" value="[240,255,255]"/>
+ <constant name="azure2" type="color" value="[224,238,238]"/>
+ <constant name="azure3" type="color" value="[193,205,205]"/>
+ <constant name="azure4" type="color" value="[131,139,139]"/>
+ <constant name="azure" type="color" value="[240,255,255]"/>
+ <constant name="beige" type="color" value="[245,245,220]"/>
+ <constant name="bisque1" type="color" value="[255,228,196]"/>
+ <constant name="bisque2" type="color" value="[238,213,183]"/>
+ <constant name="bisque3" type="color" value="[205,183,158]"/>
+ <constant name="bisque4" type="color" value="[139,125,107]"/>
+ <constant name="bisque" type="color" value="[255,228,196]"/>
+ <constant name="brown" type="color" value="[165,42,42]"/>
+ <constant name="burlywood1" type="color" value="[255,211,155]"/>
+ <constant name="burlywood2" type="color" value="[238,197,145]"/>
+ <constant name="burlywood3" type="color" value="[205,170,125]"/>
+ <constant name="burlywood" type="color" value="[222,184,135]"/>
+ <constant name="chartreuse" type="color" value="[127,255,0]"/>
+ <constant name="chocolate" type="color" value="[210,105,30]"/>
+ <constant name="coral" type="color" value="[255,127,80]"/>
+ <constant name="cornsilk1" type="color" value="[255,248,220]"/>
+ <constant name="cornsilk2" type="color" value="[238,232,205]"/>
+ <constant name="cornsilk3" type="color" value="[205,200,177]"/>
+ <constant name="cornsilk4" type="color" value="[139,136,120]"/>
+ <constant name="cornsilk" type="color" value="[255,248,220]"/>
+ <constant name="crimson" type="color" value="[220,20,60]"/>
+ <constant name="firebrick" type="color" value="[178,34,34]"/>
+ <constant name="fuchsia" type="color" value="[255,0,255]"/>
+ <constant name="gainsboro" type="color" value="[220,220,220]"/>
+ <constant name="goldenrod" type="color" value="[218,165,32]"/>
+ <constant name="gold" type="color" value="[255,215,0]"/>
+ <constant name="gray100" type="color" value="[255,255,255]"/>
+ <constant name="gray40" type="color" value="[102,102,102]"/>
+ <constant name="gray41" type="color" value="[105,105,105]"/>
+ <constant name="gray42" type="color" value="[107,107,107]"/>
+ <constant name="gray43" type="color" value="[110,110,110]"/>
+ <constant name="gray44" type="color" value="[112,112,112]"/>
+ <constant name="gray45" type="color" value="[115,115,115]"/>
+ <constant name="gray46" type="color" value="[117,117,117]"/>
+ <constant name="gray47" type="color" value="[120,120,120]"/>
+ <constant name="gray48" type="color" value="[122,122,122]"/>
+ <constant name="gray49" type="color" value="[125,125,125]"/>
+ <constant name="gray50" type="color" value="[127,127,127]"/>
+ <constant name="gray51" type="color" value="[130,130,130]"/>
+ <constant name="gray52" type="color" value="[133,133,133]"/>
+ <constant name="gray53" type="color" value="[135,135,135]"/>
+ <constant name="gray54" type="color" value="[138,138,138]"/>
+ <constant name="gray55" type="color" value="[140,140,140]"/>
+ <constant name="gray56" type="color" value="[143,143,143]"/>
+ <constant name="gray57" type="color" value="[145,145,145]"/>
+ <constant name="gray58" type="color" value="[148,148,148]"/>
+ <constant name="gray59" type="color" value="[150,150,150]"/>
+ <constant name="gray60" type="color" value="[153,153,153]"/>
+ <constant name="gray61" type="color" value="[156,156,156]"/>
+ <constant name="gray62" type="color" value="[158,158,158]"/>
+ <constant name="gray63" type="color" value="[161,161,161]"/>
+ <constant name="gray64" type="color" value="[163,163,163]"/>
+ <constant name="gray65" type="color" value="[166,166,166]"/>
+ <constant name="gray66" type="color" value="[168,168,168]"/>
+ <constant name="gray67" type="color" value="[171,171,171]"/>
+ <constant name="gray68" type="color" value="[173,173,173]"/>
+ <constant name="gray69" type="color" value="[176,176,176]"/>
+ <constant name="gray70" type="color" value="[179,179,179]"/>
+ <constant name="gray71" type="color" value="[181,181,181]"/>
+ <constant name="gray72" type="color" value="[184,184,184]"/>
+ <constant name="gray73" type="color" value="[186,186,186]"/>
+ <constant name="gray74" type="color" value="[189,189,189]"/>
+ <constant name="gray75" type="color" value="[191,191,191]"/>
+ <constant name="gray76" type="color" value="[194,194,194]"/>
+ <constant name="gray77" type="color" value="[196,196,196]"/>
+ <constant name="gray78" type="color" value="[199,199,199]"/>
+ <constant name="gray79" type="color" value="[201,201,201]"/>
+ <constant name="gray80" type="color" value="[204,204,204]"/>
+ <constant name="gray81" type="color" value="[207,207,207]"/>
+ <constant name="gray82" type="color" value="[209,209,209]"/>
+ <constant name="gray83" type="color" value="[212,212,212]"/>
+ <constant name="gray84" type="color" value="[214,214,214]"/>
+ <constant name="gray85" type="color" value="[217,217,217]"/>
+ <constant name="gray86" type="color" value="[219,219,219]"/>
+ <constant name="gray87" type="color" value="[222,222,222]"/>
+ <constant name="gray88" type="color" value="[224,224,224]"/>
+ <constant name="gray89" type="color" value="[227,227,227]"/>
+ <constant name="gray90" type="color" value="[229,229,229]"/>
+ <constant name="gray91" type="color" value="[232,232,232]"/>
+ <constant name="gray92" type="color" value="[235,235,235]"/>
+ <constant name="gray93" type="color" value="[237,237,237]"/>
+ <constant name="gray94" type="color" value="[240,240,240]"/>
+ <constant name="gray95" type="color" value="[242,242,242]"/>
+ <constant name="gray96" type="color" value="[245,245,245]"/>
+ <constant name="gray97" type="color" value="[247,247,247]"/>
+ <constant name="gray98" type="color" value="[250,250,250]"/>
+ <constant name="gray99" type="color" value="[252,252,252]"/>
+ <constant name="gray" type="color" value="[190,190,190]"/>
+ <constant name="grey100" type="color" value="[255,255,255]"/>
+ <constant name="grey40" type="color" value="[102,102,102]"/>
+ <constant name="grey41" type="color" value="[105,105,105]"/>
+ <constant name="grey42" type="color" value="[107,107,107]"/>
+ <constant name="grey43" type="color" value="[110,110,110]"/>
+ <constant name="grey44" type="color" value="[112,112,112]"/>
+ <constant name="grey45" type="color" value="[115,115,115]"/>
+ <constant name="grey46" type="color" value="[117,117,117]"/>
+ <constant name="grey47" type="color" value="[120,120,120]"/>
+ <constant name="grey48" type="color" value="[122,122,122]"/>
+ <constant name="grey49" type="color" value="[125,125,125]"/>
+ <constant name="grey50" type="color" value="[127,127,127]"/>
+ <constant name="grey51" type="color" value="[130,130,130]"/>
+ <constant name="grey52" type="color" value="[133,133,133]"/>
+ <constant name="grey53" type="color" value="[135,135,135]"/>
+ <constant name="grey54" type="color" value="[138,138,138]"/>
+ <constant name="grey55" type="color" value="[140,140,140]"/>
+ <constant name="grey56" type="color" value="[143,143,143]"/>
+ <constant name="grey57" type="color" value="[145,145,145]"/>
+ <constant name="grey58" type="color" value="[148,148,148]"/>
+ <constant name="grey59" type="color" value="[150,150,150]"/>
+ <constant name="grey60" type="color" value="[153,153,153]"/>
+ <constant name="grey61" type="color" value="[156,156,156]"/>
+ <constant name="grey62" type="color" value="[158,158,158]"/>
+ <constant name="grey63" type="color" value="[161,161,161]"/>
+ <constant name="grey64" type="color" value="[163,163,163]"/>
+ <constant name="grey65" type="color" value="[166,166,166]"/>
+ <constant name="grey66" type="color" value="[168,168,168]"/>
+ <constant name="grey67" type="color" value="[171,171,171]"/>
+ <constant name="grey68" type="color" value="[173,173,173]"/>
+ <constant name="grey69" type="color" value="[176,176,176]"/>
+ <constant name="grey70" type="color" value="[179,179,179]"/>
+ <constant name="grey71" type="color" value="[181,181,181]"/>
+ <constant name="grey72" type="color" value="[184,184,184]"/>
+ <constant name="grey73" type="color" value="[186,186,186]"/>
+ <constant name="grey74" type="color" value="[189,189,189]"/>
+ <constant name="grey75" type="color" value="[191,191,191]"/>
+ <constant name="grey76" type="color" value="[194,194,194]"/>
+ <constant name="grey77" type="color" value="[196,196,196]"/>
+ <constant name="grey78" type="color" value="[199,199,199]"/>
+ <constant name="grey79" type="color" value="[201,201,201]"/>
+ <constant name="grey80" type="color" value="[204,204,204]"/>
+ <constant name="grey81" type="color" value="[207,207,207]"/>
+ <constant name="grey82" type="color" value="[209,209,209]"/>
+ <constant name="grey83" type="color" value="[212,212,212]"/>
+ <constant name="grey84" type="color" value="[214,214,214]"/>
+ <constant name="grey85" type="color" value="[217,217,217]"/>
+ <constant name="grey86" type="color" value="[219,219,219]"/>
+ <constant name="grey87" type="color" value="[222,222,222]"/>
+ <constant name="grey88" type="color" value="[224,224,224]"/>
+ <constant name="grey89" type="color" value="[227,227,227]"/>
+ <constant name="grey90" type="color" value="[229,229,229]"/>
+ <constant name="grey91" type="color" value="[232,232,232]"/>
+ <constant name="grey92" type="color" value="[235,235,235]"/>
+ <constant name="grey93" type="color" value="[237,237,237]"/>
+ <constant name="grey94" type="color" value="[240,240,240]"/>
+ <constant name="grey95" type="color" value="[242,242,242]"/>
+ <constant name="grey96" type="color" value="[245,245,245]"/>
+ <constant name="grey97" type="color" value="[247,247,247]"/>
+ <constant name="grey98" type="color" value="[250,250,250]"/>
+ <constant name="grey99" type="color" value="[252,252,252]"/>
+ <constant name="grey" type="color" value="[190,190,190]"/>
+ <constant name="honeydew1" type="color" value="[240,255,240]"/>
+ <constant name="honeydew2" type="color" value="[224,238,224]"/>
+ <constant name="honeydew3" type="color" value="[193,205,193]"/>
+ <constant name="honeydew4" type="color" value="[131,139,131]"/>
+ <constant name="honeydew" type="color" value="[240,255,240]"/>
+ <constant name="ivory1" type="color" value="[255,255,240]"/>
+ <constant name="ivory2" type="color" value="[238,238,224]"/>
+ <constant name="ivory3" type="color" value="[205,205,193]"/>
+ <constant name="ivory4" type="color" value="[139,139,131]"/>
+ <constant name="ivory" type="color" value="[255,255,240]"/>
+ <constant name="khaki1" type="color" value="[255,246,143]"/>
+ <constant name="khaki2" type="color" value="[238,230,133]"/>
+ <constant name="khaki3" type="color" value="[205,198,115]"/>
+ <constant name="khaki" type="color" value="[240,230,140]"/>
+ <constant name="lavender" type="color" value="[230,230,250]"/>
+ <constant name="linen" type="color" value="[250,240,230]"/>
+ <constant name="magenta1" type="color" value="[255,0,255]"/>
+ <constant name="magenta2" type="color" value="[238,0,238]"/>
+ <constant name="magenta3" type="color" value="[205,0,205]"/>
+ <constant name="magenta4" type="color" value="[139,0,139]"/>
+ <constant name="magenta" type="color" value="[255,0,255]"/>
+ <constant name="maroon1" type="color" value="[255,52,179]"/>
+ <constant name="maroon2" type="color" value="[238,48,167]"/>
+ <constant name="maroon3" type="color" value="[205,41,144]"/>
+ <constant name="maroon" type="color" value="[176,48,96]"/>
+ <constant name="moccasin" type="color" value="[255,228,181]"/>
+ <constant name="olive" type="color" value="[128,128,0]"/>
+ <constant name="orange" type="color" value="[255,165,0]"/>
+ <constant name="orchid1" type="color" value="[255,131,250]"/>
+ <constant name="orchid2" type="color" value="[238,122,233]"/>
+ <constant name="orchid3" type="color" value="[205,105,201]"/>
+ <constant name="orchid4" type="color" value="[139,71,137]"/>
+ <constant name="orchid" type="color" value="[218,112,214]"/>
+ <constant name="peru" type="color" value="[205,133,63]"/>
+ <constant name="pink1" type="color" value="[255,181,197]"/>
+ <constant name="pink2" type="color" value="[238,169,184]"/>
+ <constant name="pink3" type="color" value="[205,145,158]"/>
+ <constant name="pink4" type="color" value="[139,99,108]"/>
+ <constant name="pink" type="color" value="[255,192,203]"/>
+ <constant name="plum1" type="color" value="[255,187,255]"/>
+ <constant name="plum2" type="color" value="[238,174,238]"/>
+ <constant name="plum3" type="color" value="[205,150,205]"/>
+ <constant name="plum4" type="color" value="[139,102,139]"/>
+ <constant name="plum" type="color" value="[221,160,221]"/>
+ <constant name="purple1" type="color" value="[155,48,255]"/>
+ <constant name="purple2" type="color" value="[145,44,238]"/>
+ <constant name="purple3" type="color" value="[125,38,205]"/>
+ <constant name="purple" type="color" value="[160,32,240]"/>
+ <constant name="red" type="color" value="[255,0,0]"/>
+ <constant name="salmon1" type="color" value="[255,140,105]"/>
+ <constant name="salmon" type="color" value="[250,128,114]"/>
+ <constant name="seashell1" type="color" value="[255,245,238]"/>
+ <constant name="seashell2" type="color" value="[238,229,222]"/>
+ <constant name="seashell3" type="color" value="[205,197,191]"/>
+ <constant name="seashell4" type="color" value="[139,134,130]"/>
+ <constant name="seashell" type="color" value="[255,245,238]"/>
+ <constant name="sienna" type="color" value="[160,82,45]"/>
+ <constant name="silver" type="color" value="[192,192,192]"/>
+ <constant name="snow1" type="color" value="[255,250,250]"/>
+ <constant name="snow2" type="color" value="[238,233,233]"/>
+ <constant name="snow3" type="color" value="[205,201,201]"/>
+ <constant name="snow4" type="color" value="[139,137,137]"/>
+ <constant name="snow" type="color" value="[255,250,250]"/>
+ <constant name="tan" type="color" value="[210,180,140]"/>
+ <constant name="thistle1" type="color" value="[255,225,255]"/>
+ <constant name="thistle2" type="color" value="[238,210,238]"/>
+ <constant name="thistle3" type="color" value="[205,181,205]"/>
+ <constant name="thistle4" type="color" value="[139,123,139]"/>
+ <constant name="thistle" type="color" value="[216,191,216]"/>
+ <constant name="tomato" type="color" value="[255,99,71]"/>
+ <constant name="violet" type="color" value="[238,130,238]"/>
+ <constant name="wheat1" type="color" value="[255,231,186]"/>
+ <constant name="wheat2" type="color" value="[238,216,174]"/>
+ <constant name="wheat3" type="color" value="[205,186,150]"/>
+ <constant name="wheat4" type="color" value="[139,126,102]"/>
+ <constant name="wheat" type="color" value="[245,222,179]"/>
+ <constant name="white" type="color" value="[255,255,255]"/>
+ <constant name="yellow" type="color" value="[255,255,0]"/>
</typesystem>
diff --git a/src/core/model/Document.cpp b/src/core/model/Document.cpp
index f452695..8c87cfe 100644
--- a/src/core/model/Document.cpp
+++ b/src/core/model/Document.cpp
@@ -653,6 +653,18 @@ bool Document::doValidate(Logger &logger) const
return valid & continueValidation(annotations, logger);
}
+void Document::doReference(Handle<Node> node)
+{
+ if (node->isa(RttiTypes::Domain)) {
+ referenceDomain(node.cast<Domain>());
+ }
+}
+
+RttiSet Document::doGetReferenceTypes() const
+{
+ return RttiSet{&RttiTypes::Domain};
+}
+
Rooted<StructuredEntity> Document::createRootStructuredEntity(
Handle<StructuredClass> descriptor, Variant attributes, std::string name)
{
@@ -723,7 +735,7 @@ bool Document::hasChild(Handle<StructureNode> s) const
/* Type registrations */
namespace RttiTypes {
const Rtti Document = RttiBuilder<ousia::Document>("Document")
- .parent(&Node)
+ .parent(&RootNode)
.composedOf({&AnnotationEntity, &StructuredEntity});
const Rtti StructureNode =
RttiBuilder<ousia::StructureNode>("StructureNode").parent(&Node);
diff --git a/src/core/model/Document.hpp b/src/core/model/Document.hpp
index dcb8966..ad8cbca 100644
--- a/src/core/model/Document.hpp
+++ b/src/core/model/Document.hpp
@@ -115,6 +115,7 @@
#include "Node.hpp"
#include "Domain.hpp"
+#include "RootNode.hpp"
#include "Typesystem.hpp"
namespace ousia {
@@ -719,17 +720,18 @@ public:
* Graph. It also references the domains that have been used within this
* document and the AnnotationEntities that span over Anchors in this Document.
*/
-class Document : public Node {
+class Document : public RootNode {
private:
// TODO: Might there be several roots? E.g. metadata?
Owned<StructuredEntity> root;
NodeVector<AnnotationEntity> annotations;
NodeVector<Domain> domains;
- void doResolve(ResolutionState &state) override;
-
protected:
+ void doResolve(ResolutionState &state) override;
bool doValidate(Logger &logger) const override;
+ void doReference(Handle<Node> node) override;
+ RttiSet doGetReferenceTypes() const override;
public:
/**
@@ -739,7 +741,7 @@ public:
* @param name is a name for this Document.
*/
Document(Manager &mgr, std::string name)
- : Node(mgr, std::move(name), nullptr), annotations(this)
+ : RootNode(mgr, std::move(name), nullptr), annotations(this)
{
}
diff --git a/src/core/model/Domain.cpp b/src/core/model/Domain.cpp
index 360aa83..ef505dd 100644
--- a/src/core/model/Domain.cpp
+++ b/src/core/model/Domain.cpp
@@ -469,6 +469,18 @@ bool Domain::doValidate(Logger &logger) const
continueValidationCheckDuplicates(typesystems, logger);
}
+void Domain::doReference(Handle<Node> node)
+{
+ if (node->isa(RttiTypes::Domain)) {
+ referenceTypesystem(node.cast<Typesystem>());
+ }
+}
+
+RttiSet Domain::doGetReferenceTypes() const
+{
+ return RttiSet{&RttiTypes::Domain};
+}
+
void Domain::addStructuredClass(Handle<StructuredClass> s)
{
// only add it if we need to.
@@ -559,7 +571,7 @@ const Rtti StructuredClass =
const Rtti AnnotationClass =
RttiBuilder<ousia::AnnotationClass>("AnnotationClass").parent(&Descriptor);
const Rtti Domain = RttiBuilder<ousia::Domain>("Domain")
- .parent(&Node)
+ .parent(&RootNode)
.composedOf({&StructuredClass, &AnnotationClass});
}
}
diff --git a/src/core/model/Domain.hpp b/src/core/model/Domain.hpp
index 7704d36..6648551 100644
--- a/src/core/model/Domain.hpp
+++ b/src/core/model/Domain.hpp
@@ -206,6 +206,7 @@
#include <core/RangeSet.hpp>
#include "Node.hpp"
+#include "RootNode.hpp"
#include "Typesystem.hpp"
namespace ousia {
@@ -879,7 +880,7 @@ public:
* are part of this domain. TODO: Do we want to be able to restrict Annotations
* to certain Structures?
*/
-class Domain : public Node {
+class Domain : public RootNode {
friend StructuredClass;
friend AnnotationClass;
@@ -890,8 +891,9 @@ private:
protected:
void doResolve(ResolutionState &state) override;
-
bool doValidate(Logger &logger) const override;
+ void doReference(Handle<Node> node) override;
+ RttiSet doGetReferenceTypes() const override;
public:
/**
@@ -903,7 +905,7 @@ public:
* references to this Domain.
*/
Domain(Manager &mgr, std::string name = "")
- : Node(mgr, std::move(name), nullptr),
+ : RootNode(mgr, std::move(name), nullptr),
structuredClasses(this),
annotationClasses(this),
typesystems(this)
diff --git a/src/core/model/Project.cpp b/src/core/model/Project.cpp
index b355969..31530f3 100644
--- a/src/core/model/Project.cpp
+++ b/src/core/model/Project.cpp
@@ -26,7 +26,7 @@
namespace ousia {
Project::Project(Manager &mgr)
- : Node(mgr),
+ : RootNode(mgr),
systemTypesystem(acquire(new SystemTypesystem(mgr))),
documents(this)
{
@@ -41,6 +41,16 @@ void Project::doResolve(ResolutionState &state){
continueResolveComposita(documents, documents.getIndex(), state);
}
+void Project::doReference(Handle<Node> node) {
+ if (node->isa(RttiTypes::Document)) {
+ referenceDocument(node.cast<Document>());
+ }
+}
+
+RttiSet Project::doGetReferenceTypes() const {
+ return RttiSet{&RttiTypes::Document};
+}
+
Rooted<SystemTypesystem> Project::getSystemTypesystem()
{
return systemTypesystem;
@@ -55,7 +65,7 @@ Rooted<Typesystem> Project::createTypesystem(const std::string &name)
Rooted<Document> Project::createDocument(const std::string &name)
{
Rooted<Document> document{new Document(getManager(), name)};
- addDocument(document);
+ referenceDocument(document);
return document;
}
@@ -64,7 +74,7 @@ Rooted<Domain> Project::createDomain(const std::string &name)
return Rooted<Domain>{new Domain(getManager(), systemTypesystem, name)};
}
-void Project::addDocument(Handle<Document> document)
+void Project::referenceDocument(Handle<Document> document)
{
invalidate();
documents.push_back(document);
@@ -74,7 +84,7 @@ const NodeVector<Document> &Project::getDocuments() const { return documents; }
namespace RttiTypes {
const Rtti Project = RttiBuilder<ousia::Project>("Project")
- .parent(&Node)
+ .parent(&RootNode)
.composedOf(&Document)
.composedOf(&SystemTypesystem);
}
diff --git a/src/core/model/Project.hpp b/src/core/model/Project.hpp
index 9b81058..480609c 100644
--- a/src/core/model/Project.hpp
+++ b/src/core/model/Project.hpp
@@ -28,13 +28,14 @@
#ifndef _OUSIA_PROJECT_HPP_
#define _OUSIA_PROJECT_HPP_
-#include "Node.hpp"
+#include <core/common/Rtti.hpp>
+
+#include "RootNode.hpp"
namespace ousia {
// Forward declarations
class Logger;
-class Rtti;
class Registry;
class SystemTypesystem;
class Typesystem;
@@ -46,7 +47,7 @@ class Domain;
* documents are stored. It also contains an instance of the SystemTypesystem
* and allows for simple creation of new Typesystem and Domain instances.
*/
-class Project : public Node {
+class Project : public RootNode {
private:
/**
* Private instance of the system typesystem which is distributed as a
@@ -62,6 +63,8 @@ private:
protected:
bool doValidate(Logger &loger) const override;
void doResolve(ResolutionState &state) override;
+ void doReference(Handle<Node> node) override;
+ RttiSet doGetReferenceTypes() const override;
public:
/**
@@ -108,7 +111,7 @@ public:
*
* @param document is the document that should be added to the project.
*/
- void addDocument(Handle<Document> document);
+ void referenceDocument(Handle<Document> document);
/**
* Returns all documents of this project.
diff --git a/src/core/model/RootNode.cpp b/src/core/model/RootNode.cpp
index fa05c36..821c50c 100644
--- a/src/core/model/RootNode.cpp
+++ b/src/core/model/RootNode.cpp
@@ -22,17 +22,17 @@
namespace ousia {
-void RootNode::import(Handle<Node> node)
+void RootNode::reference(Handle<Node> node)
{
- if (!node->type().isOneOf(doGetImportTypes())) {
+ if (!node->type().isOneOf(getReferenceTypes())) {
throw OusiaException(
std::string("Node with type ") + node->type().name +
- std::string(" cannot be imported in a ") + type().name);
+ std::string(" cannot be referenced in a ") + type().name);
}
- doImport(node);
+ doReference(node);
}
-RttiSet RootNode::getImportTypes() { return doGetImportTypes(); }
+RttiSet RootNode::getReferenceTypes() const { return doGetReferenceTypes(); }
namespace RttiTypes {
const Rtti RootNode = RttiBuilder<ousia::RootNode>("RootNode").parent(&Node);
diff --git a/src/core/model/RootNode.hpp b/src/core/model/RootNode.hpp
index 1ed72f1..173a6e4 100644
--- a/src/core/model/RootNode.hpp
+++ b/src/core/model/RootNode.hpp
@@ -28,6 +28,9 @@
#ifndef _OUSIA_ROOT_NODE_HPP_
#define _OUSIA_ROOT_NODE_HPP_
+#include <core/managed/Managed.hpp>
+#include <core/common/Rtti.hpp>
+
#include "Node.hpp"
namespace ousia {
@@ -43,16 +46,16 @@ protected:
* Imports the given node. The node was checked to be one of the supported
* types.
*
- * @param node is the node that should be imported.
+ * @param node is the node that should be referenced.
*/
- virtual void doImport(Handle<Node> node) = 0;
+ virtual void doReference(Handle<Node> node) = 0;
/**
- * Should return a set of types that can be imported by this Node.
+ * Should return a set of types that can be referenced by this Node.
*
- * @return a set of Node types that may be imported by this Node.
+ * @return a set of Node types that may be referenced by this Node.
*/
- virtual RttiSet doGetImportTypes() = 0;
+ virtual RttiSet doGetReferenceTypes() const = 0;
public:
using Node::Node;
@@ -63,14 +66,14 @@ public:
*
* @param node is the node that should be imported.
*/
- void import(Handle<Node> node);
+ void reference(Handle<Node> node);
/**
- * Returns a set of types that can be imported by this Node.
+ * Returns a set of types that can be referenced by this Node.
*
- * @return a set of types that can be imported.
+ * @return a set of types that can be referenced.
*/
- RttiSet getImportTypes();
+ RttiSet getReferenceTypes() const;
};
namespace RttiTypes {
diff --git a/src/core/model/Typesystem.cpp b/src/core/model/Typesystem.cpp
index dc6df63..1711129 100644
--- a/src/core/model/Typesystem.cpp
+++ b/src/core/model/Typesystem.cpp
@@ -633,6 +633,18 @@ bool Typesystem::doValidate(Logger &logger) const
continueValidationCheckDuplicates(types, logger);
}
+void Typesystem::doReference(Handle<Node> node)
+{
+ if (node->isa(RttiTypes::Typesystem)) {
+ referenceTypesystem(node.cast<Typesystem>());
+ }
+}
+
+RttiSet Typesystem::doGetReferenceTypes() const
+{
+ return RttiSet{&RttiTypes::Typesystem};
+}
+
Rooted<StructType> Typesystem::createStructType(const std::string &name)
{
Rooted<StructType> structType{new StructType(getManager(), name, this)};
@@ -688,7 +700,7 @@ const Rtti UnknownType =
const Rtti Constant = RttiBuilder<ousia::Constant>("Constant").parent(&Node);
const Rtti Attribute = RttiBuilder<ousia::Attribute>("Attribute").parent(&Node);
const Rtti Typesystem =
- RttiBuilder<ousia::Typesystem>("Typesystem").parent(&Node).composedOf(
+ RttiBuilder<ousia::Typesystem>("Typesystem").parent(&RootNode).composedOf(
{&StringType, &IntType, &DoubleType, &BoolType, &EnumType, &StructType,
&Constant});
const Rtti SystemTypesystem = RttiBuilder<ousia::SystemTypesystem>(
diff --git a/src/core/model/Typesystem.hpp b/src/core/model/Typesystem.hpp
index 9d85d80..b14ff62 100644
--- a/src/core/model/Typesystem.hpp
+++ b/src/core/model/Typesystem.hpp
@@ -38,6 +38,7 @@
#include <core/common/Variant.hpp>
#include "Node.hpp"
+#include "RootNode.hpp"
namespace ousia {
@@ -1025,7 +1026,7 @@ public:
/**
* The Typesystem class represents a collection of types and constants.
*/
-class Typesystem : public Node {
+class Typesystem : public RootNode {
private:
/**
* List containing all types.
@@ -1044,8 +1045,9 @@ private:
protected:
void doResolve(ResolutionState &state) override;
-
bool doValidate(Logger &logger) const override;
+ void doReference(Handle<Node> node) override;
+ RttiSet doGetReferenceTypes() const override;
public:
/**
@@ -1055,7 +1057,7 @@ public:
* @param name is the name of the typesystem.
*/
Typesystem(Manager &mgr, std::string name)
- : Node(mgr, std::move(name)),
+ : RootNode(mgr, std::move(name)),
types(this),
constants(this),
typesystems(this)
diff --git a/src/core/resource/ResourceRequest.cpp b/src/core/resource/ResourceRequest.cpp
index f820bc3..41aec75 100644
--- a/src/core/resource/ResourceRequest.cpp
+++ b/src/core/resource/ResourceRequest.cpp
@@ -146,6 +146,12 @@ bool ResourceRequest::deduce(Registry &registry, Logger &logger)
{
bool ok = true;
+ // Make sure the given file name is not empty
+ if (path.empty()) {
+ logger.error("Filename may not be empty");
+ return false;
+ }
+
// Try to deduce the mimetype if none was given
if (mimetype.empty()) {
mimetype = registry.getMimetypeForFilename(path);
@@ -206,10 +212,10 @@ bool ResourceRequest::deduce(Registry &registry, Logger &logger)
if (resourceType != ResourceType::UNKNOWN) {
supportedTypes = limitSupportedTypes(resourceType, supportedTypes);
if (supportedTypes.empty()) {
- logger.error(
- std::string("File of type \"") + mimetype +
- std::string("\" cannot be included with relationship ") +
- Resource::getResourceTypeName(resourceType));
+ logger.error(std::string("Resource of type \"") + mimetype +
+ std::string("\" and relationship \"") +
+ Resource::getResourceTypeName(resourceType) +
+ std::string("\" cannot be included here"));
ok = false;
}
} else {
diff --git a/src/plugins/xml/XmlParser.cpp b/src/plugins/xml/XmlParser.cpp
index d36c5fe..45320ca 100644
--- a/src/plugins/xml/XmlParser.cpp
+++ b/src/plugins/xml/XmlParser.cpp
@@ -327,9 +327,9 @@ public:
// Perform the actual import, register the imported node within the leaf
// node
Rooted<Node> imported =
- context().import(src, type, rel, leafRootNode->getImportTypes());
+ context().import(src, type, rel, leafRootNode->getReferenceTypes());
if (imported != nullptr) {
- leafRootNode->import(imported);
+ leafRootNode->reference(imported);
}
}
diff --git a/test/plugins/xml/XmlParserTest.cpp b/test/plugins/xml/XmlParserTest.cpp
index 2b352fd..909c4ee 100644
--- a/test/plugins/xml/XmlParserTest.cpp
+++ b/test/plugins/xml/XmlParserTest.cpp
@@ -44,6 +44,7 @@ struct XmlStandaloneEnvironment : public StandaloneEnvironment {
XmlStandaloneEnvironment(ConcreteLogger &logger)
: StandaloneEnvironment(logger)
{
+ fileLocator.addDefaultSearchPaths();
fileLocator.addUnittestSearchPath("xmlparser");
registry.registerDefaultExtensions();
diff --git a/testdata/xmlparser/color.oxm b/testdata/xmlparser/color.oxm
new file mode 100644
index 0000000..17adea4
--- /dev/null
+++ b/testdata/xmlparser/color.oxm
@@ -0,0 +1,18 @@
+<?xml version="1.0" standalone="yes"?>
+<typesystem name="color">
+ <struct name="color">
+ <field name="r" type="int"/>
+ <field name="g" type="int"/>
+ <field name="b" type="int"/>
+ </struct>
+
+ <constant name="aquamarine1" type="color" value="[127,255,212]"/>
+ <constant name="aquamarine2" type="color" value="[118,238,198]"/>
+ <constant name="aquamarine3" type="color" value="[102,205,170]"/>
+ <constant name="aquamarine" type="color" value="[127,255,212]"/>
+ <constant name="azure1" type="color" value="[240,255,255]"/>
+ <constant name="azure2" type="color" value="[224,238,238]"/>
+ <constant name="azure3" type="color" value="[193,205,205]"/>
+ <constant name="azure4" type="color" value="[131,139,139]"/>
+ <constant name="azure" type="color" value="[240,255,255]"/>
+</typesystem>
diff --git a/testdata/xmlparser/generic.oxm b/testdata/xmlparser/generic.oxm
index b148364..a5a4dd6 100644
--- a/testdata/xmlparser/generic.oxm
+++ b/testdata/xmlparser/generic.oxm
@@ -1,18 +1,19 @@
<?xml version="1.0" standalone="yes"?>
-<typesystem name="color">
- <struct name="color">
+<typesystem name="bla">
+ <import>color</import>
+ <!--<struct name="color">
<field name="r" type="int"/>
<field name="g" type="int"/>
<field name="b" type="int"/>
- </struct>
+ </struct>-->
<constant name="zero" value="0" type="int" />
<constant name="zeros" value="[0, 0, 0]" type="int[]" />
- <constant name="manyZeros" value="[[0, 0], [0, 0], [0, 0]]" type="int[][][]" />
+ <constant name="manyZeros" value="[[0, 0], [0, 0], [0, 0]]" type="int[][]" />
<constant name="black" value="[zero, zero, zero]" type="color" />
<struct name="structWithColor">
<field name="color" type="color" default="black" />
</struct>
- <constant name="blackStructWithColor" value="[color=black]" type="structWithColor" />
+ <constant name="blackStructWithColor" value="[color=aquamarine]" type="structWithColor" />
</typesystem>
<!--<domain name="color">
<struct name="bla" cardinality="{1,2}" isa="blub"/>