** Maintenance of all services taking place on Saturday June 22, from 18:00 - 21:00 (GMT+2) **
 
1
0
-1

Edit2:  Follow-up question.  When specifying color like this, a c# class generator isn't able to create a type of enum "Color"  The Color attributes even become a string so the generated class file has no knowledge of Colors.  As a result I have no way of verifying whether an entered string is a valid Color except for comparing with a hard-coded list of colors.  Before the switch I was able to simply check if it was an existing enum.  I'd like to avoid hard-coding color values on the off chance valid colors somehow change (I realize this is very unlikely).  Is there any way I could get the colors from the XSD / generated C# class?

For reference I am generating the C# class with this. 

XJDF XJMF Class Generation in c# from xsd file 

referencing Michel Hartmann's project specifically. 

https://bitbucket.cip4.org/users/mlhartmann/repos/xjdflibcsharp/browse

 

Edit:  I realize this is now allowing capital and lowercase names so I believe this was the intent.  Going to leave the question if anybody else was curious but the new XSD simply allows the colors to be case insensitive strings that must be one of the previous enum colors.

I recently downloaded an XSD file from the link here. 

https://confluence.cip4.org/display/TSC/Spec+Incubator (April 5, 2019).
I am using them to generate class files in c#. In doing so I noticed the NamedColor section has been significantly altered to use a series of string patterns instead of Enums. Is this what was intended? If it's intended there's nothing to say about it and the question can be closed but I just thought it was a strange way to list the colors.  The relevant sections are copy pasted below.

