<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://159.203.101.162/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michael+W.+Fender</id>
	<title>PCGen Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://159.203.101.162/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michael+W.+Fender"/>
	<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php/Special:Contributions/Michael_W._Fender"/>
	<updated>2026-05-18T13:35:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1483</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1483"/>
		<updated>2009-04-09T00:50:00Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  &lt;br /&gt;
::::*Not True: Characters which should never be used in object names are Commas (,), Pipes (|), Backslashes (\), Colons (:), Semicolons (;), Periods (.), Brackets ([]), Percent (%), Asterisk (*) and Equals (=).  Perhaps we should change the language to &amp;quot;must not be used&amp;quot; to be more RFC 2119-like and avoid confusion. [TRP]&lt;br /&gt;
:::For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
::::*I'm not convinced.  Legality isn't defined by what parses cleanly.  There are specific reasons each of those characters is prohibited.  Try using backslash in a name inside a count() inside a Formula and see if it works.  If that does work, I'd have to go code hunting to figure out what the case is that prohibits backslash, but it's on that list for a reason. [TRP]&lt;br /&gt;
:::::*...You don't know why?  OK&amp;lt; just to test your challenge, I tried making a feat and having something else count() that number of times I took that feat.  Problem is, it won't even let me take the feat.  Possible safeguard? - Fluxxdog&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
:::I'll double back a bit.  If we go the route of using our &amp;quot;shouldn't use&amp;quot; characters, what options do we have?&lt;br /&gt;
::::(snip - please read [[Data LST Standards]])&lt;br /&gt;
::::* The issue here is that the items prohibited from names are the ONLY characters we can use without writing a converter. [TRP]&lt;br /&gt;
:::None of these should be used as they already have other functions already.&lt;br /&gt;
::::*This is where the problem lies.&lt;br /&gt;
:::::* Depends on your definition of problem, but the point I have is that we either make sacrifices from the ideal, or we delay the conversion to these tokens until we can reach the ideal, which may be years away.  I'd rather make sacrifices, which means using the characters on the prohibited list or getting REALLY wide agreement and community input that we can break datasets. [TRP]&lt;br /&gt;
::::::*That's my point.  Who uses a backslash in their data sets?  And the backslash isn't used anywhere else in LST files already.  I'd say it's the ideal nominee for such an operation. - Fluxxdog&lt;br /&gt;
:::*Backslashes (\)&lt;br /&gt;
:::Curious thought, does anything actually use this?  I don't think I've seen anything other than file names, which aren't used in LST files.&lt;br /&gt;
::::CHOOSE:TEMPLATE|Extra Weaponry\OR\Extra Appendage\OR\Extra Flavor\OR\Candle Power\OR\Super Eyesight&lt;br /&gt;
:::Unless a backslash is already being used, that doesn't look too bad itself.  And it's highly unlikely, even more so than &amp;lt; and &amp;gt;, that it's used in LST files for even homebrews.  It certainly isn't in our LST files now.--[[User:Michael W. Fender|Fluxxdog]] 02:32, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*Just a tad bit of a summation here:  If we use a character to denote the logical operators, the backslash '\' would seem the ideal choice as it's already restricted from being used in key names, so \AND\ and \OR\?  Unless I'm misunderstanding you, Tom, out of the &amp;quot;don't use&amp;quot; list, this is the only one that's both&lt;br /&gt;
::A) not in use for some other purpose&lt;br /&gt;
::B) not in use for data sets&lt;br /&gt;
:If I'm wrong, please say so.--[[User:Michael W. Fender|Fluxxdog]] 16:26, 5 April 2009 (CEST)&lt;br /&gt;
::* If the path is to follow the spelled-out separators, then of the reserved characters (,|\:.[]%*=), .[]%= are already in the syntax and can't be used due to parsing problems.  : is our main token/value separator, and I'd really like to avoid that (though we can use it if necessary).  That leaves ,|\* of which only | is used elsewhere in the token (as a separator).  ,*\ all remain unused in the context of CHOOSE.  , is used elsewhere, but if we convert the other tokens, it would otherwise be unused. [TRP]&lt;br /&gt;
:::*Here's what I'm getting at:  Backslash is not used anywhere else.  I've searched all the LST files in the data sets we publish (and just to be sure, I checked the alpha sets too) and nothing uses it.  I don't even recall coming across a token that does use it.  I'd rather leave the comma free, just in case and to avoid any confusion, and using a mathematical operator '*' just seems to ask for trouble somewhere.&lt;br /&gt;
:::If we go this route, is there any reason not to use the backslash for this?  I.E. \AND\ \OR\ --[[User:Michael W. Fender|Fluxxdog]] 01:14, 6 April 2009 (CEST)&lt;br /&gt;
::::* From a programming perspective, \AND\ is just as easy as a comma.  However, just to be clear, this process is to gather opinions, and we are missing some key players so far.  If the backslash is considered unclear, then that will be a major reason for it not to be used, and it will not be used.  You seem to have a strong opinion about this, but you need to give other people a chance to express their opinion as well.  Just because it is not used elsewhere, doesn't mean it is inevitable under this option. [TRP]&lt;br /&gt;
:::::*Heh, not trying to dominate here, but yeah, I think this is the better way.  I dislike option 1 and 2 as symbolism in a LST file is pretty aggravating on its own.  (I'm pretty familiar with wild cards, so using '%' wasn't a big leap for me.)  Using the words AND and OR would make it so much clearer.  I dislike option 4 because it would require us to train people how to use such non-standard characters.  Option 3 seems to be dependent on which character(s) we use to mark the logical operators, so I'd like to narrow it down to a best choice to get behind.&lt;br /&gt;
::::::In the end, I won't be the one to make the final call.  But when that call is made, I'll have contributed something to the process, which is why I've joined with the team in the first place.&lt;br /&gt;
::::::And the rest of you just watching form the side lines, chime in!  Tom's right, 3 people can't haggle about this by themselves! :p --[[User:Michael W. Fender|Fluxxdog]] 02:26, 6 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [[User:Nuance|nuance]] Backslashes—I hate this option.  It's hard to say how much I hate it.&lt;br /&gt;
:*OK, I'll be the crazy one to ask this:  Why would this be bad for logical operators? --Fluxxdog&lt;br /&gt;
&lt;br /&gt;
* [[User:Nuance|nuance]] Can I point out I'm also convinced we shouldn't use / or - in things like class names.  is CL=Funky-Gibbon asking for how many levels in class &amp;quot;Funky-Gibbon&amp;quot; or is it asking for how many levels in class &amp;quot;Funky&amp;quot; less the variable &amp;quot;Gibbon&amp;quot;.  If I defined the variable Gibbon would it change the answer, what if I has class Funky and Variable Gibbon already defined and then defined class Funky-Gibbon?  Same argument with /  what does CL=Funky/Gibbon mean?&lt;br /&gt;
:*I know it used to be a rule that we weren't supposed to use dashes '-' for names.  It seems that got repealed at some point.  I think that's part of the discussion on LST naming standards.  (As far the CL= question, this is why I quickly lumped to the classlevel(&amp;quot;&amp;quot;) function.  But that's me ^^)--[[User:Michael W. Fender|Fluxxdog]] 02:42, 9 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
:*Very true since we don't seem to have a full list (see above in option 3 about standards vs. actually allowed)--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:* [[User:Nuance|nuance]] Sorry if it was a bit opaque, but I gave instructions for how to type it (on a windows machine at least).  Press and hold the &amp;quot;alt&amp;quot; key to the left of your space bar.  Now, using the numeric keypad, type the numbers 0171, realease the &amp;quot;alt&amp;quot; key.  Et viola «.  » is similarly produced with the numbers 0187.  Once you have one of them cut and paste is also an option.  Since we aren't fully in the unicode realm here, most OSes have some way to type characters in the ios-8859-1 range.&lt;br /&gt;
::*I'm not saying it's a bad idea, I'm saying it's not a good idea.  People will have to look into some kind of &amp;quot;tips and tricks&amp;quot; for their keyboard AND OS AND language AND font, since not every combination will work like that.  Heck, tested it on 3 different programs on my system and it doesn't work at all.  I think this is definitely a case of &amp;quot;the simpler the better&amp;quot;.--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::: [http://en.wikipedia.org/wiki/Guillemets#Typing_.22.C2.AB.22_and_.22.C2.BB.22_on_computers| Typing the Guilemets « »]&lt;br /&gt;
:::*We'd have to include that link everytime «AND» or «OR» is included or put the information in the docs just to ensure everyone has that info when coding LST files.  I'd say, at the very least, let's stick with characters that can't or shouldn't be used in Key names.--[[User:Michael W. Fender|Fluxxdog]] 02:19, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::::[[User:Nuance|nuance]] I disagree, we would need to include the info in our Docs, but that's it.&lt;br /&gt;
::::*It would have to be included for EVERY oppurtunity to use operators.--Fluxxdog&lt;br /&gt;
::::[[User:Nuance|nuance]] People already need to read the docs to code in LST.  We have mailing lists where people can ask questions.  I think « and » are infinitely better than \ in this context.  \and\ is horrendously ugly and IMO hard to read.  Point is « and » are easy to type on the vast majority of keyboards/OSes.  Most poeple who can't figure out how to do something in lst ask or look at the distributed sets.  If they're looking at distributed data then—at the very least—they can cut and paste «AND» and «OR» into their own code.&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1482</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1482"/>
		<updated>2009-04-09T00:42:50Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  &lt;br /&gt;
::::*Not True: Characters which should never be used in object names are Commas (,), Pipes (|), Backslashes (\), Colons (:), Semicolons (;), Periods (.), Brackets ([]), Percent (%), Asterisk (*) and Equals (=).  Perhaps we should change the language to &amp;quot;must not be used&amp;quot; to be more RFC 2119-like and avoid confusion. [TRP]&lt;br /&gt;
:::For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
::::*I'm not convinced.  Legality isn't defined by what parses cleanly.  There are specific reasons each of those characters is prohibited.  Try using backslash in a name inside a count() inside a Formula and see if it works.  If that does work, I'd have to go code hunting to figure out what the case is that prohibits backslash, but it's on that list for a reason. [TRP]&lt;br /&gt;
:::::*...You don't know why?  OK&amp;lt; just to test your challenge, I tried making a feat and having something else count() that number of times I took that feat.  Problem is, it won't even let me take the feat.  Possible safeguard? - Fluxxdog&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
:::I'll double back a bit.  If we go the route of using our &amp;quot;shouldn't use&amp;quot; characters, what options do we have?&lt;br /&gt;
::::(snip - please read [[Data LST Standards]])&lt;br /&gt;
::::* The issue here is that the items prohibited from names are the ONLY characters we can use without writing a converter. [TRP]&lt;br /&gt;
:::None of these should be used as they already have other functions already.&lt;br /&gt;
::::*This is where the problem lies.&lt;br /&gt;
:::::* Depends on your definition of problem, but the point I have is that we either make sacrifices from the ideal, or we delay the conversion to these tokens until we can reach the ideal, which may be years away.  I'd rather make sacrifices, which means using the characters on the prohibited list or getting REALLY wide agreement and community input that we can break datasets. [TRP]&lt;br /&gt;
::::::*That's my point.  Who uses a backslash in their data sets?  And the backslash isn't used anywhere else in LST files already.  I'd say it's the ideal nominee for such an operation. - Fluxxdog&lt;br /&gt;
:::*Backslashes (\)&lt;br /&gt;
:::Curious thought, does anything actually use this?  I don't think I've seen anything other than file names, which aren't used in LST files.&lt;br /&gt;
::::CHOOSE:TEMPLATE|Extra Weaponry\OR\Extra Appendage\OR\Extra Flavor\OR\Candle Power\OR\Super Eyesight&lt;br /&gt;
:::Unless a backslash is already being used, that doesn't look too bad itself.  And it's highly unlikely, even more so than &amp;lt; and &amp;gt;, that it's used in LST files for even homebrews.  It certainly isn't in our LST files now.--[[User:Michael W. Fender|Fluxxdog]] 02:32, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*Just a tad bit of a summation here:  If we use a character to denote the logical operators, the backslash '\' would seem the ideal choice as it's already restricted from being used in key names, so \AND\ and \OR\?  Unless I'm misunderstanding you, Tom, out of the &amp;quot;don't use&amp;quot; list, this is the only one that's both&lt;br /&gt;
::A) not in use for some other purpose&lt;br /&gt;
::B) not in use for data sets&lt;br /&gt;
:If I'm wrong, please say so.--[[User:Michael W. Fender|Fluxxdog]] 16:26, 5 April 2009 (CEST)&lt;br /&gt;
::* If the path is to follow the spelled-out separators, then of the reserved characters (,|\:.[]%*=), .[]%= are already in the syntax and can't be used due to parsing problems.  : is our main token/value separator, and I'd really like to avoid that (though we can use it if necessary).  That leaves ,|\* of which only | is used elsewhere in the token (as a separator).  ,*\ all remain unused in the context of CHOOSE.  , is used elsewhere, but if we convert the other tokens, it would otherwise be unused. [TRP]&lt;br /&gt;
:::*Here's what I'm getting at:  Backslash is not used anywhere else.  I've searched all the LST files in the data sets we publish (and just to be sure, I checked the alpha sets too) and nothing uses it.  I don't even recall coming across a token that does use it.  I'd rather leave the comma free, just in case and to avoid any confusion, and using a mathematical operator '*' just seems to ask for trouble somewhere.&lt;br /&gt;
:::If we go this route, is there any reason not to use the backslash for this?  I.E. \AND\ \OR\ --[[User:Michael W. Fender|Fluxxdog]] 01:14, 6 April 2009 (CEST)&lt;br /&gt;
::::* From a programming perspective, \AND\ is just as easy as a comma.  However, just to be clear, this process is to gather opinions, and we are missing some key players so far.  If the backslash is considered unclear, then that will be a major reason for it not to be used, and it will not be used.  You seem to have a strong opinion about this, but you need to give other people a chance to express their opinion as well.  Just because it is not used elsewhere, doesn't mean it is inevitable under this option. [TRP]&lt;br /&gt;
:::::*Heh, not trying to dominate here, but yeah, I think this is the better way.  I dislike option 1 and 2 as symbolism in a LST file is pretty aggravating on its own.  (I'm pretty familiar with wild cards, so using '%' wasn't a big leap for me.)  Using the words AND and OR would make it so much clearer.  I dislike option 4 because it would require us to train people how to use such non-standard characters.  Option 3 seems to be dependent on which character(s) we use to mark the logical operators, so I'd like to narrow it down to a best choice to get behind.&lt;br /&gt;
::::::In the end, I won't be the one to make the final call.  But when that call is made, I'll have contributed something to the process, which is why I've joined with the team in the first place.&lt;br /&gt;
::::::And the rest of you just watching form the side lines, chime in!  Tom's right, 3 people can't haggle about this by themselves! :p --[[User:Michael W. Fender|Fluxxdog]] 02:26, 6 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [[User:Nuance|nuance]] Backslashes—I hate this option.  It's hard to say how much I hate it.&lt;br /&gt;
:*OK, I'll be the crazy one to ask this:  Why would this be bad for logical operators? --Fluxxdog&lt;br /&gt;
&lt;br /&gt;
* [[User:Nuance|nuance]] Can I point out I'm also convinced we shouldn't use / or - in things like class names.  is CL=Funky-Gibbon asking for how many levels in class &amp;quot;Funky-Gibbon&amp;quot; or is it asking for how many levels in class &amp;quot;Funky&amp;quot; less the variable &amp;quot;Gibbon&amp;quot;.  If I defined the variable Gibbon would it change the answer, what if I has class Funky and Variable Gibbon already defined and then defined class Funky-Gibbon?  Same argument with /  what does CL=Funky/Gibbon mean?&lt;br /&gt;
:*I know it used to be a rule that we weren't supposed to use dashes '-' for names.  It seems that got repealed at some point.  I think that's part of the discussion on LST naming standards.  (As far the CL= question, this is why I quickly lumped to the classlevel(&amp;quot;&amp;quot;) function.  But that's me ^^)--[[User:Michael W. Fender|Fluxxdog]] 02:42, 9 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
:*Very true since we don't seem to have a full list (see above in option 3 about standards vs. actually allowed)--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:* [[User:Nuance|nuance]] Sorry if it was a bit opaque, but I gave instructions for how to type it (on a windows machine at least).  Press and hold the &amp;quot;alt&amp;quot; key to the left of your space bar.  Now, using the numeric keypad, type the numbers 0171, realease the &amp;quot;alt&amp;quot; key.  Et viola «.  » is similarly produced with the numbers 0187.  Once you have one of them cut and paste is also an option.  Since we aren't fully in the unicode realm here, most OSes have some way to type characters in the ios-8859-1 range.&lt;br /&gt;
::*I'm not saying it's a bad idea, I'm saying it's not a good idea.  People will have to look into some kind of &amp;quot;tips and tricks&amp;quot; for their keyboard AND OS AND language AND font, since not every combination will work like that.  Heck, tested it on 3 different programs on my system and it doesn't work at all.  I think this is definitely a case of &amp;quot;the simpler the better&amp;quot;.--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::: [http://en.wikipedia.org/wiki/Guillemets#Typing_.22.C2.AB.22_and_.22.C2.BB.22_on_computers| Typing the Guilemets « »]&lt;br /&gt;
:::*We'd have to include that link everytime «AND» or «OR» is included or put the information in the docs just to ensure everyone has that info when coding LST files.  I'd say, at the very least, let's stick with characters that can't or shouldn't be used in Key names.--[[User:Michael W. Fender|Fluxxdog]] 02:19, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::::[[User:Nuance|nuance]] I disagree, we would need to include the info in our Docs, but that's it.  People already need to read the docs to code in LST.  We have mailing lists where people can ask questions.  I think « and » are infinitely better than \ in this context.  \and\ is horrendously ugly and IMO hard to read.  Point is « and » are easy to type on the vast majority of keyboards/OSes.  Most poeple who can't figure out how to do something in lst ask or look at the distributed sets.  If they're looking at distributed data then—at the very least—they can cut and paste «AND» and «OR» into their own code.&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1472</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1472"/>
		<updated>2009-04-06T00:26:14Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  &lt;br /&gt;
::::*Not True: Characters which should never be used in object names are Commas (,), Pipes (|), Backslashes (\), Colons (:), Semicolons (;), Periods (.), Brackets ([]), Percent (%), Asterisk (*) and Equals (=).  Perhaps we should change the language to &amp;quot;must not be used&amp;quot; to be more RFC 2119-like and avoid confusion. [TRP]&lt;br /&gt;
:::For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
::::*I'm not convinced.  Legality isn't defined by what parses cleanly.  There are specific reasons each of those characters is prohibited.  Try using backslash in a name inside a count() inside a Formula and see if it works.  If that does work, I'd have to go code hunting to figure out what the case is that prohibits backslash, but it's on that list for a reason. [TRP]&lt;br /&gt;
:::::*...You don't know why?  OK&amp;lt; just to test your challenge, I tried making a feat and having something else count() that number of times I took that feat.  Problem is, it won't even let me take the feat.  Possible safeguard? - Fluxxdog&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
:::I'll double back a bit.  If we go the route of using our &amp;quot;shouldn't use&amp;quot; characters, what options do we have?&lt;br /&gt;
::::(snip - please read [[Data LST Standards]])&lt;br /&gt;
::::* The issue here is that the items prohibited from names are the ONLY characters we can use without writing a converter. [TRP]&lt;br /&gt;
:::None of these should be used as they already have other functions already.&lt;br /&gt;
::::*This is where the problem lies.&lt;br /&gt;
:::::* Depends on your definition of problem, but the point I have is that we either make sacrifices from the ideal, or we delay the conversion to these tokens until we can reach the ideal, which may be years away.  I'd rather make sacrifices, which means using the characters on the prohibited list or getting REALLY wide agreement and community input that we can break datasets. [TRP]&lt;br /&gt;
::::::*That's my point.  Who uses a backslash in their data sets?  And the backslash isn't used anywhere else in LST files already.  I'd say it's the ideal nominee for such an operation. - Fluxxdog&lt;br /&gt;
:::*Backslashes (\)&lt;br /&gt;
:::Curious thought, does anything actually use this?  I don't think I've seen anything other than file names, which aren't used in LST files.&lt;br /&gt;
::::CHOOSE:TEMPLATE|Extra Weaponry\OR\Extra Appendage\OR\Extra Flavor\OR\Candle Power\OR\Super Eyesight&lt;br /&gt;
:::Unless a backslash is already being used, that doesn't look too bad itself.  And it's highly unlikely, even more so than &amp;lt; and &amp;gt;, that it's used in LST files for even homebrews.  It certainly isn't in our LST files now.--[[User:Michael W. Fender|Fluxxdog]] 02:32, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*Just a tad bit of a summation here:  If we use a character to denote the logical operators, the backslash '\' would seem the ideal choice as it's already restricted from being used in key names, so \AND\ and \OR\?  Unless I'm misunderstanding you, Tom, out of the &amp;quot;don't use&amp;quot; list, this is the only one that's both&lt;br /&gt;
::A) not in use for some other purpose&lt;br /&gt;
::B) not in use for data sets&lt;br /&gt;
:If I'm wrong, please say so.--[[User:Michael W. Fender|Fluxxdog]] 16:26, 5 April 2009 (CEST)&lt;br /&gt;
::* If the path is to follow the spelled-out separators, then of the reserved characters (,|\:.[]%*=), .[]%= are already in the syntax and can't be used due to parsing problems.  : is our main token/value separator, and I'd really like to avoid that (though we can use it if necessary).  That leaves ,|\* of which only | is used elsewhere in the token (as a separator).  ,*\ all remain unused in the context of CHOOSE.  , is used elsewhere, but if we convert the other tokens, it would otherwise be unused. [TRP]&lt;br /&gt;
:::*Here's what I'm getting at:  Backslash is not used anywhere else.  I've searched all the LST files in the data sets we publish (and just to be sure, I checked the alpha sets too) and nothing uses it.  I don't even recall coming across a token that does use it.  I'd rather leave the comma free, just in case and to avoid any confusion, and using a mathematical operator '*' just seems to ask for trouble somewhere.&lt;br /&gt;
:::If we go this route, is there any reason not to use the backslash for this?  I.E. \AND\ \OR\ --[[User:Michael W. Fender|Fluxxdog]] 01:14, 6 April 2009 (CEST)&lt;br /&gt;
::::* From a programming perspective, \AND\ is just as easy as a comma.  However, just to be clear, this process is to gather opinions, and we are missing some key players so far.  If the backslash is considered unclear, then that will be a major reason for it not to be used, and it will not be used.  You seem to have a strong opinion about this, but you need to give other people a chance to express their opinion as well.  Just because it is not used elsewhere, doesn't mean it is inevitable under this option. [TRP]&lt;br /&gt;
:::::*Heh, not trying to dominate here, but yeah, I think this is the better way.  I dislike option 1 and 2 as symbolism in a LST file is pretty aggravating on its own.  (I'm pretty familiar with wild cards, so using '%' wasn't a big leap for me.)  Using the words AND and OR would make it so much clearer.  I dislike option 4 because it would require us to train people how to use such non-standard characters.  Option 3 seems to be dependent on which character(s) we use to mark the logical operators, so I'd like to narrow it down to a best choice to get behind.&lt;br /&gt;
::::::In the end, I won't be the one to make the final call.  But when that call is made, I'll have contributed something to the process, which is why I've joined with the team in the first place.&lt;br /&gt;
::::::And the rest of you just watching form the side lines, chime in!  Tom's right, 3 people can't haggle about this by themselves! :p --[[User:Michael W. Fender|Fluxxdog]] 02:26, 6 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
:*Very true since we don't seem to have a full list (see above in option 3 about standards vs. actually allowed)--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:* [[User:Nuance|nuance]] Sorry if it was a bit opaque, but I gave instructions for how to type it (on a windows machine at least).  Press and hold the &amp;quot;alt&amp;quot; key to the left of your space bar.  Now, using the numeric keypad, type the numbers 0171, realease the &amp;quot;alt&amp;quot; key.  Et viola «.  » is similarly produced with the numbers 0187.  Once you have one of them cut and paste is also an option.  Since we aren't fully in the unicode realm here, most OSes have some way to type characters in the ios-8859-1 range.&lt;br /&gt;
::*I'm not saying it's a bad idea, I'm saying it's not a good idea.  People will have to look into some kind of &amp;quot;tips and tricks&amp;quot; for their keyboard AND OS AND language AND font, since not every combination will work like that.  Heck, tested it on 3 different programs on my system and it doesn't work at all.  I think this is definitely a case of &amp;quot;the simpler the better&amp;quot;.--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::: [http://en.wikipedia.org/wiki/Guillemets#Typing_.22.C2.AB.22_and_.22.C2.BB.22_on_computers| Typing the Guilemets « »]&lt;br /&gt;
:::*We'd have to include that link everytime «AND» or «OR» is included or put the information in the docs just to ensure everyone has that info when coding LST files.  I'd say, at the very least, let's stick with characters that can't or shouldn't be used in Key names.--[[User:Michael W. Fender|Fluxxdog]] 02:19, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1470</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1470"/>
		<updated>2009-04-05T23:14:00Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  &lt;br /&gt;
