Citation Style for the American Journal of Archaeology

I have created a Citation Style for the American Journal of Archaeology (http://www.ajaonline.org/index.php?ptype=page&pid=5),which is one of the most important journals of archaeology world-wide.

I would like to upload this code, so I have tested it as good as I could, but but since I am new with CSL I think it would be better to have it first checked also by others. If there are no errors, then it can be uploaded.
  • <?xml version="1.0" encoding="UTF-8"?>

    <style xmlns="http://purl.org/net/xbiblio/csl"; xml:lang="en" class="in-text" >

    <info>

    <title>American Journal of Archaeology (Author-Date)</title>

    <id>http://www.zotero.org/styles/aja-author-date</id>;

    <link href="http://www.zotero.org/styles/aja-author-date"/>;

    <author>

    <name>Konstantinos Kopanias</name>

    <email>kkopanias@gmx.de</email>

    </author>

    <category term="author-date"/>

    <category term="generic-base"/>

    <updated>2009-1-9</updated>

    <summary>The American Journal of Archaeology style (author-date)</summary>

    <link href="http://www.ajaonline.org/"; rel="documentation"/>

    </info>

    <macro name="secondary-contributors">

    <choose>

    <if type="chapter" match="none">

    <group delimiter=". ">

    <choose>

    <if variable="author">

    <names variable="editor">

    <label form="verb-short" prefix=" " text-case="capitalize-first" suffix=". "/>

    <name and="text" delimiter=", "/>

    </names>

    </if>

    </choose>

    <choose>

    <if variable="author editor" match="any">

    <names variable="translator">

    <label form="verb" text-case="capitalize-first" suffix=" "/>

    <name and="text" delimiter=", "/>

    </names>

    </if>

    </choose>

    </group>

    </if>

    </choose>

    </macro>

    <macro name="container-contributors">

    <choose>

    <if type="chapter">

    <group prefix="," delimiter=", ">

    <choose>

    <if variable="author">

    <text value="edited by" prefix=" " suffix=" "/>

    <names variable="editor">

    <name and="text" delimiter=", "/>

    </names>

    </if>

    </choose>

    <choose>

    <if variable="author editor" match="any">

    <names variable="translator">

    <label form="verb-short" prefix=" " text-case="lowercase" suffix=". "/>

    <name and="text" delimiter=", "/>

    </names>

    </if>

    </choose>

    </group>

    </if>

    </choose>

    </macro>

    <macro name="anon">

    <choose>

    <if variable="author editor translator" match="none">

    <text term="anonymous" form="short" text-case="capitalize-first"/>

    </if>

    </choose>

    </macro>
  • <macro name="editor">

    <names variable="editor">

    <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>

    <label form="short" prefix=", " suffix="."/>

    </names>

    </macro>

    <macro name="translator">

    <names variable="translator">

    <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>

    <label form="verb-short" prefix=", " suffix="."/>

    </names>

    </macro>

    <macro name="recipient">

    <choose>

    <if type="personal_communication">

    <choose>

    <if variable="genre">

    <text variable="genre" text-case="capitalize-first"/>

    </if>

    <else>

    <text term="letter" text-case="capitalize-first"/>

    </else>

    </choose>

    </if>

    </choose>

    <names variable="recipient" delimiter=", ">

    <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>

    <name and="text" delimiter=", "/>

    </names>

    </macro>

    <macro name="contributors">

    <names variable="author">

    <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", "

    delimiter-precedes-last="always"/>

    <label form="verb-short" prefix=", " suffix="." text-case="lowercase"/>

    <substitute>

    <text macro="editor"/>

    <text macro="translator"/>

    </substitute>

    </names>

    <text macro="anon"/>

    <text macro="recipient"/>

    </macro>

    <macro name="contributors-short">

    <names variable="author">

    <name form="short" and="text" delimiter=", "/>

    <substitute>

    <names variable="editor"/>

    <names variable="translator"/>

    </substitute>

    </names>

    <text macro="anon"/>

    </macro>

    <macro name="interviewer">

    <names variable="interviewer" delimiter=", ">

    <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>

    <name and="text" delimiter=", "/>

    </names>

    </macro>

    <macro name="archive">

    <group delimiter=". ">

    <text variable="archive_location" text-case="capitalize-first"/>

    <text variable="archive"/>

    <text variable="archive-place"/>

    </group>

    </macro>

    <macro name="access">

    <group delimiter=". ">

    <choose>

    <if type="graphic report" match="any">

    <text macro="archive"/>

    </if>

    <else-if type="book thesis chapter article-journal article-newspaper article-magazine" match="none">

    <text macro="archive"/>

    </else-if>

    </choose>

    <text variable="DOI" prefix="doi:"/>

    <text variable="URL"/>

    </group>

    </macro>

    <macro name="title">

    <choose>

    <if variable="title" match="none">

    <choose>

    <if type="personal_communication" match="none">

    <text variable="genre" text-case="capitalize-first"/>

    </if>

    </choose>

    </if>

    <else-if type="book">

    <text variable="title" font-style="italic"/>

    </else-if>

    <else>

    <text variable="title" prefix="&#8220;" suffix=".&#8221; " />

    </else>

    </choose>

    </macro>

    <macro name="edition">

    <choose>

    <if type="book chapter" match="any">

    <choose>

    <if is-numeric="edition">

    <group delimiter=" ">

    <number variable="edition" form="ordinal"/>

    <text term="edition" form="short" suffix="."/>

    </group>

    </if>

    <else>

    <text variable="edition" suffix="."/>

    </else>

    </choose>

    </if>

    </choose>

    </macro>
  • <macro name="locators">

    <choose>

    <if type="article-journal">

    <text variable="volume" prefix=" "/>

    <text variable="issue" prefix=" "/>

    </if>

    <else-if type="book">

    <group prefix=". " delimiter=". ">

    <group>

    <text term="volume" form="short" text-case="capitalize-first" suffix="."/>

    <text variable="volume" font-style="italic" form="verb-short" prefix=" " suffix=""/>

    </group>

    <group>

    <number variable="number-of-volumes" form="numeric"/>

    <text term="volume" form="short" prefix=" " suffix="." plural="true"/>

    </group>

    </group>

    </else-if>

    </choose>

    </macro>

    <macro name="locators-chapter">

    <choose>

    <if type="chapter">

    <group prefix=", ">

    <text variable="volume" suffix=":"/>

    <text variable="page"/>

    </group>

    </if>

    </choose>

    </macro>

    <macro name="locators-article">

    <choose>

    <if type="article-newspaper">

    <group prefix=", " delimiter=", ">

    <group>

    <text variable="edition" suffix=" "/>

    <text term="edition" prefix=" "/>

    </group>

    <group>

    <text term="section" form="short" suffix=". "/>

    <text variable="section"/>

    </group>

    </group>

    </if>

    <else-if type="article-journal">

    <text variable="page" prefix=": "/>

    </else-if>

    </choose>

    </macro>

    <macro name="point-locators">

    <group>

    <choose>

    <if locator="page" match="none">

    <label variable="locator" form="short" include-period="true" suffix=" "/>

    </if>

    </choose>

    <text variable="locator"/>

    </group>

    </macro>

    <macro name="container-prefix">

    <text term="in" text-case="capitalize-first"/>

    </macro>

    <macro name="container-title">

    <choose>

    <if type="chapter">

    <text macro="container-prefix" suffix=" "/>

    </if>

    </choose>

    <text variable="container-title" font-style="italic"/>

    </macro>

    <macro name="publisher">

    <group delimiter=": ">

    <text variable="publisher-place"/>

    <text variable="publisher"/>

    </group>

    </macro>

    <macro name="date">

    <date variable="issued">

    <date-part name="year"/>

    </date>

    </macro>

    <macro name="day-month">

    <date variable="issued">

    <date-part name="month"/>

    <date-part name="day" prefix=" "/>

    </date>

    </macro>

    <macro name="collection-title">

    <text variable="collection-title"/>

    <text variable="collection-number" prefix=" "/>

    </macro>



    <macro name="event">

    <group>

    <text term="presented at" suffix=" "/>

    <text variable="event"/>

    </group>

    </macro>

    <macro name="description">

    <group delimiter=". ">

    <text macro="interviewer"/>

    <text variable="medium" text-case="capitalize-first"/>

    </group>

    <choose>

    <if variable="title" match="none"> </if>

    <else-if type="thesis"> </else-if>

    <else>

    <text variable="genre" text-case="capitalize-first" prefix=". "/>

    </else>

    </choose>

    </macro>

    <macro name="issue">

    <choose>

    <if type="article-journal">

    <text macro="day-month" prefix=" (" suffix=")"/>

    </if>

    <else-if type="speech">

    <group prefix=" " delimiter=", ">

    <text macro="event"/>

    <text macro="day-month"/>

    <text variable="event-place"/>

    </group>

    </else-if>

    <else-if type="article-newspaper article-magazine" match="any">

    <text macro="day-month" prefix=", "/>

    </else-if>

    <else>

    <group prefix=". " delimiter=", ">

    <choose>

    <if type="thesis">

    <text variable="genre" text-case="capitalize-first"/>

    </if>

    </choose>

    <text macro="publisher"/>

    <text macro="day-month"/>

    </group>

    </else>

    </choose>

    </macro>

    <citation>

    <option name="et-al-min" value="3"/>

    <option name="et-al-use-first" value="1"/>

    <option name="et-al-subsequent-min" value="3"/>

    <option name="et-al-subsequent-use-first" value="1"/>

    <option name="disambiguate-add-year-suffix" value="true"/>

    <sort>
    <key variable="issued"/>
    <key macro="contributors-short"/>
    </sort>
    <layout prefix="" suffix="" delimiter="; ">

    <group delimiter=", ">

    <group delimiter=" ">

    <text macro="contributors-short"/>

    <text macro="date"/>

    <text macro="day-month" prefix=" (" suffix="), "/>

    </group>

    <text macro="point-locators"/>

    </group>

    </layout>

    </citation>

    <bibliography>

    <option name="hanging-indent" value="true"/>

    <option name="et-al-min" value="11"/>

    <option name="et-al-use-first" value="7"/>

    <option name="subsequent-author-substitute" value="___"/>

    <option name="entry-spacing" value="0"/>

    <sort>

    <key variable="abstract"/>

    <key macro="contributors"/>

    <key variable="issued"/>

    </sort>

    <layout suffix=".">

    <text macro="contributors" suffix=". "/>

    <text macro="date" suffix=". "/>

    <text macro="day-month" text-case="capitalize-first" suffix=". "/>

    <text macro="title"/>

    <text macro="description"/>

    <text macro="secondary-contributors" prefix=". "/>

    <text macro="container-title"/>

    <text macro="container-contributors"/>

    <text macro="locators-chapter"/>

    <text macro="edition" prefix=". "/>

    <text macro="locators"/>

    <text macro="collection-title" prefix=". "/>

    <text macro="issue"/>

    <text macro="locators-article"/>

    <text macro="access" prefix=". "/>

    </layout>

    </bibliography>

    </style>
  • edited February 8, 2009
    I checked your style with RNV (http://www.zotero.org/support/dev/creating_citation_styles), and there were some small errors:

    - the formatting of the date when the style is updated wasn't formatted correctly ("<updated>2009-1-9</updated>"). Instead, you can just leave it empty (like "<updated></updated>"). When a style is added to the Style repository, this date is automatically added.

    - in the title macro, you add a prefix and suffix specifying double opening and closing quotes ("<text variable="title" prefix="“" suffix=".” " />". You should just enable quotes instead (the double quotes are invalid characters in XML):
    "<text variable="title" prefix="" suffix=". " quotes="true"/>"
    An alternative would be to use escape characters for the quotes:
    "<text variable="title" prefix="“" suffix=".” " />"
    http://www.dwheeler.com/essays/quotes-in-html.html

    - in the locators macro, the following line is incorrect: "<text variable="volume" font-style="italic" form="verb-short" prefix=" " suffix=""/>". The form of the variable volume can only be "short" or "long" (as there is no verb-version).

    The corrected version can be found at http://tinypaste.com/be470
  • Just a reminder: those of you working on styles need to validate them. The details of XML matter a lot, and so you really need to be ensuring your files are valid. It also makes things easier for you as you go if you are using a validating editor like emacs nxml mode, or oXygen.
  • Thank you very much for the feedback.

    I have tried to register for an account to upload this via SVN (https://www.zotero.org/dev/trac_access) but there is still no answer.
    Could someone else upload the above csl for me?
  • Could someone else upload the above csl for me?
    Done.
Sign In or Register to comment.