This is an old revision of the document!
If you want to write your own name definition file (or edit an existing one), you have to open it with your text editor. Have a look at the following example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <NameList> <Origin name="Germany"> <Category name="Female Firstnames"> <Names>Anne,Anita,Arabella</Names> </Category> <Category name="Male Firstnames"> <Names>Andreas,Arnim,Björn,Christian</Names> </Category> <Category name="Surnames"> <Names>Arndt,Beine,Bergen,Brecht,Eichel</Names> </Category> </Origin> <NameDefinition name="German Female"> <NameRef Origin="Germany" Category="Female Firstnames"/> <NameRef Origin="Germany" Category="Surnames"/> </NameDefinition> </NameList>
The file actually consists of two parts…
In the first part, there are these “Origin” elements, which simply define lists of names. In the example, we have an Origin “Germany” and in this origin, three “Category”s (Female Firstnames, Male Firstnames and Surnames). The actual names are in the “Names” element, separated by commas.
In the 2nd part are the actual name definitions. These are rules how to combine various elements to form a name. In the example we have one such name definition, “German Female”.
This definitions consists of two “NameRef”s, which just points to one of the Categories defined above. In the example, it simply says: First, take a random name out of the Category “Female Firstnames” in the Origin “Germany” and then take a random name out of the Category “Surnames” in the Origin “Germany. So this definition will result in names with one of the Female Firstnames and one of the Surnames from the Origin Germany.
Of course, these are just the basics, there are ways to make it a little bit more complex…
Sometimes, you want to add a fixed part to your names, for example if you want to create Male members of the Johnson family. You could solve that by only entering “Johnson” as a Surname, but there's a better way to do this, the FixedName-Element. Consider the following example:
<NameDefinition name="German Female"> <FixedNamePart>Frau</FixedNamePart> <NameRef Origin="Germany" Category="Female Firstnames"/> <NameRef Origin="Germany" Category="Surnames"/> </NameDefinition>
In this example, “Frau” (meaning Mrs.) will be added in front of any German Female name.
In some cases, you also might want to control where to put spaces yourselves, for example when creating double-names. In this case, simple set the automaticSpaces attribute of the NameDefinition like this:
<NameDefinition name="German Female" automaticSpaces="false"> <FixedNamePart>Frau </FixedNamePart> <NameRef Origin="Germany" Category="Female Firstnames"/> <FixedNamePart> </FixedNamePart> <NameRef Origin="Germany" Category="Surnames"/> <FixedNamePart>-</FixedNamePart> <NameRef Origin="Germany" Category="Surnames"/> </NameDefinition>
By setting automaticSpaces=“false” you tell the program that you will handle the spaces yourself (otherwise, the program simply adds a space after each element). So, in the example you have to add the spaces after “Frau” and all the name parts manually, but you gain the ability to create double name with a dash, for example “Bergen-Eichel”.