::::*Not True: Characters which should never be used in object names are Commas (,), Pipes (|), Backslashes (\), Colons (:), Semicolons (;), Periods (.), Brackets ([]), Percent (%), Asterisk (*) and Equals (=).  Perhaps we should change the language to &amp;quot;must not be used&amp;quot; to be more RFC 2119-like and avoid confusion. [TRP]&lt;br /&gt;
:::For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
::::*I'm not convinced.  Legality isn't defined by what parses cleanly.  There are specific reasons each of those characters is prohibited.  Try using backslash in a name inside a count() inside a Formula and see if it works.  If that does work, I'd have to go code hunting to figure out what the case is that prohibits backslash, but it's on that list for a reason. [TRP]&lt;br /&gt;
:::::*...You don't know why?  OK&amp;lt; just to test your challenge, I tried making a feat and having something else count() that number of times I took that feat.  Problem is, it won't even let me take the feat.  Possible safeguard? - Fluxxdog&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
:::I'll double back a bit.  If we go the route of using our &amp;quot;shouldn't use&amp;quot; characters, what options do we have?&lt;br /&gt;
::::(snip - please read [[Data LST Standards]])&lt;br /&gt;
::::* The issue here is that the items prohibited from names are the ONLY characters we can use without writing a converter. [TRP]&lt;br /&gt;
:::None of these should be used as they already have other functions already.&lt;br /&gt;
::::*This is where the problem lies.&lt;br /&gt;
:::::* Depends on your definition of problem, but the point I have is that we either make sacrifices from the ideal, or we delay the conversion to these tokens until we can reach the ideal, which may be years away.  I'd rather make sacrifices, which means using the characters on the prohibited list or getting REALLY wide agreement and community input that we can break datasets. [TRP]&lt;br /&gt;
::::::*That's my point.  Who uses a backslash in their data sets?  And the backslash isn't used anywhere else in LST files already.  I'd say it's the ideal nominee for such an operation. - Fluxxdog&lt;br /&gt;
:::*Backslashes (\)&lt;br /&gt;
:::Curious thought, does anything actually use this?  I don't think I've seen anything other than file names, which aren't used in LST files.&lt;br /&gt;
::::CHOOSE:TEMPLATE|Extra Weaponry\OR\Extra Appendage\OR\Extra Flavor\OR\Candle Power\OR\Super Eyesight&lt;br /&gt;
:::Unless a backslash is already being used, that doesn't look too bad itself.  And it's highly unlikely, even more so than &amp;lt; and &amp;gt;, that it's used in LST files for even homebrews.  It certainly isn't in our LST files now.--[[User:Michael W. Fender|Fluxxdog]] 02:32, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*Just a tad bit of a summation here:  If we use a character to denote the logical operators, the backslash '\' would seem the ideal choice as it's already restricted from being used in key names, so \AND\ and \OR\?  Unless I'm misunderstanding you, Tom, out of the &amp;quot;don't use&amp;quot; list, this is the only one that's both&lt;br /&gt;
::A) not in use for some other purpose&lt;br /&gt;
::B) not in use for data sets&lt;br /&gt;
:If I'm wrong, please say so.--[[User:Michael W. Fender|Fluxxdog]] 16:26, 5 April 2009 (CEST)&lt;br /&gt;
::* If the path is to follow the spelled-out separators, then of the reserved characters (,|\:.[]%*=), .[]%= are already in the syntax and can't be used due to parsing problems.  : is our main token/value separator, and I'd really like to avoid that (though we can use it if necessary).  That leaves ,|\* of which only | is used elsewhere in the token (as a separator).  ,*\ all remain unused in the context of CHOOSE.  , is used elsewhere, but if we convert the other tokens, it would otherwise be unused. [TRP]&lt;br /&gt;
:::*Here's what I'm getting at:  Backslash is not used anywhere else.  I've searched all the LST files in the data sets we publish (and just to be sure, I checked the alpha sets too) and nothing uses it.  I don't even recall coming across a token that does use it.  I'd rather leave the comma free, just in case and to avoid any confusion, and using a mathematical operator '*' just seems to ask for trouble somewhere.&lt;br /&gt;
:::If we go this route, is there any reason not to use the backslash for this?  I.E. \AND\ \OR\ --[[User:Michael W. Fender|Fluxxdog]] 01:14, 6 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
:*Very true since we don't seem to have a full list (see above in option 3 about standards vs. actually allowed)--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:* [[User:Nuance|nuance]] Sorry if it was a bit opaque, but I gave instructions for how to type it (on a windows machine at least).  Press and hold the &amp;quot;alt&amp;quot; key to the left of your space bar.  Now, using the numeric keypad, type the numbers 0171, realease the &amp;quot;alt&amp;quot; key.  Et viola «.  » is similarly produced with the numbers 0187.  Once you have one of them cut and paste is also an option.  Since we aren't fully in the unicode realm here, most OSes have some way to type characters in the ios-8859-1 range.&lt;br /&gt;
::*I'm not saying it's a bad idea, I'm saying it's not a good idea.  People will have to look into some kind of &amp;quot;tips and tricks&amp;quot; for their keyboard AND OS AND language AND font, since not every combination will work like that.  Heck, tested it on 3 different programs on my system and it doesn't work at all.  I think this is definitely a case of &amp;quot;the simpler the better&amp;quot;.--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::: [http://en.wikipedia.org/wiki/Guillemets#Typing_.22.C2.AB.22_and_.22.C2.BB.22_on_computers| Typing the Guilemets « »]&lt;br /&gt;
:::*We'd have to include that link everytime «AND» or «OR» is included or put the information in the docs just to ensure everyone has that info when coding LST files.  I'd say, at the very least, let's stick with characters that can't or shouldn't be used in Key names.--[[User:Michael W. Fender|Fluxxdog]] 02:19, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1468</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1468"/>
		<updated>2009-04-05T14:26:04Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  &lt;br /&gt;
