Database Module Help Guide
1. What's the project?
The project name should be in lowercase and suggested to be either the language name or lexicographer name.
a. One function of "project name" is to create a namespace. Every group in the XML database becomes a separate table in MySQL. For example, the se group becomes one table, the sea group becomes another table, etc. The name of the project is used to distinguish group/tables of one XML lexicon from another. The namespace is intended to avoid conflicts between different people's lexicon/database when there is more than one lexicon on a given server.
b. A second function of the "project name" is to provide a name for the folder created for each lexicographer (and to which they may eventually be given access). This folder is at the same level as the folder containing the php code (e.g. php4, php5, for version).
c. The last function is to provide a way of identifying which lexicon a web user intends to query. Although this is discussed later, I will briefly it here. When querying jlex, the web page designer must include a form variable called 'project'. If the lexicon being queried is nahuatl, then the project variable should have the value 'nahuatl' (or whatever project name is supplied for the nahuatl lexicon.
Back to Project
2. What's a head field?
Head Field: This is the name of the top level tag that surrounds each entry within the XML/lexicon. If you are not sure what this is, look at the XML file for the element/tag that surrounds each single entry.
Back to Head Field
3. What's the Database file name?
Database file name on server: This is the name of the lexical database (e.g. olddictionar.xml) that has been uploaded to the server in the php folder. It must be placed in the folder jlex/project_xml_files.
Back to Database File Name
4. What's field stripping?
Field Stripping: This function creates "stripped columns" for searching the modified database. These database columns are named field1_s, field2_s, etc. This function is useful to facilitate searches for words containing accents, other diacritics, or any characters that are difficult to type. For example, if a field1 contains bab the field1_s will contain baba if the symbols to replaced box contains = a. This will only work if the field is uploaded and checked (see below) as to be stripped. For example:
á = a
é = e
Back to Field Stripping
5. What does the 'first symbols to be replaced' field allow me to do?
First symbols to be replaced: This function is a modification of 'Symbols to be replaced'. It allows the lexicographer to define replacement rules which will only be applied to the first character of a field. For example, if field1 contains "^hel^lo", and the rule ^ = '' is provided, the stripped result will be "hel^lo".
Back to First Symbols
6. What are sort fields?
Sort fields: The sort fields box will contain an ordered list of fields separated by spaces (e.g., field1 field2 field3). The fieldnames must be fieldnames in the uploaded database Note that JLex converts every fieldname to lowercase in the "new database" even if originally in uppercase. The sort fields function is used to create a new column, called "alpha," in the database. The algorithm is as follows. The value of alpha is determined as follows:
a. Check to see if field #1 (e.g., lxa) has a non-empty value. If so, this becomes the value of "alpha."
b. If field #1 is empty, check value of field #2. If this is a non-empty value, this becomes the value of "alpha."
c. If all sort fields are empty the value of alpha will be empty and the record will sort first
d. The value put into alpha is stripped according to the equivalences established in the following box.
Back to Sort Fields
7. How can I substitute symbols in the alpha field?
Alphabetization:
a. Symbols to be replaced: This allows the lexicographer to substitute symbols more easily typed for ones that are not in the alpha field.
b. First symbols to be replaced: Same as above but only affects the first symbol in the alpha field.