Basic Coding Commands for State Constitutions On-Line revised: 5-20-2003 0) This is a description of how to place coding commands in the text of documents so they may be broken into portions that can easily be searched and retrieved from a web site. The computer software that will read the codes requires a precise format to uniquely identify a document. 1) Commands: There are two basic commands: _START _END Where "_" denotes one of the reserved letters. Note that CASE MATTERS. All typing should be done in UPPER CASE. 2) Reserved Letters: The following are reserved letters: For documents: C for constitution D for any other document not otherwise specified E for enabling act F reserved for future use G reserved for future use For portions of text within documents: A for articles M for amendments S for sections X for text not otherwise specified (schedules, ordinances etc) Y reserved for future use Z reserved for future use. 3) Grammar: All commands are nested pairs of _START and _END. DSTART and DEND, ESTART and EEND, MSTART and MEND, SSTART and SEND, XSTART and XEND may not have commands nested within them. ASTART and AEND may contain SSTART and SEND command pairs CSTART and CEND may contain any portion of text commands i.e. A, M, S, or X command pairs. 4) Invoking Commands: All commands are set off from text by 3 asterisks and a space at the start and end of each command. The first asterisk must be the first character on a line. There may be only one command on one line. example: *** AEND *** Note: The asterisk can occur anywhere on a line so long as there are no characters to its left, only spaces. example: *** AEND *** *** AEND *** *** AEND *** are acceptable. " ... for four years beginning January 1,1833," *** AEND *** is not acceptable. Nor is *** SEND *** *** AEND ***. 5) Order of commands: Since commands are nested in pairs the first nested START command should be paired with the last END command. correct: incorrect: *** ASTART ,,,,, *** *** ASTART .... *** blah blah blah blah blah blah *** SSTART ... *** *** SSTART ... *** blah blah blah blah blah blah *** SEND *** *** AEND *** *** AEND *** *** SEND *** 6) Syntax of the CSTART command: *** CSTART ss mm/dd/yyyy mM/dD/yyyy *** where ss= the 2 digit postal code, such as VA for Virginia. mm/dd/yyyy refers to the ratification dates of the constitution and mM/dD/yyyy to ratification of the document that replaces it. Where ratification dates are uncertain use best dates in Thorpe. 7) Syntax of the ESTART command: *** ESTART ss mm/dd/yyyy **** ss as above. mm/dd/yyyy refers to the date federal congress passed the act. Or use best date availible in Thorpe. 8) Syntax of the DSTART command: same as ESTART 9) Syntax of ASTART command: *** ASTART nnn.nn yyyy *** nnn.nn = the article number, such as 001.00, 002.00 ... Always use 3 digits. We have found articles numbered over 100. If the article has funny parts, for example in Maryland there is article 11, 11.A, 11.B,... then use the decimals. The funny parts can be letters or numbers. So 11.A is OK; so is 11.1. Although sub-article numbers can be one or two-digit, if there is not subpart it is easiest to denote that by a one digit zero, i.e. 011.0 ss as above yyyy = year of ratification of constitution in which article appears. (We know of no state with 2 constitutions in the same year. If you were to find a case, THIS MUST BE NOTED!) 10) Syntax of SSTART command: *** SSTART ttt.tt nnn.nn pp ss yyyy *** ttt.tt = 5 digit section number, 001.00,002.00,...,017.00,...,234.00,... nnn.nn = the article number, such as 001.00, 002.00 ... pp is a two digit part number (pp is usually one digit) As with the article numbers, after the decimal point you can use up to two digits of letters or numbers for the odd parts of section numbers all other items as in ASTART. Sections can be confusing. Most sections do not have parts and sub-sections, but all coded sections must have a part and sub-section number. If a section has no part of sub-section, then that number is "0". Most part and sub-section numbers (as well as sub-article numbers) will be "0". 11) Syntax of MSTART command: *** MSTART mmm ttt.tt nnn.nn pp ss yyyy YYYY *** where mmm is the amendment number ttt.tt, nnn.nn, pp, ss are as above. yyyy denotes the year the constitution was ratified. YYYY denotes the year the amendment was ratified. For amendments that do not refer to a specific article and section, use article 9099.00 and number the sections sequentially. 12) Syntax of XSTART command: *** XSTART kkk ss yyyy *** kkk is a sequential number (start with 001) representing the order in which the text appears in the document among all the non-article non-section portions of text. Numbers over 003 are rare. These are usually addenda having to do with implementation of constitutions. 13) Syntax of _END commands: *** CEND *** *** AEND *** *** SEND *** etc. They are all the same. They are paired with the open _START statement. 14) If you have a floating article, that is a piece of text without an article number, determine its subject and give it a 9000 code, as listed below. 9000 articles can contain sections and parts. Do not substitute 9000 codes for original article numbers, always use the original numbers if they are available. These are the 9000 codes, as of 6/13/2001: code topics 9001 Preambles 9002 Bill of rights 9003 Transition schedule 9004 Executive 9005 Legislative 9006 Judicial 9007 Education 9008 Militia 9009 Impeachment 9010 Banks 9011 Slaves 9012 Amendments 9013 Secession 9014 Federal Relations 9015 Elections 9016 Certification 9017 Municipalities 9018 Taxation 9019 Corporations 9020 Railroads 9021 Commerce 9022 General Provisions 9023 Ordinances 9024 Apportionment 9099 This is the catch all section for amendments that do not amend an existing article or section, nor do they create a new article. 15) Protocols for coding amendments: Coding Amendments is one of the most difficult problems in the project. It is very important that you match amendments with the text they amend, and then that you keep a record of what you have done so that we can easily reconstruct your work. When you create the WP files with the amendments: 1) Include the complete text of the amended section in the amended text. I..e. the text between *** MSTART CA 001 001.0 001.0 0 1879 1943 *** FULL TEXT *** MEND *** should be the full text of the amended section. Don't just include the part of the text that is amended. 2) The amended text should include a parenthetical note about when it was amended *** MSTART CA 001 001.00 001.00 0 1879 1943 *** FULL TEXT (Amended 1/1/1943) *** MEND *** 2a) If a section is amended multiple times, put that in the parenthetical note (but don't waste too much time doing this. Any other comments that you have should go in the parenthetical note, for example, if there is some controversy or doubt about the date of the amendment, or which section it amends. 3) Renumbered Articles and Sections When a section is renumbered, the renumbering should be treated like an amendment. Enter the old text into a new amendment. This usually involves two amendments: Example: Article 1, Section 1, text is A Quick Brown Fox Which is being renumbered to Article 1, section 7 *** MSTART CA 001 007.00 001.00 0 1879 1943 *** A Quick Brown Fox (Formerly Article 1, Section 1, Amended 1/1/1943) *** MEND *** *** MSTART CA 001 001.00 001.00 0 1879 1943 *** A big bear rumbles through the woods (Amended 1/1/1943, old article 1 section 1 renumbered as article 1, section 7) *** MEND *** or *** MSTART CA 001 001.00 001.00 0 1879 1943 *** repealed (Amended 1/1/1943, old article 1 section 1 renumbered as article 1, section 7) *** MEND *** Treat renumbering the same way that you treat new amendments. 4) Repealed articles and sections If an article or section is repealed, you need to include an amendment indicating the repeal: *** MSTART CA 001 001.00 001.00 0 1879 1943 *** Repealed (Repealed 1/1/1943) *** MEND *** If you need to indicate that a whole article has been repealed, use section 000.00. If a whole article has been repealed, you need to note the repeal of the article, and you need to create an amendment repealing each section individually. 5) Floating Amendments If an amendment is adding text to the constitution, without replacing an existing article and section, or adding to an existing article and section, or creating a new article and section, then the amendment goes in the 9099 article. Article 9099 is the 9000 code for amendments that "float." Number the sections to 9099 sequentially.