::::*Not True: Characters which should never be used in object names are Commas (,), Pipes (|), Backslashes (\), Colons (:), Semicolons (;), Periods (.), Brackets ([]), Percent (%), Asterisk (*) and Equals (=).  Perhaps we should change the language to &amp;quot;must not be used&amp;quot; to be more RFC 2119-like and avoid confusion. [TRP]&lt;br /&gt;
:::For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
::::*I'm not convinced.  Legality isn't defined by what parses cleanly.  There are specific reasons each of those characters is prohibited.  Try using backslash in a name inside a count() inside a Formula and see if it works.  If that does work, I'd have to go code hunting to figure out what the case is that prohibits backslash, but it's on that list for a reason. [TRP]&lt;br /&gt;
:::::*...You don't know why?  OK&amp;lt; just to test your challenge, I tried making a feat and having something else count() that number of times I took that feat.  Problem is, it won't even let me take the feat.  Possible safeguard? - Fluxxdog&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
:::I'll double back a bit.  If we go the route of using our &amp;quot;shouldn't use&amp;quot; characters, what options do we have?&lt;br /&gt;
::::(snip - please read [[Data LST Standards]])&lt;br /&gt;
::::* The issue here is that the items prohibited from names are the ONLY characters we can use without writing a converter. [TRP]&lt;br /&gt;
:::None of these should be used as they already have other functions already.&lt;br /&gt;
::::*This is where the problem lies.&lt;br /&gt;
:::::* Depends on your definition of problem, but the point I have is that we either make sacrifices from the ideal, or we delay the conversion to these tokens until we can reach the ideal, which may be years away.  I'd rather make sacrifices, which means using the characters on the prohibited list or getting REALLY wide agreement and community input that we can break datasets. [TRP]&lt;br /&gt;
::::::*That's my point.  Who uses a backslash in their data sets?  And the backslash isn't used anywhere else in LST files already.  I'd say it's the ideal nominee for such an operation. - Fluxxdog&lt;br /&gt;
:::*Backslashes (\)&lt;br /&gt;
:::Curious thought, does anything actually use this?  I don't think I've seen anything other than file names, which aren't used in LST files.&lt;br /&gt;
::::CHOOSE:TEMPLATE|Extra Weaponry\OR\Extra Appendage\OR\Extra Flavor\OR\Candle Power\OR\Super Eyesight&lt;br /&gt;
:::Unless a backslash is already being used, that doesn't look too bad itself.  And it's highly unlikely, even more so than &amp;lt; and &amp;gt;, that it's used in LST files for even homebrews.  It certainly isn't in our LST files now.--[[User:Michael W. Fender|Fluxxdog]] 02:32, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*Just a tad bit of a summation here:  If we use a character to denote the logical operators, the backslash '\' would seem the ideal choice as it's already restricted from being used in key names, so \AND\ and \OR\?  Unless I'm misunderstanding you, Tom, out of the &amp;quot;don't use&amp;quot; list, this is the only one that's both&lt;br /&gt;
::A) not in use for some other purpose&lt;br /&gt;
::B) not in use for data sets&lt;br /&gt;
:If I'm wrong, please say so.--[[User:Michael W. Fender|Fluxxdog]] 16:26, 5 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
:*Very true since we don't seem to have a full list (see above in option 3 about standards vs. actually allowed)--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:* [[User:Nuance|nuance]] Sorry if it was a bit opaque, but I gave instructions for how to type it (on a windows machine at least).  Press and hold the &amp;quot;alt&amp;quot; key to the left of your space bar.  Now, using the numeric keypad, type the numbers 0171, realease the &amp;quot;alt&amp;quot; key.  Et viola «.  » is similarly produced with the numbers 0187.  Once you have one of them cut and paste is also an option.  Since we aren't fully in the unicode realm here, most OSes have some way to type characters in the ios-8859-1 range.&lt;br /&gt;
::*I'm not saying it's a bad idea, I'm saying it's not a good idea.  People will have to look into some kind of &amp;quot;tips and tricks&amp;quot; for their keyboard AND OS AND language AND font, since not every combination will work like that.  Heck, tested it on 3 different programs on my system and it doesn't work at all.  I think this is definitely a case of &amp;quot;the simpler the better&amp;quot;.--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::: [http://en.wikipedia.org/wiki/Guillemets#Typing_.22.C2.AB.22_and_.22.C2.BB.22_on_computers| Typing the Guilemets « »]&lt;br /&gt;
:::*We'd have to include that link everytime «AND» or «OR» is included or put the information in the docs just to ensure everyone has that info when coding LST files.  I'd say, at the very least, let's stick with characters that can't or shouldn't be used in Key names.--[[User:Michael W. Fender|Fluxxdog]] 02:19, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1436</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1436"/>
		<updated>2009-04-05T00:32:02Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