Older xsd:
<xs:simpleType name="NamedColor">
<xs:restriction base="xs:string">
<xs:enumeration value="aliceblue"/>
<xs:enumeration value="antiquewhite"/>
<xs:enumeration value="aqua"/>
<xs:enumeration value="aquamarine"/>
<xs:enumeration value="azure"/>
<xs:enumeration value="beige"/>
<xs:enumeration value="bisque"/>
<xs:enumeration value="black"/>
<xs:enumeration value="blanchedalmond"/>
<xs:enumeration value="blue"/>
<xs:enumeration value="blueviolet"/>
<xs:enumeration value="brown"/>
<xs:enumeration value="burlywood"/>
<xs:enumeration value="cadetblue"/>
<xs:enumeration value="chartreuse"/>
<xs:enumeration value="chocolate"/>
<xs:enumeration value="coral"/>
<xs:enumeration value="cornflowerblue"/>
<xs:enumeration value="cornsilk"/>
<xs:enumeration value="crimson"/>
<xs:enumeration value="cyan"/>
<xs:enumeration value="darkblue"/>
<xs:enumeration value="darkcyan"/>
<xs:enumeration value="darkgoldenrod"/>
<xs:enumeration value="darkgray"/>
<xs:enumeration value="darkgreen"/>
<xs:enumeration value="darkgrey"/>
<xs:enumeration value="darkkhaki"/>
<xs:enumeration value="darkmagenta"/>
<xs:enumeration value="darkolivegreen"/>
<xs:enumeration value="darkorange"/>
<xs:enumeration value="darkorchid"/>
<xs:enumeration value="darkred"/>
<xs:enumeration value="darksalmon"/>
<xs:enumeration value="darkseagreen"/>
<xs:enumeration value="darkslateblue"/>
<xs:enumeration value="darkslategray"/>
<xs:enumeration value="darkslategrey"/>
<xs:enumeration value="darkturquoise"/>
<xs:enumeration value="darkviolet"/>
<xs:enumeration value="deeppink"/>
<xs:enumeration value="deepskyblue"/>
<xs:enumeration value="dimgray"/>
<xs:enumeration value="dimgrey"/>
<xs:enumeration value="dodgerblue"/>
<xs:enumeration value="firebrick"/>
<xs:enumeration value="floralwhite"/>
<xs:enumeration value="forestgreen"/>
<xs:enumeration value="fuchsia"/>
<xs:enumeration value="gainsboro"/>
<xs:enumeration value="ghostwhite"/>
<xs:enumeration value="gold"/>
<xs:enumeration value="goldenrod"/>
<xs:enumeration value="gray"/>
<xs:enumeration value="grey"/>
<xs:enumeration value="green"/>
<xs:enumeration value="greenyellow"/>
<xs:enumeration value="honeydew"/>
<xs:enumeration value="hotpink"/>
<xs:enumeration value="indianred"/>
<xs:enumeration value="indigo"/>
<xs:enumeration value="ivory"/>
<xs:enumeration value="khaki"/>
<xs:enumeration value="lavender"/>
<xs:enumeration value="lavenderblush"/>
<xs:enumeration value="lawngreen"/>
<xs:enumeration value="lemonchiffon"/>
<xs:enumeration value="lightblue"/>
<xs:enumeration value="lightcoral"/>
<xs:enumeration value="lightcyan"/>
<xs:enumeration value="lightgoldenrodyellow"/>
<xs:enumeration value="lightgray"/>
<xs:enumeration value="lightgreen"/>
<xs:enumeration value="lightgrey"/>
<xs:enumeration value="lightpink"/>
<xs:enumeration value="lightsalmon"/>
<xs:enumeration value="lightseagreen"/>
<xs:enumeration value="lightskyblue"/>
<xs:enumeration value="lightslategray"/>
<xs:enumeration value="lightslategrey"/>
<xs:enumeration value="lightsteelblue"/>
<xs:enumeration value="lightyellow"/>
<xs:enumeration value="lime"/>
<xs:enumeration value="limegreen"/>
<xs:enumeration value="linen"/>
<xs:enumeration value="magenta"/>
<xs:enumeration value="maroon"/>
<xs:enumeration value="mediumaquamarine"/>
<xs:enumeration value="mediumblue"/>
<xs:enumeration value="mediumorchid"/>
<xs:enumeration value="mediumpurple"/>
<xs:enumeration value="mediumseagreen"/>
<xs:enumeration value="mediumslateblue"/>
<xs:enumeration value="mediumspringgreen"/>
<xs:enumeration value="mediumturquoise"/>
<xs:enumeration value="mediumvioletred"/>
<xs:enumeration value="midnightblue"/>
<xs:enumeration value="mintcream"/>
<xs:enumeration value="mistyrose"/>
<xs:enumeration value="moccasin"/>
<xs:enumeration value="navajowhite"/>
<xs:enumeration value="navy"/>
<xs:enumeration value="oldlace"/>
<xs:enumeration value="olive"/>
<xs:enumeration value="olivedrab"/>
<xs:enumeration value="orange"/>
<xs:enumeration value="orangered"/>
<xs:enumeration value="orchid"/>
<xs:enumeration value="palegoldenrod"/>
<xs:enumeration value="palegreen"/>
<xs:enumeration value="paleturquoise"/>
<xs:enumeration value="palevioletred"/>
<xs:enumeration value="papayawhip"/>
<xs:enumeration value="peachpuff"/>
<xs:enumeration value="peru"/>
<xs:enumeration value="pink"/>
<xs:enumeration value="plum"/>
<xs:enumeration value="powderblue"/>
<xs:enumeration value="purple"/>
<xs:enumeration value="red"/>
<xs:enumeration value="rosybrown"/>
<xs:enumeration value="royalblue"/>
<xs:enumeration value="saddlebrown"/>
<xs:enumeration value="salmon"/>
<xs:enumeration value="sandybrown"/>
<xs:enumeration value="seagreen"/>
<xs:enumeration value="seashell"/>
<xs:enumeration value="sienna"/>
<xs:enumeration value="silver"/>
<xs:enumeration value="skyblue"/>
<xs:enumeration value="slateblue"/>
<xs:enumeration value="slategray"/>
<xs:enumeration value="slategrey"/>
<xs:enumeration value="snow"/>
<xs:enumeration value="springgreen"/>
<xs:enumeration value="steelblue"/>
<xs:enumeration value="tan"/>
<xs:enumeration value="teal"/>
<xs:enumeration value="thistle"/>
<xs:enumeration value="tomato"/>
<xs:enumeration value="turquoise"/>
<xs:enumeration value="violet"/>
<xs:enumeration value="wheat"/>
<xs:enumeration value="white"/>
<xs:enumeration value="whitesmoke"/>
<xs:enumeration value="yellow"/>
<xs:enumeration value="yellowgreen"/>
</xs:restriction>