:::I'll double back a bit.  If we go the route of using our &amp;quot;shouldn't use&amp;quot; characters, what options do we have?&lt;br /&gt;
:::*Commas (,)&lt;br /&gt;
:::*Pipes (|)&lt;br /&gt;
:::*Colons (:)&lt;br /&gt;
:::*Semicolons (;)&lt;br /&gt;
:::*Periods (.)&lt;br /&gt;
:::*Brackets ([])&lt;br /&gt;
:::*Percent (%)&lt;br /&gt;
:::*Asterisk (*)&lt;br /&gt;
:::*Equals (=)&lt;br /&gt;
:::None of these should be used as they already have other functions already.&lt;br /&gt;
:::*Backslashes (\)&lt;br /&gt;
:::Curious thought, does anything actually use this?  I don't think I've seen anything other than file names, which aren't used in LST files.&lt;br /&gt;
::::CHOOSE:TEMPLATE|Extra Weaponry\OR\Extra Appendage\OR\Extra Flavor\OR\Candle Power\OR\Super Eyesight&lt;br /&gt;
:::Unless a backslash is already being used, that doesn't look too bad itself.  And it's highly unlikely, even more so than &amp;lt; and &amp;gt;, that it's used in LST files for even homebrews.  It certainly isn't in our LST files now.--[[User:Michael W. Fender|Fluxxdog]] 02:32, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
:*Very true since we don't seem to have a full list (see above in option 3 about standards vs. actually allowed)--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:* [[User:Nuance|nuance]] Sorry if it was a bit opaque, but I gave instructions for how to type it (on a windows machine at least).  Press and hold the &amp;quot;alt&amp;quot; key to the left of your space bar.  Now, using the numeric keypad, type the numbers 0171, realease the &amp;quot;alt&amp;quot; key.  Et viola «.  » is similarly produced with the numbers 0187.  Once you have one of them cut and paste is also an option.  Since we aren't fully in the unicode realm here, most OSes have some way to type characters in the ios-8859-1 range.&lt;br /&gt;
::*I'm not saying it's a bad idea, I'm saying it's not a good idea.  People will have to look into some kind of &amp;quot;tips and tricks&amp;quot; for their keyboard AND OS AND language AND font, since not every combination will work like that.  Heck, tested it on 3 different programs on my system and it doesn't work at all.  I think this is definitely a case of &amp;quot;the simpler the better&amp;quot;.--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::: [http://en.wikipedia.org/wiki/Guillemets#Typing_.22.C2.AB.22_and_.22.C2.BB.22_on_computers| Typing the Guilemets « »]&lt;br /&gt;
:::*We'd have to include that link everytime «AND» or «OR» is included or put the information in the docs just to ensure everyone has that info when coding LST files.  I'd say, at the very least, let's stick with characters that can't or shouldn't be used in Key names.--[[User:Michael W. Fender|Fluxxdog]] 02:19, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1434</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1434"/>
		<updated>2009-04-05T00:19:32Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
:*Very true since we don't seem to have a full list (see above in option 3 about standards vs. actually allowed)--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:* [[User:Nuance|nuance]] Sorry if it was a bit opaque, but I gave instructions for how to type it (on a windows machine at least).  Press and hold the &amp;quot;alt&amp;quot; key to the left of your space bar.  Now, using the numeric keypad, type the numbers 0171, realease the &amp;quot;alt&amp;quot; key.  Et viola «.  » is similarly produced with the numbers 0187.  Once you have one of them cut and paste is also an option.  Since we aren't fully in the unicode realm here, most OSes have some way to type characters in the ios-8859-1 range.&lt;br /&gt;
::*I'm not saying it's a bad idea, I'm saying it's not a good idea.  People will have to look into some kind of &amp;quot;tips and tricks&amp;quot; for their keyboard AND OS AND language AND font, since not every combination will work like that.  Heck, tested it on 3 different programs on my system and it doesn't work at all.  I think this is definitely a case of &amp;quot;the simpler the better&amp;quot;.--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::: [http://en.wikipedia.org/wiki/Guillemets#Typing_.22.C2.AB.22_and_.22.C2.BB.22_on_computers| Typing the Guilemets « »]&lt;br /&gt;
:::*We'd have to include that link everytime «AND» or «OR» is included or put the information in the docs just to ensure everyone has that info when coding LST files.  I'd say, at the very least, let's stick with characters that can't or shouldn't be used in Key names.--[[User:Michael W. Fender|Fluxxdog]] 02:19, 5 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1428</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1428"/>
		<updated>2009-04-04T21:58:25Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
:*Very true since we don't seem to have a full list (see above in option 3 about standards vs. actually allowed)--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:* [[User:Nuance|nuance]] Sorry if it was a bit opaque, but I gave instructions for how to type it (on a windows machine at least).  Press and hold the &amp;quot;alt&amp;quot; key to the left of your space bar.  Now, using the numeric keypad, type the numbers 0171, realease the &amp;quot;alt&amp;quot; key.  Et viola «.  » is similarly produced with the numbers 0187.  Once you have one of them cut and paste is also an option.  Since we aren't fully in the unicode realm here, most OSes have some way to type characters in the ios-8859-1 range.&lt;br /&gt;
::*I'm not saying it's a bad idea, I'm saying it's not a good idea.  People will have to look into some kind of &amp;quot;tips and tricks&amp;quot; for their keyboard AND OS AND language AND font, since not every combination will work like that.  Heck, tested it on 3 different programs on my system and it doesn't work at all.  I think this is definitely a case of &amp;quot;the simpler the better&amp;quot;.--[[User:Michael W. Fender|Fluxxdog]] 23:58, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1426</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1426"/>
		<updated>2009-04-04T21:35:37Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that the unicode discussion here was broken out into option #4. - thpr Apr 4&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* You may find the [[Data LST Standards]] useful to find reserved characters. &lt;br /&gt;
::*Not as helpful as you think.  This just lists what should and shouldn't be used in our releases, not what actually can and can't be used.  For example, we shouldn't use a backslash '\' but we can.&lt;br /&gt;
:::DEFINE:Spaced\Variable|0	BONUS:VAR|Spaced\Variable|3	DESC:Here's the value: %1|Spaced\Variable&lt;br /&gt;
:::...still spits out &amp;quot;''Here's the value: 3''&amp;quot;--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
:* I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::* I happen to prefer the uppercase versions.  - thpr&amp;lt;br&amp;gt;&lt;br /&gt;
:::One needs to consider also that these will often be used with Primitive objects, e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;or&amp;gt;Extra Appendage&amp;lt;or&amp;gt;Extra Flavor&amp;lt;or&amp;gt;Candle Power&amp;lt;or&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::CHOOSE:TEMPLATE|Extra Weaponry&amp;lt;OR&amp;gt;Extra Appendage&amp;lt;OR&amp;gt;Extra Flavor&amp;lt;OR&amp;gt;Candle Power&amp;lt;OR&amp;gt;Super Eyesight&amp;lt;br&amp;gt;&lt;br /&gt;
:::... so I feel that the upper case keyword is far more consistent with our tokens (where the keywords like TEMPLATE, TYPE, etc. are all upper case) and also stand out more.&lt;br /&gt;
:::*How dare you use logic!  ^^  But yeah, when you put it that way, we should stick to the standard of using CAPS for hardcoded words.--[[User:Michael W. Fender|Fluxxdog]] 23:35, 4 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #3 here.&lt;br /&gt;
&lt;br /&gt;
==Option #4, Leverage Unicode to use other separators, e.g. «OR» as an OR separator, Using «AND» as an AND separator==&lt;br /&gt;
&lt;br /&gt;
Examples use lowercase&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1«or»Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«or»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo«and»!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«or»!TYPE=Bar]«or»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar]«and»QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
&lt;br /&gt;
*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier. -[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
:* Really doesn't make a huge difference.  The &amp;lt; and &amp;gt; still aren't identified as reserved characters.  It reduces the risk slightly, but it's probably small with &amp;lt;AND&amp;gt; and &amp;lt;OR&amp;gt; anyway. - thpr&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #4 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1390</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1390"/>
		<updated>2009-04-01T23:12:29Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
* Part of that is that the pipe '|' just seems to break that attention naturally, which is why it works so well as a subtoken separator.  But I think we should move away from giving two jobs to the same thing.--[[User:Michael W. Fender|Fluxxdog]] 01:12, 2 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:grabbing a random example:&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo«AND»!TYPE=Bar«OR»TYPE=Goo]«OR»QUALIFIED«AND»!PC&lt;br /&gt;
&lt;br /&gt;
:I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
::*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier.&lt;br /&gt;
:I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #3 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1389</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1389"/>
		<updated>2009-04-01T23:08:04Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
* Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
* Showing this syntax to a few non coders it definitely wasn't instinctively clear that ',' was an AND symbol.  However, '|' was instinctively picked up as an OR symbol [[User:Karianna|karianna]] 18:59, 1 April 2009 (CEST)&lt;br /&gt;
Insert comments on option #1 here.&lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
* [nuance] LST files are UTF8, so theoretically we can use any unicode character.  The problem with that is editor support—which it has to be said is getting better all the time.  Since full unicde may be a bit of a shock , iso-8859-1 (latin 1) has « and » (alt0171 and alt0187 respectively).  It also has ¿ (alt0191) which ties up nicely with ? if was want to wrap words.&lt;br /&gt;
&lt;br /&gt;
:grabbing a random example:&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo«AND»!TYPE=Bar«OR»TYPE=Goo]«OR»QUALIFIED«AND»!PC&lt;br /&gt;
&lt;br /&gt;
:I think the lower case version stands out better.&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo«and»!TYPE=Bar«or»TYPE=Goo]«or»QUALIFIED«and»!PC&lt;br /&gt;
&lt;br /&gt;
:Of course, fully in the realm of unicode madness, we could always use &amp;amp;#8743; for and, and &amp;amp;#8744; for or, but the data folk might shoot us :-).  Actually we could consider ^ to mean and, paired with | &lt;br /&gt;
::*I'd like to move away from symbolism for words and actually use the words themselves.  It makes it a lot easier for new people to read.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC[TYPE=Foo^!TYPE=Bar|TYPE=Goo]|QUALIFIED^!PC&lt;br /&gt;
&lt;br /&gt;
::...allows a choice of:&lt;br /&gt;
::(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
::OR&lt;br /&gt;
::(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
:I think I prefer the last one, but I don't like the way | looks against ].  On this wiki ! is hard to distinguish from |, ¬ (shift ` on my keyboard) actually means not.  I think using « and » in place of [ and ], and ¬ for not&lt;br /&gt;
&lt;br /&gt;
::CHOOSE:TEMPLATE|PC«TYPE=Foo^¬TYPE=Bar|TYPE=Goo»|QUALIFIED^¬PC&lt;br /&gt;
&lt;br /&gt;
:is easier to read but that might be a bit radical.  Perhaps it's time we has that full reserved characters discussion.&lt;br /&gt;
&lt;br /&gt;
*Using '«' and '»' is a good idea, but how exactly do you type that in?  I think we should stick closer to what's available on the common keyboards without having to dig through a font list.  Although, that gives me an idea...  What about a character combinations?&lt;br /&gt;
&lt;br /&gt;
:Hey coders!  Could we do something along the lines of &amp;lt;&amp;lt;and&amp;gt;&amp;gt;?  Using 2 '&amp;lt;' to signify a logical operator?  Surely that must make things easier.&lt;br /&gt;
:I'll definitely agree with nuance on using lowercase for 'and' and 'or'.  Makes it so much more obvious.--[[User:Michael W. Fender|Fluxxdog]] 01:08, 2 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #3 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1380</id>
		<title>Separator Characters</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Separator_Characters&amp;diff=1380"/>
		<updated>2009-04-01T02:03:58Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
There is an issue as far as long-term consistency for the use of characters to represent logical &amp;quot;AND&amp;quot; and &amp;quot;OR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This document uses CHOOSE:TEMPLATE (since it doesn't exist) as an example.  For additional CHOOSE tokens and proposals, you can see [[Architecture Changes 5.17]]&lt;br /&gt;
&lt;br /&gt;
To readers: Please add additional options if you have additional ideas.  You may find the [[Data LST Standards]] useful to look at reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Option #1, Using Pipe as an OR separator, Using Comma as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1|Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo|!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo|!TYPE=Bar]|QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar|TYPE=Goo]|QUALIFIED,!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*Note that this is the existing syntax used in the CHOOSE proposals as they are shown on the Wiki. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #1 here.   &lt;br /&gt;
&lt;br /&gt;
==Option #2, Using Comma as an OR separator, Using Ampersand as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1,Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo,!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;amp;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo,!TYPE=Bar],QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar]&amp;amp;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;amp;!TYPE=Bar,TYPE=Goo],QUALIFIED&amp;amp;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I think this is a problem, as ampersand is not a reserved character in PCGen. This is used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  Therefore, in order to implement this properly, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16).  While I think this is a nice idea, I think the hurdle is too large to do this quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
Insert other comments on option #2 here.  &lt;br /&gt;
&lt;br /&gt;
==Option #3, Using &amp;lt;OR&amp;gt; as an OR separator, Using &amp;lt;AND&amp;gt; as an AND separator==&lt;br /&gt;
&lt;br /&gt;
===Using Primitives===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|Template1&amp;lt;OR&amp;gt;Template2&lt;br /&gt;
&lt;br /&gt;
...allows a choice of Template1 or Template2&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
===Using Single a Qualifier===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of any Template that the character already has, where the Template is (a) both TYPE=Foo and not TYPE=Bar OR (b) TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
===Using Multiple Qualifiers===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;OR&amp;gt;!TYPE=Bar]&amp;lt;OR&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of&lt;br /&gt;
(a) Any Template that the character already has, where the Template is either TYPE=Foo or not TYPE=Bar&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar]&amp;lt;AND&amp;gt;QUALIFIED[TYPE=Goo]&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is both TYPE=Foo and not TYPE=Bar&lt;br /&gt;
AND&lt;br /&gt;
(b) Any Template the PC is qualified to take that is TYPE=Goo&lt;br /&gt;
&lt;br /&gt;
CHOOSE:TEMPLATE|PC[TYPE=Foo&amp;lt;AND&amp;gt;!TYPE=Bar&amp;lt;OR&amp;gt;TYPE=Goo]&amp;lt;OR&amp;gt;QUALIFIED&amp;lt;AND&amp;gt;!PC&lt;br /&gt;
&lt;br /&gt;
...allows a choice of:&lt;br /&gt;
(a) Any Template that the character already has, where the Template is (a1) both TYPE=Foo and not TYPE=Bar OR (a2) TYPE=Goo&lt;br /&gt;
OR&lt;br /&gt;
(b) Any Template that the PC is qualified to take, but has not yet taken.&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
&lt;br /&gt;
*I Have a similar concern here to option #2, as we have not reserved &amp;lt; or &amp;gt; as restricted characters. &amp;lt; and &amp;gt; are used in actual data that we ship, and thus we would expect homebrews to feel this character is also legal.  There is less risk of using (literally) &amp;lt;OR&amp;gt; or &amp;lt;AND&amp;gt;, which makes this somewhat safer than option #2.  However, this does introduce restrictions on data naming.  In order to implement this without risk, we end up having to have a Data Converter, as this will break existing PCs. (which is the open FREQ, not the item completed for 5.16). I think the hurdle is too large to do the FREQ converter quickly. [TRP]&lt;br /&gt;
&lt;br /&gt;
*Do the characters '&amp;lt;' and '&amp;gt;' matter?  Are there other characters that can't be used in a key name that can be used for identifying a logical operator?  What about '$'?  Are there any characters that we cannot use whatsoever for this? --[[User:Michael W. Fender|Fluxxdog]] 04:03, 1 April 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
Insert comments on option #3 here.&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1260</id>
		<title>Michael W. Fender</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1260"/>
		<updated>2009-02-08T03:15:23Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joined October 17, 2008&lt;br /&gt;
&lt;br /&gt;
'''Additional Contact info:'''&lt;br /&gt;
&amp;lt;br&amp;gt;GTalk: fluxxdog@gmail.com&lt;br /&gt;
&amp;lt;br&amp;gt;MSN: fluxxdog@bellsouth.net&lt;br /&gt;
&amp;lt;br&amp;gt;E-Mail: fluxxdog@gmail.com&lt;br /&gt;
&lt;br /&gt;
'''Current projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2474790 - AEG - Feats Source Book - Reveiw &amp;amp; Clean up&lt;br /&gt;
&lt;br /&gt;
'''Completed projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2175540 - Psionic Talent Feat grants +0 PP instead of +2&lt;br /&gt;
&amp;lt;br&amp;gt;2181056 - [MSRD] SEP - Roles and Classes - Combat Hero - cleanup&lt;br /&gt;
&amp;lt;br&amp;gt;2181063 - RPGObjects - Blood and Circuits - Data Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181069 - RPGObjects - B&amp;amp;G - Inside Vossberg Supermax - clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181071 - RPGObjects - Blood and Guts - Modern Military - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181073 - RPGObjects - Blood and Guts - Soldiers - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181076 - RPGObjects - Blood and Guts - War on Terror - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181082 - RPGO - Blood &amp;amp; Space - Merchants Pirates &amp;amp; Smuggler - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181094 - RPGO - Blood &amp;amp; Space - Starship Construction Manual - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181098 - Blood &amp;amp; Blades - The Profilers Guide to Slashers - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181100 - Dawning Star - Operation Quick Launch - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181105 - Modern Dispatch - #47 - New Tortuga - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181108 - Pulp Fantasy Roleplaying Game - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181111 - RPGObjects - Blood and Relics - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181119 - WotC - d20 Modern Weapons Locker - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2185729 - Referencing an outside source causes confusion&lt;br /&gt;
&amp;lt;br&amp;gt;2220150 - [RSRD] Certain languages missing &amp;quot;Read.Written&amp;quot; types&lt;br /&gt;
&amp;lt;br&amp;gt;2182525 - ACHECK listed twice&lt;br /&gt;
&amp;lt;br&amp;gt;2229773 - Incorrect JEP syntax in CASTERLEVEL BONUS&lt;br /&gt;
&amp;lt;br&amp;gt;1377456 - [Core datasets] Temp bonus for Spells audit&lt;br /&gt;
&lt;br /&gt;
'''Projects I assisted with:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2158412 - Change &amp;quot;Turn Rebuke&amp;quot; from specific instances to general&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1259</id>
		<title>Michael W. Fender</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1259"/>
		<updated>2009-02-08T03:14:52Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joined October 17, 2008&lt;br /&gt;
&lt;br /&gt;
'''Additional Contact info:'''&lt;br /&gt;
&amp;lt;br&amp;gt;GTalk: fluxxdog@gmail.com&lt;br /&gt;
&amp;lt;br&amp;gt;MSN: fluxxdog@bellsouth.net&lt;br /&gt;
&amp;lt;br&amp;gt;E-Mail: fluxxdog@gmail.com&lt;br /&gt;
&lt;br /&gt;
'''Current projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2474790 - AEG - Feats Source Book - Reveiw &amp;amp; Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;1377456 - Temp bonus for Spells audit&lt;br /&gt;
&lt;br /&gt;
'''Completed projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2175540 - Psionic Talent Feat grants +0 PP instead of +2&lt;br /&gt;
&amp;lt;br&amp;gt;2181056 - [MSRD] SEP - Roles and Classes - Combat Hero - cleanup&lt;br /&gt;
&amp;lt;br&amp;gt;2181063 - RPGObjects - Blood and Circuits - Data Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181069 - RPGObjects - B&amp;amp;G - Inside Vossberg Supermax - clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181071 - RPGObjects - Blood and Guts - Modern Military - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181073 - RPGObjects - Blood and Guts - Soldiers - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181076 - RPGObjects - Blood and Guts - War on Terror - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181082 - RPGO - Blood &amp;amp; Space - Merchants Pirates &amp;amp; Smuggler - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181094 - RPGO - Blood &amp;amp; Space - Starship Construction Manual - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181098 - Blood &amp;amp; Blades - The Profilers Guide to Slashers - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181100 - Dawning Star - Operation Quick Launch - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181105 - Modern Dispatch - #47 - New Tortuga - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181108 - Pulp Fantasy Roleplaying Game - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181111 - RPGObjects - Blood and Relics - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181119 - WotC - d20 Modern Weapons Locker - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2185729 - Referencing an outside source causes confusion&lt;br /&gt;
&amp;lt;br&amp;gt;2220150 - [RSRD] Certain languages missing &amp;quot;Read.Written&amp;quot; types&lt;br /&gt;
&amp;lt;br&amp;gt;2182525 - ACHECK listed twice&lt;br /&gt;
&amp;lt;br&amp;gt;2229773 - Incorrect JEP syntax in CASTERLEVEL BONUS&lt;br /&gt;
&amp;lt;br&amp;gt;1377456 - [Core datasets] Temp bonus for Spells audit&lt;br /&gt;
&lt;br /&gt;
'''Projects I assisted with:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2158412 - Change &amp;quot;Turn Rebuke&amp;quot; from specific instances to general&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1245</id>
		<title>Michael W. Fender</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1245"/>
		<updated>2009-01-07T05:30:43Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joined October 17, 2008&lt;br /&gt;
&lt;br /&gt;
'''Additional Contact info:'''&lt;br /&gt;
&amp;lt;br&amp;gt;GTalk: fluxxdog@gmail.com&lt;br /&gt;
&amp;lt;br&amp;gt;MSN: fluxxdog@bellsouth.net&lt;br /&gt;
&amp;lt;br&amp;gt;E-Mail: fluxxdog@gmail.com&lt;br /&gt;
&lt;br /&gt;
'''Current projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2474790 - AEG - Feats Source Book - Reveiw &amp;amp; Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;1377456 - Temp bonus for Spells audit&lt;br /&gt;
&lt;br /&gt;
'''Completed projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2175540 - Psionic Talent Feat grants +0 PP instead of +2&lt;br /&gt;
&amp;lt;br&amp;gt;2181056 - [MSRD] SEP - Roles and Classes - Combat Hero - cleanup&lt;br /&gt;
&amp;lt;br&amp;gt;2181063 - RPGObjects - Blood and Circuits - Data Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181069 - RPGObjects - B&amp;amp;G - Inside Vossberg Supermax - clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181071 - RPGObjects - Blood and Guts - Modern Military - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181073 - RPGObjects - Blood and Guts - Soldiers - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181076 - RPGObjects - Blood and Guts - War on Terror - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181082 - RPGO - Blood &amp;amp; Space - Merchants Pirates &amp;amp; Smuggler - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181094 - RPGO - Blood &amp;amp; Space - Starship Construction Manual - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181098 - Blood &amp;amp; Blades - The Profilers Guide to Slashers - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181100 - Dawning Star - Operation Quick Launch - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181105 - Modern Dispatch - #47 - New Tortuga - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181108 - Pulp Fantasy Roleplaying Game - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181111 - RPGObjects - Blood and Relics - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181119 - WotC - d20 Modern Weapons Locker - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2185729 - Referencing an outside source causes confusion&lt;br /&gt;
&amp;lt;br&amp;gt;2220150 - [RSRD] Certain languages missing &amp;quot;Read.Written&amp;quot; types&lt;br /&gt;
&amp;lt;br&amp;gt;2182525 - ACHECK listed twice&lt;br /&gt;
&amp;lt;br&amp;gt;2229773 - Incorrect JEP syntax in CASTERLEVEL BONUS&lt;br /&gt;
&lt;br /&gt;
'''Projects I assisted with:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2158412 - Change &amp;quot;Turn Rebuke&amp;quot; from specific instances to general&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1244</id>
		<title>Michael W. Fender</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1244"/>
		<updated>2009-01-07T05:00:12Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joined October 17, 2008&lt;br /&gt;
&lt;br /&gt;
'''Additional Contact info:'''&lt;br /&gt;
&amp;lt;br&amp;gt;GTalk: fluxxdog@gmail.com&lt;br /&gt;
&amp;lt;br&amp;gt;MSN: fluxxdog@bellsouth.net&lt;br /&gt;
&amp;lt;br&amp;gt;E-Mail: fluxxdog@gmail.com&lt;br /&gt;
&lt;br /&gt;
'''Current projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2474790 - AEG - Feats Source Book - Reveiw &amp;amp; Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;1377456 - Temp bonus for Spells audit&lt;br /&gt;
&lt;br /&gt;
'''Completed projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2175540 - Psionic Talent Feat grants +0 PP instead of +2&lt;br /&gt;
&amp;lt;br&amp;gt;2181056 - [MSRD] SEP - Roles and Classes - Combat Hero - cleanup&lt;br /&gt;
&amp;lt;br&amp;gt;2181063 - RPGObjects - Blood and Circuits - Data Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181069 - RPGObjects - B&amp;amp;G - Inside Vossberg Supermax - clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181071 - RPGObjects - Blood and Guts - Modern Military - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181073 - RPGObjects - Blood and Guts - Soldiers - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181076 - RPGObjects - Blood and Guts - War on Terror - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181082 - RPGO - Blood &amp;amp; Space - Merchants Pirates &amp;amp; Smuggler - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181094 - RPGO - Blood &amp;amp; Space - Starship Construction Manual - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181098 - Blood &amp;amp; Blades - The Profilers Guide to Slashers - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181100 - Dawning Star - Operation Quick Launch - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181105 - Modern Dispatch - #47 - New Tortuga - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181108 - Pulp Fantasy Roleplaying Game - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181111 - RPGObjects - Blood and Relics - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181119 - WotC - d20 Modern Weapons Locker - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2185729 - Referencing an outside source causes confusion&lt;br /&gt;
&amp;lt;br&amp;gt;2220150 - [RSRD] Certain languages missing &amp;quot;Read.Written&amp;quot; types&lt;br /&gt;
&amp;lt;br&amp;gt;2182525 - ACHECK listed twice&lt;br /&gt;
&amp;lt;br&amp;gt;2229773 - Incorrect JEP syntax in CASTERLEVEL BONUS&lt;br /&gt;
&amp;lt;br&amp;gt;2491524 - ADD: does not accept PRExxx tags&lt;br /&gt;
&lt;br /&gt;
'''Projects I assisted with:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2158412 - Change &amp;quot;Turn Rebuke&amp;quot; from specific instances to general&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1243</id>
		<title>Michael W. Fender</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1243"/>
		<updated>2009-01-07T01:47:36Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joined October 17, 2008&lt;br /&gt;
&lt;br /&gt;
'''Additional Contact info:'''&lt;br /&gt;
&amp;lt;br&amp;gt;GTalk: fluxxdog@gmail.com&lt;br /&gt;
&amp;lt;br&amp;gt;MSN: fluxxdog@bellsouth.net&lt;br /&gt;
&amp;lt;br&amp;gt;E-Mail: fluxxdog@gmail.com&lt;br /&gt;
&lt;br /&gt;
'''Current projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2474790 - AEG - Feats Source Book - Reveiw &amp;amp; Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;1377456 - Temp bonus for Spells audit&lt;br /&gt;
&lt;br /&gt;
'''Completed projects:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2175540 - Psionic Talent Feat grants +0 PP instead of +2&lt;br /&gt;
&amp;lt;br&amp;gt;2181056 - [MSRD] SEP - Roles and Classes - Combat Hero - cleanup&lt;br /&gt;
&amp;lt;br&amp;gt;2181063 - RPGObjects - Blood and Circuits - Data Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181069 - RPGObjects - B&amp;amp;G - Inside Vossberg Supermax - clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181071 - RPGObjects - Blood and Guts - Modern Military - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181073 - RPGObjects - Blood and Guts - Soldiers - Clean up&lt;br /&gt;
&amp;lt;br&amp;gt;2181076 - RPGObjects - Blood and Guts - War on Terror - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181082 - RPGO - Blood &amp;amp; Space - Merchants Pirates &amp;amp; Smuggler - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181094 - RPGO - Blood &amp;amp; Space - Starship Construction Manual - Clean&lt;br /&gt;
&amp;lt;br&amp;gt;2181098 - Blood &amp;amp; Blades - The Profilers Guide to Slashers - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181100 - Dawning Star - Operation Quick Launch - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181105 - Modern Dispatch - #47 - New Tortuga - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181108 - Pulp Fantasy Roleplaying Game - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181111 - RPGObjects - Blood and Relics - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2181119 - WotC - d20 Modern Weapons Locker - Clean Up&lt;br /&gt;
&amp;lt;br&amp;gt;2185729 - Referencing an outside source causes confusion&lt;br /&gt;
&amp;lt;br&amp;gt;2220150 - [RSRD] Certain languages missing &amp;quot;Read.Written&amp;quot; types&lt;br /&gt;
&amp;lt;br&amp;gt;2182525 - ACHECK listed twice&lt;br /&gt;
&amp;lt;br&amp;gt;2229773 - Incorrect JEP syntax in CASTERLEVEL BONUS&lt;br /&gt;
&lt;br /&gt;
'''Projects I assisted with:'''&lt;br /&gt;
&amp;lt;br&amp;gt;2158412 - Change &amp;quot;Turn Rebuke&amp;quot; from specific instances to general&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1040</id>
		<title>Michael W. Fender</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Michael_W._Fender&amp;diff=1040"/>
		<updated>2008-10-21T20:30:31Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: New page: Joined October 17, 2008&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joined October 17, 2008&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Full_Team_Member_Listing&amp;diff=1019</id>
		<title>Full Team Member Listing</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Full_Team_Member_Listing&amp;diff=1019"/>
		<updated>2008-10-20T21:33:24Z</updated>

		<summary type="html">&lt;p&gt;Michael W. Fender: /* Active Volunteers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
PCGen has been blessed with an amazing amount of volunteers over the course of its history. A historical listing of those who have contributed (past and present) can be seen in the [http://pcgen.sourceforge.net/autobuilds/pcgen-docs/acknowledgments/contributors.html Contributors] section of our Documentation. The current team is listed below:&lt;br /&gt;
&lt;br /&gt;
=Active Volunteers=&lt;br /&gt;
These volunteers are currently active on the PCGen project&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot;|SF Team Name !! align=&amp;quot;left&amp;quot;|Real Name !! align=&amp;quot;left&amp;quot;|SF ID !! align=&amp;quot;left&amp;quot;|Yahoo ID !! align=&amp;quot;left&amp;quot;|AIM ID !! align=&amp;quot;left&amp;quot;|ICQ !! align=&amp;quot;left&amp;quot;|Teams&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Divinsky || Aaron Divinsky || boomer70 || boomer70 || - || - || C &lt;br /&gt;
|-&lt;br /&gt;
| [[Alec Ross]] || [[Alec Ross]] || haelduksf || haelduksf || haelduksf || 50824602 || C &lt;br /&gt;
|-&lt;br /&gt;
| [[Andargor]] || - || Andargor || andargor || - || - || C, Da &lt;br /&gt;
|-&lt;br /&gt;
| Anestis Kozakis || Anestis Kozakis || kenosti || xeno_h || Xeno1970 || 837313 || B, W &lt;br /&gt;
|-&lt;br /&gt;
| [[Tir Gwaith|Andrew McDougall]] || [[Tir Gwaith|Andrew McDougall]] || tir-gwaith || tir_gwaith || TirGwaith || - || Ad, C, Da, Do, DL, R, O, T&lt;br /&gt;
|-&lt;br /&gt;
| Andrew Wilson || Andrew Wilson || nuance || ytitendi || - || - || C&lt;br /&gt;
|-&lt;br /&gt;
| apsen || Andriy Sen || apsen || - || - || - || C &lt;br /&gt;
|-&lt;br /&gt;
| Bart || Bart Rompelman || necrodeath || - || - || - || T&lt;br /&gt;
|-&lt;br /&gt;
| Brad Stiles || Brad Stiles || bsmeister || - || - || - || C, R &lt;br /&gt;
|-&lt;br /&gt;
| Brian || - || telechus || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Chad || - || litesgod || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Charles || Chuck Hazard || chuckhazard || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Chris Chandler|Barak]] || [[Chris Chandler]] || barako || Barak20021 || - || - || Da,Do,O &lt;br /&gt;
|-&lt;br /&gt;
| Chuck Pint || Chuck Pint || chuckpint || chuckpint || - || - || O &lt;br /&gt;
|-&lt;br /&gt;
| [[Connor Petty]] || [[Connor Petty]] || cpmeister || mistercpp2000 || MrBooyah314 || - || A, C &lt;br /&gt;
|-&lt;br /&gt;
| Dave Cheever || David Cheever || takeyabue || - || - || - || Do &lt;br /&gt;
|-&lt;br /&gt;
| David || David Rosenthal || rimbeaux || - || - || - || W &lt;br /&gt;
|-&lt;br /&gt;
| David Lim || David Lim || aberrant80 || aberrant80 || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[David R. Bender]] || [[David R. Bender]] || papa_drb || Papa_DRB || - || - || Da &lt;br /&gt;
|-&lt;br /&gt;
| Dennis Baker || Dennis Baker || mtbOgre || - || mtbogre || - || Da &lt;br /&gt;
|-&lt;br /&gt;
| Dracorat || Keith Ratliff || dracorat || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Eddy Anthony]] || [[Eddy Anthony]] || eddyanthony || eddyanthony || - || - || B, C, Da, Do, O, R, T &lt;br /&gt;
|-&lt;br /&gt;
| Edwin C Holley || Edwin C Holley || glasswalker || GlassWalkerTheurge1968 || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Terry FitzSimons|Fitzs]] || [[Terry FitzSimons]] || fitzs || Fitzsimons_T_J || - || - || Da, Do&lt;br /&gt;
|-&lt;br /&gt;
| Fluxxdog || Michael W. Fender || fluxxdog || fluxxdog || fluxxdog || 346992562 ||  Da, Do, O, T&lt;br /&gt;
|-&lt;br /&gt;
| [[Frank Kliewe]] || [[Frank Kliewe]] || frank_kliewe || frank_kliewe || - || - || Da, Do, O, T&lt;br /&gt;
|-&lt;br /&gt;
| [[Greg Bingleman]] || [[Greg Bingleman]] || byngl || gsbingl || - || - || C &lt;br /&gt;
|-&lt;br /&gt;
| [[James Dempsey]] || [[James Dempsey]] || jdempsey || james_dempsey_au || tallandir || 21047253 || C, R &lt;br /&gt;
|-&lt;br /&gt;
| Jason Buchanan || Jason Buchanan || lonejedi || - || CMPLoneJedi70 || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Jason Horner]] || [[Jason Horner]] || jlhorner1974 || jlhorner1974 || - || - || Da, O &lt;br /&gt;
|-&lt;br /&gt;
| Jayme Cox || Jayme Cox || jaymecox || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Jonas Karlson|Jonas Karlsson]] || [[Jonas Karlson|Jonas Karlsson]] || jujutsunerd || pjak || jonask42 || 2345481 || C &lt;br /&gt;
|-&lt;br /&gt;
| Julio Esslinger Viegas || Julio Esslinger Viegas || julio_ev || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Kent Behrends]] || [[Kent Behrends]] || bci || kent_behrends || KentAtBci || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Koen Van Daele]] || [[Koen Van Daele]] || vandaelek || koen_van_daele || Kador99 || - || C &lt;br /&gt;
|-&lt;br /&gt;
| [[LegacyKing]] || [[LegacyKing|Andrew Maitland]] || amaitland || paramedic4553 || drew0500 || 5830737 || B,Da,Do,T,W &lt;br /&gt;
|-&lt;br /&gt;
| [[Martijn Verburg]] || [[Martijn Verburg]] || karianna || karianna03 || karianna02 || - || B, C, Da, Do, O, T &lt;br /&gt;
|-&lt;br /&gt;
| [[Eric C Smith|Maredudd]] || [[Eric C Smith]] || maredudd800 || maredudd800 || Maredudd || - || Ad,B,Da,Do,DL,P,T,W &lt;br /&gt;
|-&lt;br /&gt;
| Mike || - || javadrinker || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Michael Gray || Michael Gray || mhgj || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Paul Grosse || Paul Grosse || nylanfs || Nylanfs || Nylan8 || 14397299 || B, Da, DL, O, T, W &lt;br /&gt;
|-&lt;br /&gt;
| [[Paul W. King]] || [[Paul W. King]] || kingpaul || pkingdnd || ShutUpPaul || - || B, Da, DL, O, P, T &lt;br /&gt;
|-&lt;br /&gt;
| Peter Barker || Peter Barker || pjdb || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| Phantom of Krankor || Phantom of Krankor || y2krankor || - || - || - || Da &lt;br /&gt;
|-&lt;br /&gt;
| Phillip Ryan || Phillip Ryan || HistoryPhil || phillipryan49 || - || - || Da &lt;br /&gt;
|-&lt;br /&gt;
| Reed Thornton || Reed Thornton || rthornton13 || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Rick Ryker]] || [[Rick Ryker]] || kerrik || rick_ryker || Rick Ryker || - || C &lt;br /&gt;
|-&lt;br /&gt;
| Robert Ward || Robert Ward || rward30 || rward_30 || - || - || R &lt;br /&gt;
|-&lt;br /&gt;
| Schporto || Chris Donohue || chrisdonohue || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Shelley Stephen|Shelley]] || [[Shelley Stephen]] || takenote61 || takenote61 || takenote61 || - || Da &lt;br /&gt;
|-&lt;br /&gt;
| Sigurdur H. Olafsson || Sigurdur H. Olafsson || sholafsson || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Stefan Radermacher]] || [[Stefan Radermacher]] || zaister || zaister || - || 6510566 || C, Da, Do &lt;br /&gt;
|-&lt;br /&gt;
| Theryon Stormrune || David T Jacobson || shadowcat || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Thomas Clegg || Thomas Clegg || arknight || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Tistur || Miriam Sexton || tistur || gryphondreams || tistur || - || - &lt;br /&gt;
|-&lt;br /&gt;
| tlavalle || Tony Lavalle || tlavalle || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Tod Milam]] || [[Tod Milam]] || tmilam || twmilam || - || - || C, Da, R &lt;br /&gt;
|-&lt;br /&gt;
| [[Tom Parker]] || [[Tom Parker]] || thpr || thpr || - || - || A, B, C &lt;br /&gt;
|-&lt;br /&gt;
| Tymophil || - || tymophil_fr || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| Vincent || Vincent Yanda || lunaticlord || lunaticlord || - || - || - &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Passive Volunteers=&lt;br /&gt;
These volunteers are currently passive on the PCGen project, that usually means they have insightful things to say on our internal mailing lists, but don't have enough time left over from RL to add code etc :).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot;|SF Team Name !! align=&amp;quot;left&amp;quot;|Real Name !! align=&amp;quot;left&amp;quot;|SF ID !! align=&amp;quot;left&amp;quot;|Yahoo ID !! align=&amp;quot;left&amp;quot;|AIM ID !! align=&amp;quot;left&amp;quot;|ICQ !! align=&amp;quot;left&amp;quot;|Teams&lt;br /&gt;
|-&lt;br /&gt;
| Paul M. Lambert || Paul M. Lambert || plambert || - || - || - || - &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Inactive Volunteers=&lt;br /&gt;
These volunteers are currently inactive on the PCGen project&lt;br /&gt;
'''Don't ever delete these people from SF though!'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot;|SF Team Name !! align=&amp;quot;left&amp;quot;|Real Name !! align=&amp;quot;left&amp;quot;|SF ID !! align=&amp;quot;left&amp;quot;|Yahoo ID !! align=&amp;quot;left&amp;quot;|AIM ID !! align=&amp;quot;left&amp;quot;|ICQ !! align=&amp;quot;left&amp;quot;|Teams&lt;br /&gt;
|-&lt;br /&gt;
| Bill || Bill Neumann || lodivigo || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Briarius || Brian Spurling || briarius || sirbriarius || SirBriari1 || 9007056 || - &lt;br /&gt;
|-&lt;br /&gt;
| '''[[Bryan McRoberts]]''' || '''[[Bryan McRoberts]]''' || '''merton_monk''' || '''merton_monk''' || - || - || '''B,C''' &lt;br /&gt;
|-&lt;br /&gt;
| [[Charles Burkett]] || [[Charles Burkett]] || Kyth || Charlesb_06 || Phule50000 || - || Do, P &lt;br /&gt;
|-&lt;br /&gt;
| David Saulnier || David Saulnier || dsaulinar || - || - || - || Da&lt;br /&gt;
|-&lt;br /&gt;
| deltadave || David Lockwood || deltadave || roninkelt || deltadave || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Devon Jones || Devon Jones || soulcatcher || hunterd_us || - || - || A,B,C &lt;br /&gt;
|-&lt;br /&gt;
| [[Eduard Martinescu]] || [[Eduard Martinescu]] || arvoreen || - || - || - || C &lt;br /&gt;
|-&lt;br /&gt;
| Eric Jarman || Eric Jarman || oracleofbargth || - || - || - || C, Da&lt;br /&gt;
|-&lt;br /&gt;
| gawaine42 || Richard Bowers || gawaine42 || richardsbowers || richardsbowers || - || O &lt;br /&gt;
|-&lt;br /&gt;
| [[Joe Frazier, Jr.]] || [[Joe Frazier, Jr.]] || jfrazierjr || joefrazierjr || jfrazierjr || - || C &lt;br /&gt;
|-&lt;br /&gt;
| John Zittlau || John Zittlau || naarok || naarok || naarok17 || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Josh || Josh Johnston || pucspifo || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| [[Kevin Fernandes]] || [[Kevin Fernandes]] || darkstorm999 || kevin_fernandes01453 || darkstorm0000 || - || C &lt;br /&gt;
|-&lt;br /&gt;
| Kurt Wimmer || Kurt Wimmer || kwimmer || - || - || - || C &lt;br /&gt;
|-&lt;br /&gt;
| Michael Beaver || Michael Beaver || michaelbeaver || - || - || - || B &lt;br /&gt;
|-&lt;br /&gt;
| Michael Durant || Michael Durant || miked_msn || miked_msn || - || - || Do &lt;br /&gt;
|-&lt;br /&gt;
| PK Lucas || PK Lucas || pklucas || pklucas || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
| Per Christian Henden || Per Christian Henden || perchrh || perchrh || - || 48325984 || C &lt;br /&gt;
|-&lt;br /&gt;
| Ratheof Blithwyn || Anders Lindgren || blithwyn || - || - || - || Da &lt;br /&gt;
|-&lt;br /&gt;
| Walter Duncan || Walter Duncan || wduncan || - || - || - || C &lt;br /&gt;
|-&lt;br /&gt;
| Walter Duncan || Walter Duncan || pcgen_autobuild || - || - || - || C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Teams Key=&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;left&amp;quot;|Key !! align=&amp;quot;left&amp;quot;|Team &lt;br /&gt;
|-&lt;br /&gt;
| A || [[Architecture]] &lt;br /&gt;
|-&lt;br /&gt;
| Ad || [[Advertising]] &lt;br /&gt;
|-&lt;br /&gt;
| B || [[Board of Directors]] &lt;br /&gt;
|-&lt;br /&gt;
| C || [[Code]] &lt;br /&gt;
|-&lt;br /&gt;
| Da || [[Data]] &lt;br /&gt;
|-&lt;br /&gt;
| Do || [[Documentation]] &lt;br /&gt;
|-&lt;br /&gt;
| DL || [[Data License]] &lt;br /&gt;
|-&lt;br /&gt;
| O || [[Output Sheets]] &lt;br /&gt;
|-&lt;br /&gt;
| P || [[Publisher Liaison]] &lt;br /&gt;
|-&lt;br /&gt;
| R || [[Release]] &lt;br /&gt;
|-&lt;br /&gt;
| T || [[Tracker]] &lt;br /&gt;
|-&lt;br /&gt;
| W || [[Website]] &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael W. Fender</name></author>
		
	</entry>
</feed>