New xsd:
<xs:simpleType name="NamedColor">
<xs:restriction base="xs:string">
<xs:pattern
value="((A|a)(L|l)(I|i)(C|c)(E|e)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((A|a)(N|n)(T|t)(I|i)(Q|q)(U|u)(E|e)(W|w)(H|h)(I|i)(T|t)(E|e))" />
<xs:pattern value="((A|a)(Q|q)(U|u)(A|a))" />
<xs:pattern
value="((A|a)(Q|q)(U|u)(A|a)(M|m)(A|a)(R|r)(I|i)(N|n)(E|e))" />
<xs:pattern value="((A|a)(Z|z)(U|u)(R|r)(E|e))" />
<xs:pattern value="((B|b)(E|e)(I|i)(G|g)(E|e))" />
<xs:pattern value="((B|b)(I|i)(S|s)(Q|q)(U|u)(E|e))" />
<xs:pattern value="((B|b)(L|l)(A|a)(C|c)(K|k))" />
<xs:pattern
value="((B|b)(L|l)(A|a)(N|n)(C|c)(H|h)(E|e)(D|d)(A|a)(L|l)(M|m)(O|o)(N|n)(D|d))" />
<xs:pattern value="((B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((B|b)(L|l)(U|u)(E|e)(V|v)(I|i)(O|o)(L|l)(E|e)(T|t))" />
<xs:pattern value="((B|b)(R|r)(O|o)(W|w)(N|n))" />
<xs:pattern
value="((B|b)(U|u)(R|r)(L|l)(Y|y)(W|w)(O|o)(O|o)(D|d))" />
<xs:pattern
value="((C|c)(A|a)(D|d)(E|e)(T|t)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((C|c)(H|h)(A|a)(R|r)(T|t)(R|r)(E|e)(U|u)(S|s)(E|e))" />
<xs:pattern
value="((C|c)(H|h)(O|o)(C|c)(O|o)(L|l)(A|a)(T|t)(E|e))" />
<xs:pattern value="((C|c)(O|o)(R|r)(A|a)(L|l))" />
<xs:pattern
value="((C|c)(O|o)(R|r)(N|n)(F|f)(L|l)(O|o)(W|w)(E|e)(R|r)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((C|c)(O|o)(R|r)(N|n)(S|s)(I|i)(L|l)(K|k))" />
<xs:pattern value="((C|c)(R|r)(I|i)(M|m)(S|s)(O|o)(N|n))" />
<xs:pattern value="((C|c)(Y|y)(A|a)(N|n))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(C|c)(Y|y)(A|a)(N|n))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(G|g)(O|o)(L|l)(D|d)(E|e)(N|n)(R|r)(O|o)(D|d))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(G|g)(R|r)(A|a)(Y|y))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(G|g)(R|r)(E|e)(Y|y))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(K|k)(H|h)(A|a)(K|k)(I|i))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(M|m)(A|a)(G|g)(E|e)(N|n)(T|t)(A|a))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(O|o)(L|l)(I|i)(V|v)(E|e)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(O|o)(R|r)(A|a)(N|n)(G|g)(E|e))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(O|o)(R|r)(C|c)(H|h)(I|i)(D|d))" />
<xs:pattern value="((D|d)(A|a)(R|r)(K|k)(R|r)(E|e)(D|d))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(S|s)(A|a)(L|l)(M|m)(O|o)(N|n))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(S|s)(E|e)(A|a)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(S|s)(L|l)(A|a)(T|t)(E|e)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(S|s)(L|l)(A|a)(T|t)(E|e)(G|g)(R|r)(A|a)(Y|y))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(S|s)(L|l)(A|a)(T|t)(E|e)(G|g)(R|r)(E|e)(Y|y))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(T|t)(U|u)(R|r)(Q|q)(U|u)(O|o)(I|i)(S|s)(E|e))" />
<xs:pattern
value="((D|d)(A|a)(R|r)(K|k)(V|v)(I|i)(O|o)(L|l)(E|e)(T|t))" />
<xs:pattern
value="((D|d)(E|e)(E|e)(P|p)(P|p)(I|i)(N|n)(K|k))" />
<xs:pattern
value="((D|d)(E|e)(E|e)(P|p)(S|s)(K|k)(Y|y)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern value="((D|d)(I|i)(M|m)(G|g)(R|r)(A|a)(Y|y))" />
<xs:pattern value="((D|d)(I|i)(M|m)(G|g)(R|r)(E|e)(Y|y))" />
<xs:pattern
value="((D|d)(O|o)(D|d)(G|g)(E|e)(R|r)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((F|f)(I|i)(R|r)(E|e)(B|b)(R|r)(I|i)(C|c)(K|k))" />
<xs:pattern
value="((F|f)(L|l)(O|o)(R|r)(A|a)(L|l)(W|w)(H|h)(I|i)(T|t)(E|e))" />
<xs:pattern
value="((F|f)(O|o)(R|r)(E|e)(S|s)(T|t)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern value="((F|f)(U|u)(C|c)(H|h)(S|s)(I|i)(A|a))" />
<xs:pattern
value="((G|g)(A|a)(I|i)(N|n)(S|s)(B|b)(O|o)(R|r)(O|o))" />
<xs:pattern
value="((G|g)(H|h)(O|o)(S|s)(T|t)(W|w)(H|h)(I|i)(T|t)(E|e))" />
<xs:pattern value="((G|g)(O|o)(L|l)(D|d))" />
<xs:pattern
value="((G|g)(O|o)(L|l)(D|d)(E|e)(N|n)(R|r)(O|o)(D|d))" />
<xs:pattern value="((G|g)(R|r)(A|a)(Y|y))" />
<xs:pattern value="((G|g)(R|r)(E|e)(Y|y))" />
<xs:pattern value="((G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((G|g)(R|r)(E|e)(E|e)(N|n)(Y|y)(E|e)(L|l)(L|l)(O|o)(W|w))" />
<xs:pattern
value="((H|h)(O|o)(N|n)(E|e)(Y|y)(D|d)(E|e)(W|w))" />
<xs:pattern value="((H|h)(O|o)(T|t)(P|p)(I|i)(N|n)(K|k))" />
<xs:pattern
value="((I|i)(N|n)(D|d)(I|i)(A|a)(N|n)(R|r)(E|e)(D|d))" />
<xs:pattern value="((I|i)(N|n)(D|d)(I|i)(G|g)(O|o))" />
<xs:pattern value="((I|i)(V|v)(O|o)(R|r)(Y|y))" />
<xs:pattern value="((K|k)(H|h)(A|a)(K|k)(I|i))" />
<xs:pattern
value="((L|l)(A|a)(V|v)(E|e)(N|n)(D|d)(E|e)(R|r))" />
<xs:pattern
value="((L|l)(A|a)(V|v)(E|e)(N|n)(D|d)(E|e)(R|r)(B|b)(L|l)(U|u)(S|s)(H|h))" />
<xs:pattern
value="((L|l)(A|a)(W|w)(N|n)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((L|l)(E|e)(M|m)(O|o)(N|n)(C|c)(H|h)(I|i)(F|f)(F|f)(O|o)(N|n))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(C|c)(O|o)(R|r)(A|a)(L|l))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(C|c)(Y|y)(A|a)(N|n))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(G|g)(O|o)(L|l)(D|d)(E|e)(N|n)(R|r)(O|o)(D|d)(Y|y)(E|e)(L|l)(L|l)(O|o)(W|w))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(G|g)(R|r)(A|a)(Y|y))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(G|g)(R|r)(E|e)(Y|y))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(P|p)(I|i)(N|n)(K|k))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(S|s)(A|a)(L|l)(M|m)(O|o)(N|n))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(S|s)(E|e)(A|a)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(S|s)(K|k)(Y|y)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(S|s)(L|l)(A|a)(T|t)(E|e)(G|g)(R|r)(A|a)(Y|y))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(S|s)(L|l)(A|a)(T|t)(E|e)(G|g)(R|r)(E|e)(Y|y))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(S|s)(T|t)(E|e)(E|e)(L|l)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((L|l)(I|i)(G|g)(H|h)(T|t)(Y|y)(E|e)(L|l)(L|l)(O|o)(W|w))" />
<xs:pattern value="((L|l)(I|i)(M|m)(E|e))" />
<xs:pattern
value="((L|l)(I|i)(M|m)(E|e)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern value="((L|l)(I|i)(N|n)(E|e)(N|n))" />
<xs:pattern value="((M|m)(A|a)(G|g)(E|e)(N|n)(T|t)(A|a))" />
<xs:pattern value="((M|m)(A|a)(R|r)(O|o)(O|o)(N|n))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(A|a)(Q|q)(U|u)(A|a)(M|m)(A|a)(R|r)(I|i)(N|n)(E|e))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(O|o)(R|r)(C|c)(H|h)(I|i)(D|d))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(P|p)(U|u)(R|r)(P|p)(L|l)(E|e))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(S|s)(E|e)(A|a)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(S|s)(L|l)(A|a)(T|t)(E|e)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(S|s)(P|p)(R|r)(I|i)(N|n)(G|g)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(T|t)(U|u)(R|r)(Q|q)(U|u)(O|o)(I|i)(S|s)(E|e))" />
<xs:pattern
value="((M|m)(E|e)(D|d)(I|i)(U|u)(M|m)(V|v)(I|i)(O|o)(L|l)(E|e)(T|t)(R|r)(E|e)(D|d))" />
<xs:pattern
value="((M|m)(I|i)(D|d)(N|n)(I|i)(G|g)(H|h)(T|t)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((M|m)(I|i)(N|n)(T|t)(C|c)(R|r)(E|e)(A|a)(M|m))" />
<xs:pattern
value="((M|m)(I|i)(S|s)(T|t)(Y|y)(R|r)(O|o)(S|s)(E|e))" />
<xs:pattern
value="((M|m)(O|o)(C|c)(C|c)(A|a)(S|s)(I|i)(N|n))" />
<xs:pattern
value="((N|n)(A|a)(V|v)(A|a)(J|j)(O|o)(W|w)(H|h)(I|i)(T|t)(E|e))" />
<xs:pattern value="((N|n)(A|a)(V|v)(Y|y))" />
<xs:pattern value="((O|o)(L|l)(D|d)(L|l)(A|a)(C|c)(E|e))" />
<xs:pattern value="((O|o)(L|l)(I|i)(V|v)(E|e))" />
<xs:pattern
value="((O|o)(L|l)(I|i)(V|v)(E|e)(D|d)(R|r)(A|a)(B|b))" />
<xs:pattern value="((O|o)(R|r)(A|a)(N|n)(G|g)(E|e))" />
<xs:pattern
value="((O|o)(R|r)(A|a)(N|n)(G|g)(E|e)(R|r)(E|e)(D|d))" />
<xs:pattern value="((O|o)(R|r)(C|c)(H|h)(I|i)(D|d))" />
<xs:pattern
value="((P|p)(A|a)(L|l)(E|e)(G|g)(O|o)(L|l)(D|d)(E|e)(N|n)(R|r)(O|o)(D|d))" />
<xs:pattern
value="((P|p)(A|a)(L|l)(E|e)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((P|p)(A|a)(L|l)(E|e)(T|t)(U|u)(R|r)(Q|q)(U|u)(O|o)(I|i)(S|s)(E|e))" />
<xs:pattern
value="((P|p)(A|a)(L|l)(E|e)(V|v)(I|i)(O|o)(L|l)(E|e)(T|t)(R|r)(E|e)(D|d))" />
<xs:pattern
value="((P|p)(A|a)(P|p)(A|a)(Y|y)(A|a)(W|w)(H|h)(I|i)(P|p))" />
<xs:pattern
value="((P|p)(E|e)(A|a)(C|c)(H|h)(P|p)(U|u)(F|f)(F|f))" />
<xs:pattern value="((P|p)(E|e)(R|r)(U|u))" />
<xs:pattern value="((P|p)(I|i)(N|n)(K|k))" />
<xs:pattern value="((P|p)(L|l)(U|u)(M|m))" />
<xs:pattern
value="((P|p)(O|o)(W|w)(D|d)(E|e)(R|r)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern value="((P|p)(U|u)(R|r)(P|p)(L|l)(E|e))" />
<xs:pattern value="((R|r)(E|e)(D|d))" />
<xs:pattern
value="((R|r)(O|o)(S|s)(Y|y)(B|b)(R|r)(O|o)(W|w)(N|n))" />
<xs:pattern
value="((R|r)(O|o)(Y|y)(A|a)(L|l)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((S|s)(A|a)(D|d)(D|d)(L|l)(E|e)(B|b)(R|r)(O|o)(W|w)(N|n))" />
<xs:pattern value="((S|s)(A|a)(L|l)(M|m)(O|o)(N|n))" />
<xs:pattern
value="((S|s)(A|a)(N|n)(D|d)(Y|y)(B|b)(R|r)(O|o)(W|w)(N|n))" />
<xs:pattern
value="((S|s)(E|e)(A|a)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((S|s)(E|e)(A|a)(S|s)(H|h)(E|e)(L|l)(L|l))" />
<xs:pattern value="((S|s)(I|i)(E|e)(N|n)(N|n)(A|a))" />
<xs:pattern value="((S|s)(I|i)(L|l)(V|v)(E|e)(R|r))" />
<xs:pattern value="((S|s)(K|k)(Y|y)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((S|s)(L|l)(A|a)(T|t)(E|e)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern
value="((S|s)(L|l)(A|a)(T|t)(E|e)(G|g)(R|r)(A|a)(Y|y))" />
<xs:pattern
value="((S|s)(L|l)(A|a)(T|t)(E|e)(G|g)(R|r)(E|e)(Y|y))" />
<xs:pattern value="((S|s)(N|n)(O|o)(W|w))" />
<xs:pattern
value="((S|s)(P|p)(R|r)(I|i)(N|n)(G|g)(G|g)(R|r)(E|e)(E|e)(N|n))" />
<xs:pattern
value="((S|s)(T|t)(E|e)(E|e)(L|l)(B|b)(L|l)(U|u)(E|e))" />
<xs:pattern value="((T|t)(A|a)(N|n))" />
<xs:pattern value="((T|t)(E|e)(A|a)(L|l))" />
<xs:pattern value="((T|t)(H|h)(I|i)(S|s)(T|t)(L|l)(E|e))" />
<xs:pattern value="((T|t)(O|o)(M|m)(A|a)(T|t)(O|o))" />
<xs:pattern
value="((T|t)(U|u)(R|r)(Q|q)(U|u)(O|o)(I|i)(S|s)(E|e))" />
<xs:pattern value="((V|v)(I|i)(O|o)(L|l)(E|e)(T|t))" />
<xs:pattern value="((W|w)(H|h)(E|e)(A|a)(T|t))" />
<xs:pattern value="((W|w)(H|h)(I|i)(T|t)(E|e))" />
<xs:pattern
value="((W|w)(H|h)(I|i)(T|t)(E|e)(S|s)(M|m)(O|o)(K|k)(E|e))" />
<xs:pattern value="((Y|y)(E|e)(L|l)(L|l)(O|o)(W|w))" />
<xs:pattern
value="((Y|y)(E|e)(L|l)(L|l)(O|o)(W|w)(G|g)(R|r)(E|e)(E|e)(N|n))" />
</xs:restriction>

    CommentAdd your comment...

    1 answer

    1.  
      2
      1
      0

      Sorry for the confusion, but you correctly guessed the intent: Unfortunately color names are case insensitive.

      We had the following options:

      a.) guess the "reasonable" camel-case; lower only, upper only values

      b.) write a regexp for each color that is case insensitive.

      we chose b to avoid the "who would ever do that" bugs.

      Luckily I found code somewhere(TM) that generated the nasty patterns for me (wink)

        CommentAdd your comment...