Dépôt d'une première version de dev du plugin ZotSPIP. Ce n'est pas finalisé mais c'est déjà fonctionnel.

v1
joseph@larmarange.net 11 years ago
commit f2856a5659

160
.gitattributes vendored

@ -0,0 +1,160 @@
* text=auto !eol
action/zotspip_forcer_maj.php -text
base/zotspip.php -text
csl/ama.csl -text
csl/apa.csl -text
csl/apsa.csl -text
csl/asa.csl -text
csl/chicago-author-date.csl -text
csl/chicago-fullnote-bibliography.csl -text
csl/chicago-note.csl -text
csl/french3.csl -text
csl/harvard1.csl -text
csl/harvard3.csl -text
csl/ieee.csl -text
csl/invisu.csl -text
csl/iso690-author-date-en.csl -text
csl/iso690-author-date-fr.csl -text
csl/iso690-numeric-en.csl -text
csl/iso690-numeric-fr.csl -text
csl/jl_adapted_apa_author_date.csl -text
csl/lancet.csl -text
csl/lettres-et-sciences-humaines-fr.csl -text
csl/mla.csl -text
csl/nature.csl -text
csl/science.csl -text
css/zotspip.css -text
formulaires/configurer_zotspip.html -text
formulaires/fusionner_zcreators.html -text
formulaires/fusionner_zcreators.php -text
formulaires/generer_langue_zotero.html -text
formulaires/generer_langue_zotero.php -text
formulaires/maj_zotspip.html -text
formulaires/maj_zotspip.php -text
genie/maj_items_zotspip.php -text
genie/maj_schema_zotero.php -text
genie/nettoyer_zotspip.php -text
images/add-creator-16.png -text
images/add-creator-24.png -text
images/remove-creator-16.png -text
images/remove-creator-24.png -text
images/remove-tag-16.png -text
images/sync-16.png -text
images/sync-24.png -text
images/sync-32.png -text
images/zotero-16.png -text
images/zotero-24.png -text
images/zotero-32.png -text
images/zotero-64.png -text
images/zotero/artwork.png -text
images/zotero/attachment-file.png -text
images/zotero/attachment-link.png -text
images/zotero/attachment-pdf.png -text
images/zotero/attachment-snapshot.png -text
images/zotero/attachment-web-link.png -text
images/zotero/attachment.png -text
images/zotero/audioRecording.png -text
images/zotero/blogPost.png -text
images/zotero/book.png -text
images/zotero/bookSection.png -text
images/zotero/computerProgram.png -text
images/zotero/conferencePaper.png -text
images/zotero/email.png -text
images/zotero/film.png -text
images/zotero/forumPost.png -text
images/zotero/go.png -text
images/zotero/interview.png -text
images/zotero/item.png -text
images/zotero/journalArticle.png -text
images/zotero/letter.png -text
images/zotero/magazineArticle.png -text
images/zotero/manuscript.png -text
images/zotero/map.png -text
images/zotero/newspaperArticle.png -text
images/zotero/note.png -text
images/zotero/podcast.png -text
images/zotero/radioBroadcast.png -text
images/zotero/report.png -text
images/zotero/thesis.png -text
images/zotero/tvBroadcast.png -text
images/zotero/url.png -text
images/zotero/videoRecording.png -text
images/zotero/webpage.png -text
images/zotspip-16.png -text
images/zotspip-24.png -text
images/zotspip-32.png -text
images/zotspip-48.png -text
inc/zotspip.php -text
inclure/inc-form_item_zotero.html -text
inclure/jquery.sortElements.js -text
inclure/zitem.html -text
inclure/zitem_sousitems.html -text
inclure/zitem_tags.html -text
lang/zotero_en.php -text
lang/zotero_es.php -text
lang/zotero_fr.php -text
lang/zotspip_fr.php -text
lib/citeproc-php/CiteProc.php -text
lib/citeproc-php/locale/README.md -text
lib/citeproc-php/locale/csl0.8-locales.rnc -text
lib/citeproc-php/locale/locales-af-ZA.xml -text
lib/citeproc-php/locale/locales-ar-AR.xml -text
lib/citeproc-php/locale/locales-bg-BG.xml -text
lib/citeproc-php/locale/locales-ca-AD.xml -text
lib/citeproc-php/locale/locales-cs-CZ.xml -text
lib/citeproc-php/locale/locales-da-DK.xml -text
lib/citeproc-php/locale/locales-de-AT.xml -text
lib/citeproc-php/locale/locales-de-CH.xml -text
lib/citeproc-php/locale/locales-de-DE.xml -text
lib/citeproc-php/locale/locales-el-GR.xml -text
lib/citeproc-php/locale/locales-en-GB.xml -text
lib/citeproc-php/locale/locales-en-US.xml -text
lib/citeproc-php/locale/locales-es-ES.xml -text
lib/citeproc-php/locale/locales-et-EE.xml -text
lib/citeproc-php/locale/locales-eu.xml -text
lib/citeproc-php/locale/locales-fa-IR.xml -text
lib/citeproc-php/locale/locales-fi-FI.xml -text
lib/citeproc-php/locale/locales-fr-FR.xml -text
lib/citeproc-php/locale/locales-he-IL.xml -text
lib/citeproc-php/locale/locales-hu-HU.xml -text
lib/citeproc-php/locale/locales-is-IS.xml -text
lib/citeproc-php/locale/locales-it-IT.xml -text
lib/citeproc-php/locale/locales-ja-JP.xml -text
lib/citeproc-php/locale/locales-km-KH.xml -text
lib/citeproc-php/locale/locales-ko-KR.xml -text
lib/citeproc-php/locale/locales-mn-MN.xml -text
lib/citeproc-php/locale/locales-nb-NO.xml -text
lib/citeproc-php/locale/locales-nl-NL.xml -text
lib/citeproc-php/locale/locales-nn-NO.xml -text
lib/citeproc-php/locale/locales-pl-PL.xml -text
lib/citeproc-php/locale/locales-pt-BR.xml -text
lib/citeproc-php/locale/locales-pt-PT.xml -text
lib/citeproc-php/locale/locales-ro-RO.xml -text
lib/citeproc-php/locale/locales-ru-RU.xml -text
lib/citeproc-php/locale/locales-sk-SK.xml -text
lib/citeproc-php/locale/locales-sl-SI.xml -text
lib/citeproc-php/locale/locales-sr-RS.xml -text
lib/citeproc-php/locale/locales-sv-SE.xml -text
lib/citeproc-php/locale/locales-th-TH.xml -text
lib/citeproc-php/locale/locales-tr-TR.xml -text
lib/citeproc-php/locale/locales-uk-UA.xml -text
lib/citeproc-php/locale/locales-vi-VN.xml -text
lib/citeproc-php/locale/locales-zh-CN.xml -text
lib/citeproc-php/locale/locales-zh-TW.xml -text
modeles/biblio.html -text
modeles/biblio_annee.html -text
modeles/biblio_simple.html -text
/plugin.xml -text
prive/exec/configurer_zotspip.html -text
prive/exec/generer_langue_zotero.html -text
prive/exec/zcreator.html -text
prive/exec/zcreators.html -text
prive/exec/zitems.html -text
prive/inclure/maj_zotspip.html -text
/zotspip_administrations.php -text
/zotspip_cron.php -text
/zotspip_file.html -text
/zotspip_fonctions.php -text
/zotspip_ieconfig.php -text
/zotspip_pipelines.php -text
/zotspip_unapi.html -text

@ -0,0 +1,23 @@
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
function action_zotspip_forcer_maj_dist(){
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
include_spip('inc/zotspip');
zotspip_nettoyer();
if (zotspip_maj_items(true)<0) {
$continuer = true;
while($continuer)
if (zotspip_maj_items()>=0)
$continuer = false;
}
// Redirection
if ($redirect = _request('redirect')) {
include_spip('inc/headers');
redirige_par_entete($redirect.'&maj=ok');
}
}
?>

@ -0,0 +1,141 @@
<?php
// Sécurité
if (!defined("_ECRIRE_INC_VERSION")) return;
function zotspip_declarer_tables_interfaces($interface){
// 'spip_' dans l'index de $tables_principales
$interface['table_des_tables']['zitems']='zitems';
$interface['table_des_tables']['zcollections']='zcollections';
$interface['table_des_tables']['ztags']='ztags';
$interface['table_des_tables']['zcreators']='zcreators';
//-- Jointures ----------------------------------------------------
$interface['tables_jointures']['spip_zitems'][]= 'ztags';
$interface['tables_jointures']['spip_zitems'][]= 'zcreators';
$interface['tables_jointures']['spip_zitems'][]= 'zitems_zcollections';
$interface['tables_jointures']['spip_zcollections'][]= 'zitems_zcollections';
$interface['tables_jointures']['spip_ztags'][]= 'zitems';
$interface['tables_jointures']['spip_zcreators'][]= 'zitems';
return $interface;
}
function zotspip_declarer_tables_principales($tables_principales){
//-- Table zitems -----------------------------------------------------------
$zitems = array(
"id_zitem" => "varchar(16) DEFAULT '' NOT NULL",
"id_parent" => "varchar(16) DEFAULT '' NOT NULL",
"type" => "varchar(255) DEFAULT '' NOT NULL",
"annee" => "smallint(6)",
"titre" => "text DEFAULT '' NOT NULL",
"auteurs" => "text DEFAULT '' NOT NULL",
"resume" => "mediumtext DEFAULT '' NOT NULL",
"date" => "varchar(255) DEFAULT '' NOT NULL",
"pages" => "varchar(255) DEFAULT '' NOT NULL",
"publication" => "text DEFAULT '' NOT NULL",
"editeur" => "text DEFAULT '' NOT NULL",
"collection" => "varchar(255) DEFAULT '' NOT NULL",
"conference" => "text DEFAULT '' NOT NULL",
"type_doc" => "text DEFAULT '' NOT NULL",
"volume" => "varchar(255) DEFAULT '' NOT NULL",
"numero" => "varchar(255) DEFAULT '' NOT NULL",
"doi" => "varchar(255) DEFAULT '' NOT NULL",
"isbn" => "varchar(255) DEFAULT '' NOT NULL",
"issn" => "varchar(255) DEFAULT '' NOT NULL",
"url" => "text DEFAULT '' NOT NULL",
"extras" => "text DEFAULT '' NOT NULL",
"mimetype" => "varchar(255) DEFAULT '' NOT NULL",
"poids" => "bigint",
"fichier" => "text DEFAULT '' NOT NULL",
"json" => "mediumtext DEFAULT '' NOT NULL",
"csljson" => "mediumtext DEFAULT '' NOT NULL",
"maj" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
);
$zitems_cles = array(
"PRIMARY KEY" => "id_zitem",
"KEY id_parent" => "id_parent"
);
$tables_principales['spip_zitems'] = array(
'field' => &$zitems,
'key' => &$zitems_cles
);
//-- Table zcollections -----------------------------------------------------------
$zcollections = array(
"id_zcollection" => "varchar(16) DEFAULT '' NOT NULL",
"id_parent" => "varchar(16) DEFAULT '' NOT NULL",
"zcollection" => "text DEFAULT '' NOT NULL",
"maj" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
);
$zcollections_cles = array(
"PRIMARY KEY" => "id_zcollection",
"KEY id_parent" => "id_parent"
);
$tables_principales['spip_zcollections'] = array(
'field' => &$zcollections,
'key' => &$zcollections_cles
);
//-- Table zcreators -----------------------------------------------------------
$zcreators = array(
"auteur" => "varchar(255) DEFAULT '' NOT NULL",
"id_zitem" => "varchar(16) DEFAULT '' NOT NULL",
"role" => "varchar(255) DEFAULT '' NOT NULL"
);
$zcreators_cles = array(
"PRIMARY KEY" => "auteur, id_zitem",
"KEY auteur" => "auteur"
);
$tables_principales['spip_zcreators'] = array(
'field' => &$zcreators,
'key' => &$zcreators_cles
);
//-- Table ztags -----------------------------------------------------------
$ztags = array(
"tag" => "varchar(255) DEFAULT '' NOT NULL",
"id_zitem" => "varchar(16) DEFAULT '' NOT NULL"
);
$ztags_cles = array(
"PRIMARY KEY" => "tag, id_zitem",
"KEY tag" => "tag"
);
$tables_principales['spip_ztags'] = array(
'field' => &$ztags,
'key' => &$ztags_cles
);
return $tables_principales;
}
function zotspip_declarer_tables_auxiliaires($tables_auxiliaires){
//-- Table zitems_zcollections -----------------------------------------------------------
$zitems_zcollections = array(
"id_zitem" => "varchar(16) DEFAULT '' NOT NULL",
"id_zcollection" => "varchar(16) DEFAULT '' NOT NULL"
);
$zitems_zcollections_cles = array(
"PRIMARY KEY" => "id_zitem, id_zcollection",
"KEY id_zcollection" => "id_zcollection"
);
$tables_auxiliaires['spip_zitems_zcollections'] = array(
'field' => &$zitems_zcollections,
'key' => &$zitems_zcollections_cles
);
return $tables_auxiliaires;
}
?>

@ -0,0 +1,221 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">
<info>
<title>American Medical Association (AMA)</title>
<id>http://www.zotero.org/styles/american-medical-association</id>
<link href="http://www.zotero.org/styles/american-medical-association" rel="self"/>
<author>
<name>Julian Onions</name>
<email>julian.onions@gmail.com</email>
</author>
<category citation-format="numeric"/>
<category field="medicine"/>
<updated>2012-02-07T01:46:04+00:00</updated>
<summary>The American Medical Association style as used in JAMA.</summary>
<link href="http://www.samford.edu/schools/pharmacy/dic/amaquickref07.pdf" rel="documentation"/>
<rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>
</info>
<macro name="editor">
<names variable="editor">
<name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=", " text-case="lowercase" suffix="." strip-periods="true"/>
</names>
</macro>
<macro name="anon">
<text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>
</macro>
<macro name="author">
<group suffix=".">
<names variable="author">
<name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=" " suffix="" text-case="lowercase" strip-periods="true"/>
<substitute>
<names variable="editor"/>
<text macro="anon"/>
</substitute>
</names>
</group>
</macro>
<macro name="author-short">
<names variable="author">
<name form="short" and="symbol" delimiter=", " initialize-with="."/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<text macro="anon"/>
</substitute>
</names>
</macro>
<macro name="access">
<choose>
<if type="article-newspaper" match="none">
<choose>
<if variable="URL">
<text value="Available at:" suffix=" "/>
<group delimiter=". ">
<text variable="URL"/>
<group>
<text term="accessed" text-case="capitalize-first" suffix=" "/>
<date variable="accessed">
<date-part name="month" suffix=" "/>
<date-part name="day" suffix=", "/>
<date-part name="year"/>
</date>
</group>
</group>
</if>
</choose>
</if>
</choose>
</macro>
<macro name="title">
<choose>
<if type="bill book graphic legal_case motion_picture report song" match="any">
<text variable="title" font-style="italic"/>
</if>
<else>
<text variable="title"/>
</else>
</choose>
</macro>
<macro name="publisher">
<group delimiter=": ">
<text variable="publisher-place"/>
<text variable="publisher"/>
</group>
</macro>
<macro name="year-date">
<group prefix=" ">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year"/>
</date>
</if>
<else>
<text term="no date" form="short"/>
</else>
</choose>
</group>
</macro>
<macro name="edition">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short" suffix="." strip-periods="true"/>
</group>
</if>
<else>
<text variable="edition" suffix="."/>
</else>
</choose>
</macro>
<citation collapse="citation-number">
<sort>
<key variable="citation-number"/>
</sort>
<layout delimiter="," vertical-align="sup">
<text variable="citation-number"/>
<group prefix="(" suffix=")">
<label variable="locator" form="short" strip-periods="true"/>
<text variable="locator"/>
</group>
</layout>
</citation>
<bibliography hanging-indent="false" et-al-min="7" et-al-use-first="3">
<layout>
<text variable="citation-number" suffix=". "/>
<text macro="author"/>
<text macro="title" prefix=" " suffix="."/>
<choose>
<if type="bill book graphic legal_case motion_picture report song" match="any">
<group suffix="." prefix=" " delimiter=" ">
<text macro="edition"/>
<text macro="editor" prefix="(" suffix=")"/>
</group>
<text prefix=" " macro="publisher"/>
<group suffix="." prefix="; ">
<date variable="issued">
<date-part name="year"/>
</date>
<text variable="page" prefix=":"/>
</group>
</if>
<else-if type="chapter paper-conference" match="any">
<group prefix=" ">
<text term="in" text-case="capitalize-first" suffix=": "/>
<text macro="editor"/>
<text variable="container-title" font-style="italic" prefix=" " suffix="."/>
<text variable="volume" prefix="Vol " suffix="."/>
<text macro="edition" prefix=" "/>
<text variable="collection-title" prefix=" " suffix="."/>
<group suffix=".">
<text macro="publisher" prefix=" "/>
<group suffix="." prefix="; ">
<date variable="issued">
<date-part name="year"/>
</date>
<text variable="page" prefix=":"/>
</group>
</group>
</group>
</else-if>
<else-if type="article-newspaper">
<text variable="container-title" font-style="italic" prefix=" " suffix=". "/>
<choose>
<if variable="URL">
<group delimiter=". " suffix=".">
<text variable="URL"/>
<group prefix="Published ">
<date variable="issued">
<date-part name="month" suffix=" "/>
<date-part name="day" suffix=", "/>
<date-part name="year"/>
</date>
</group>
<group>
<text term="accessed" text-case="capitalize-first" suffix=" "/>
<date variable="accessed">
<date-part name="month" suffix=" "/>
<date-part name="day" suffix=", "/>
<date-part name="year"/>
</date>
</group>
</group>
</if>
<else>
<group delimiter=":" suffix=".">
<group>
<date variable="issued">
<date-part name="month" suffix=" "/>
<date-part name="day" suffix=", "/>
<date-part name="year"/>
</date>
</group>
<text variable="page"/>
</group>
</else>
</choose>
</else-if>
<else>
<text macro="editor" prefix=" " suffix="."/>
<group prefix=" " suffix=".">
<text variable="container-title" font-style="italic" form="short" suffix="."/>
<group delimiter=";" prefix=" ">
<date variable="issued">
<date-part name="year"/>
</date>
<group>
<text variable="volume"/>
<text variable="issue" prefix="(" suffix=")"/>
</group>
</group>
<text variable="page" prefix=":"/>
</group>
</else>
</choose>
<text prefix=" " macro="access" suffix="."/>
</layout>
</bibliography>
</style>

@ -0,0 +1,439 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never">
<info>
<title>American Psychological Association 6th Edition</title>
<id>http://www.zotero.org/styles/apa</id>
<link href="http://www.zotero.org/styles/apa" rel="self"/>
<link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>
<author>
<name>Simon Kornblith</name>
<email>simon@simonster.com</email>
</author>
<contributor>
<name>Bruce D'Arcus</name>
</contributor>
<contributor>
<name>Curtis M. Humphrey</name>
</contributor>
<contributor>
<name>Richard Karnesky</name>
<email>karnesky+zotero@gmail.com</email>
<uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>
</contributor>
<contributor>
<name>Sebastian Karcher</name>
</contributor>
<category field="psychology"/>
<category field="generic-base"/>
<category citation-format="author-date"/>
<updated>2012-03-01T23:01:02+00:00</updated>
<rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>
</info>
<locale xml:lang="en">
<terms>
<term name="translator" form="short">
<single>trans.</single>
<multiple>trans.</multiple>
</term>
</terms>
</locale>
<macro name="container-contributors">
<choose>
<if type="chapter paper-conference" match="any">
<text term="in" text-case="capitalize-first" suffix=" "/>
<names variable="editor" delimiter=", " suffix=", ">
<name and="symbol" initialize-with=". " delimiter=", "/>
<label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>
<substitute>
<names variable="translator"/>
</substitute>
</names>
</if>
</choose>
</macro>
<macro name="secondary-contributors">
<choose>
<if type="chapter paper-conference" match="none">
<names variable="translator" delimiter=", " prefix=" (" suffix=")">
<name and="symbol" initialize-with=". " delimiter=", "/>
<label form="short" prefix=", " text-case="capitalize-first" suffix=""/>
<substitute>
<names variable="editor"/>
</substitute>
</names>
</if>
</choose>
</macro>
<macro name="author">
<names variable="author">
<name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<choose>
<if type="report">
<text variable="publisher"/>
<text macro="title"/>
</if>
<else>
<text macro="title"/>
</else>
</choose>
</substitute>
</names>
</macro>
<macro name="author-short">
<names variable="author">
<name form="short" and="symbol" delimiter=", " initialize-with=". "/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<choose>
<if type="report">
<text variable="publisher"/>
<text variable="title" form="short" font-style="italic"/>
</if>
<else-if type="bill book graphic legal_case motion_picture song" match="any">
<text variable="title" form="short" font-style="italic"/>
</else-if>
<else>
<text variable="title" form="short" quotes="true"/>
</else>
</choose>
</substitute>
</names>
</macro>
<macro name="access">
<choose>
<if type="thesis">
<choose>
<if variable="archive" match="any">
<group>
<text term="retrieved" text-case="capitalize-first" suffix=" "/>
<text term="from" suffix=" "/>
<text variable="archive" suffix="."/>
<text variable="archive_location" prefix=" (" suffix=")"/>
</group>
</if>
<else>
<group>
<text term="retrieved" text-case="capitalize-first" suffix=" "/>
<text term="from" suffix=" "/>
<text variable="URL"/>
</group>
</else>
</choose>
</if>
<else>
<choose>
<if variable="DOI">
<text variable="DOI" prefix="doi:"/>
</if>
<else>
<choose>
<if type="webpage">
<group delimiter=" ">
<text term="retrieved" text-case="capitalize-first" suffix=" "/>
<group>
<date variable="accessed" suffix=", ">
<date-part name="month" suffix=" "/>
<date-part name="day" suffix=", "/>
<date-part name="year"/>
</date>
</group>
<text term="from"/>
<text variable="URL"/>
</group>
</if>
<else>
<group>
<text term="retrieved" text-case="capitalize-first" suffix=" "/>
<text term="from" suffix=" "/>
<text variable="URL"/>
</group>
</else>
</choose>
</else>
</choose>
</else>
</choose>
</macro>
<macro name="title">
<choose>
<if type="report thesis" match="any">
<text variable="title" font-style="italic"/>
<group prefix=" (" suffix=")">
<text variable="genre"/>
<text variable="number" prefix=" No. "/>
</group>
</if>
<else-if type="book graphic motion_picture report song manuscript speech" match="any">
<text variable="title" font-style="italic"/>
</else-if>
<else>
<text variable="title"/>
</else>
</choose>
</macro>
<macro name="publisher">
<choose>
<if type="report" match="any">
<group delimiter=": ">
<text variable="publisher-place"/>
<text variable="publisher"/>
</group>
</if>
<else-if type="thesis" match="any">
<group delimiter=", ">
<text variable="publisher"/>
<text variable="publisher-place"/>
</group>
</else-if>
<else>
<group delimiter=", ">
<choose>
<if variable="event" match="none">
<text variable="genre"/>
</if>
</choose>
<group delimiter=": ">
<text variable="publisher-place"/>
<text variable="publisher"/>
</group>
</group>
</else>
</choose>
</macro>
<macro name="event">
<choose>
<if variable="event">
<choose>
<if variable="genre" match="none">
<text term="presented at" text-case="capitalize-first" suffix=" "/>
<text variable="event"/>
</if>
<else>
<group delimiter=" ">
<text variable="genre" text-case="capitalize-first"/>
<text term="presented at"/>
<text variable="event"/>
</group>
</else>
</choose>
</if>
</choose>
</macro>
<macro name="issued">
<choose>
<if type="legal_case bill" match="none">
<choose>
<if variable="issued">
<group prefix=" (" suffix=").">
<date variable="issued">
<date-part name="year"/>
</date>
<text variable="year-suffix"/>
<choose>
<if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">
<date variable="issued">
<date-part prefix=", " name="month"/>
<date-part prefix=" " name="day"/>
</date>
</if>
</choose>
</group>
</if>
<else>
<group prefix=" (" suffix=").">
<text term="no date" form="short"/>
<text variable="year-suffix" prefix="-"/>
</group>
</else>
</choose>
</if>
</choose>
</macro>
<macro name="issued-sort">
<choose>
<if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">
<date variable="issued">
<date-part name="year"/>
<date-part prefix=", " name="month"/>
<date-part prefix=" " name="day"/>
</date>
</if>
<else>
<date variable="issued">
<date-part name="year"/>
</date>
</else>
</choose>
</macro>
<macro name="issued-year">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year"/>
</date>
<text variable="year-suffix"/>
</if>
<else>
<text term="no date" form="short"/>
<text variable="year-suffix" prefix="-"/>
</else>
</choose>
</macro>
<macro name="edition">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short" suffix="." strip-periods="true"/>
</group>
</if>
<else>
<text variable="edition" suffix="."/>
</else>
</choose>
</macro>
<macro name="locators">
<choose>
<if type="article-journal article-magazine" match="any">
<group prefix=", " delimiter=", ">
<group>
<text variable="volume" font-style="italic"/>
<text variable="issue" prefix="(" suffix=")"/>
</group>
<text variable="page"/>
</group>
</if>
<else-if type="article-newspaper">
<group delimiter=" " prefix=", ">
<label variable="page" form="short"/>
<text variable="page"/>
</group>
</else-if>
<else-if type="book graphic motion_picture report song chapter paper-conference" match="any">
<group prefix=" (" suffix=")" delimiter=", ">
<text macro="edition"/>
<group>
<text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>
<number variable="number-of-volumes" form="numeric" prefix="1-"/>
</group>
<group>
<text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>
<number variable="volume" form="numeric"/>
</group>
<group>
<label variable="page" form="short" suffix=" "/>
<text variable="page"/>
</group>
</group>
</else-if>
<else-if type="legal_case">
<group prefix=" (" suffix=")" delimiter=" ">
<text variable="authority"/>
<date variable="issued" delimiter=" ">
<date-part name="month" form="short"/>
<date-part name="day" suffix=","/>
<date-part name="year"/>
</date>
</group>
</else-if>
<else-if type="bill">
<date variable="issued" prefix=" (" suffix=")" >
<date-part name="year"/>
</date>
</else-if>
</choose>
</macro>
<macro name="citation-locator">
<group>
<label variable="locator" form="short"/>
<text variable="locator" prefix=" "/>
</group>
</macro>
<macro name="container">
<choose>
<if type="legal_case bill" match="none">
<text variable="container-title" font-style="italic"/>
</if>
<else>
<group delimiter=" " prefix=", ">
<choose>
<if variable="container-title">
<text variable="volume"/>
<text variable="container-title"/>
<group delimiter=" ">
<!--change to label variable="section" as that becomes available -->
<text term="section" form="symbol"/>
<text variable="section"/>
</group>
<text variable="page"/>
</if>
<else>
<choose>
<if type="legal_case">
<text variable ="number" prefix="No. "/>
</if>
<else>
<text variable ="number" prefix="Pub. L. No. "/>
<group delimiter=" ">
<!--change to label variable="section" as that becomes available -->
<text term="section" form="symbol"/>
<text variable="section"/>
</group>
</else>
</choose>
</else>
</choose>
</group>
</else>
</choose>
</macro>
<citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name">
<sort>
<key macro="author"/>
<key macro="issued-sort"/>
</sort>
<layout prefix="(" suffix=")" delimiter="; ">
<group delimiter=", ">
<text macro="author-short"/>
<text macro="issued-year"/>
<text macro="citation-locator"/>
</group>
</layout>
</citation>
<bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">
<sort>
<key macro="author"/>
<key macro="issued-sort" sort="ascending"/>
</sort>
<layout>
<group suffix=".">
<group delimiter=". ">
<text macro="author"/>
<text macro="issued" />
</group>
<group delimiter=". ">
<text macro="title" prefix=" "/>
<group>
<text macro="container-contributors"/>
<text macro="secondary-contributors"/>
<group delimiter=", ">
<text macro="container" />
<text variable="collection-title"/>
</group>
</group>
</group>
<text macro="locators"/>
<group delimiter=", " prefix=". ">
<text macro="event"/>
<text macro="publisher"/>
</group>
</group>
<text macro="access" prefix=" "/>
</layout>
</bibliography>
</style>

@ -0,0 +1,210 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">
<info>
<title>American Political Science Association</title>
<id>http://www.zotero.org/styles/apsa</id>
<link href="http://www.zotero.org/styles/apsa" rel="self"/>
<author>
<name>Julian Onions</name>
<email>julian.onions@gmail.com</email>
</author>
<contributor>
<name>Sebastian Karcher</name>
</contributor>
<category citation-format="author-date"/>
<category field="political_science"/>
<updated>2012-02-07T01:46:04+00:00</updated>
<summary>The American Political Science Association style.</summary>
<link href="http://www.ipsonet.org/data/files/APSAStyleManual2006.pdf" rel="documentation"/>
<rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>
</info>
<macro name="editor">
<names variable="editor" delimiter=", ">
<label form="short" text-case="lowercase" suffix=". " strip-periods="true"/>
<name and="text" delimiter=", "/>
</names>
</macro>
<macro name="author">
<names variable="author">
<name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=", " suffix="." text-case="lowercase" strip-periods="true"/>
<substitute>
<names variable="editor"/>
<text macro="title"/>
</substitute>
</names>
</macro>
<macro name="author-short">
<names variable="author">
<name form="short" and="text" delimiter=", " initialize-with=". " sort-separator=", "/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<text macro="title"/>
</substitute>
</names>
</macro>
<macro name="access">
<choose>
<if type="legal_case" match="none">
<choose>
<if variable="URL">
<group delimiter=" ">
<text variable="URL"/>
<group prefix="(" suffix=")">
<text term="accessed" text-case="capitalize-first" suffix=" "/>
<date variable="accessed">
<date-part name="month" suffix=" "/>
<date-part name="day" suffix=", "/>
<date-part name="year"/>
</date>
</group>
</group>
</if>
</choose>
</if>
</choose>
</macro>
<macro name="title">
<choose>
<if type="bill book graphic legal_case motion_picture report song" match="any">
<text variable="title" font-style="italic"/>
</if>
<else>
<text variable="title" quotes="true"/>
</else>
</choose>
</macro>
<macro name="legal_case">
<group prefix=" " delimiter=" ">
<text variable="volume"/>
<text variable="container-title"/>
<text variable="page"/>
</group>
<text variable="authority" prefix=" (" suffix=")"/>
</macro>
<macro name="publisher">
<choose>
<if type="thesis" match="none">
<group delimiter=": ">
<text variable="publisher-place"/>
<text variable="publisher"/>
</group>
<text variable="genre" prefix=". "/>
</if>
<else>
<group delimiter=". ">
<text variable="genre"/>
<text variable="publisher"/>
</group>
</else>
</choose>
</macro>
<macro name="year-date">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year"/>
</date>
</if>
<else>
<text term="no date" form="short"/>
</else>
</choose>
</macro>
<macro name="edition">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short" suffix="." strip-periods="true"/>
</group>
</if>
<else>
<text variable="edition" suffix="."/>
</else>
</choose>
</macro>
<macro name="locator">
<choose>
<if locator="page">
<text variable="locator"/>
</if>
<else>
<group delimiter=" ">
<label variable="locator" form="short"/>
<text variable="locator"/>
</group>
</else>
</choose>
</macro>
<citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">
<sort>
<key macro="author-short"/>
<key macro="year-date"/>
</sort>
<layout prefix="(" suffix=")" delimiter="; ">
<group delimiter=", ">
<group delimiter=" ">
<text macro="author-short"/>
<text macro="year-date"/>
</group>
<text macro="locator"/>
</group>
</layout>
</citation>
<bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" subsequent-author-substitute="———">
<sort>
<key macro="author"/>
<key macro="year-date"/>
<key variable="title"/>
</sort>
<layout suffix=".">
<text macro="author" suffix="."/>
<date variable="issued" prefix=" " suffix=".">
<date-part name="year"/>
</date>
<choose>
<if type="bill book graphic legal_case motion_picture report song manuscript thesis" match="any">
<text macro="legal_case"/>
<group prefix=" " delimiter=" ">
<text macro="title" suffix="."/>
<text macro="edition"/>
<text macro="editor" suffix="."/>
</group>
<text prefix=" " suffix="." macro="publisher"/>
</if>
<else-if type="chapter paper-conference" match="any">
<text macro="title" prefix=" " suffix="."/>
<group prefix=" " delimiter=" ">
<text term="in" text-case="capitalize-first"/>
<text variable="container-title" font-style="italic" suffix=","/>
<text variable="collection-title" suffix=","/>
<text macro="editor" suffix="."/>
<group suffix=".">
<text macro="publisher"/>
<group prefix=", ">
<text variable="page" prefix="p. "/>
</group>
</group>
</group>
</else-if>
<else>
<group prefix=" " delimiter=" " suffix=".">
<text macro="title"/>
<text macro="editor"/>
</group>
<group prefix=" " suffix=".">
<text variable="container-title" font-style="italic"/>
<group prefix=" ">
<text variable="volume"/>
<text variable="issue" prefix="(" suffix=")"/>
</group>
<text variable="page" prefix=": "/>
</group>
</else>
</choose>
<text prefix=" " macro="access" suffix="."/>
</layout>
</bibliography>
</style>

@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">
<info>
<title>American Sociological Association</title>
<id>http://www.zotero.org/styles/asa</id>
<link href="http://www.zotero.org/styles/asa" rel="self"/>
<author>
<name>Julian Onions</name>
<email>julian.onions@gmail.com</email>
</author>
<category citation-format="author-date"/>
<category field="sociology"/>
<updated>2012-02-07T01:46:04+00:00</updated>
<summary>The ASA style.</summary>
<link href="http://www.asanet.org/Quick%20Style%20Guide.pdf" rel="documentation"/>
<rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>
</info>
<macro name="editor">
<names variable="editor">
<label form="verb" text-case="lowercase" suffix=" "/>
<name and="text" delimiter=", "/>
</names>
</macro>
<macro name="series-editor">
<names variable="original-author">
<label form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>
<name and="text" delimiter=", "/>
</names>
</macro>
<macro name="anon">
<text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>
</macro>
<macro name="author">
<names variable="author">
<name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=", " suffix="." text-case="lowercase" strip-periods="true"/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<text macro="anon"/>
</substitute>
</names>
</macro>
<macro name="author-short">
<names variable="author">
<name form="short" and="text" delimiter=", " initialize-with=". "/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<text macro="anon"/>
</substitute>
</names>
</macro>
<macro name="access">
<group>
<text term="retrieved" text-case="capitalize-first" suffix=" "/>
<date variable="accessed">
<date-part name="month" suffix=" "/>
<date-part name="day" suffix=", "/>
<date-part name="year"/>
</date>
<group prefix=" (" suffix=")">
<text variable="URL"/>
</group>
</group>
</macro>
<macro name="title">
<choose>
<if type="thesis">
<text variable="title"/>
</if>
<else-if type="bill book graphic legal_case motion_picture report song" match="any">
<text variable="title" font-style="italic"/>
</else-if>
<else>
<text variable="title" quotes="true"/>
</else>
</choose>
</macro>
<macro name="publisher">
<group delimiter=": ">
<text variable="publisher-place"/>
<text variable="publisher"/>
</group>
</macro>
<macro name="year-date">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year"/>
</date>
</if>
<else>
<text term="no date" form="short"/>
</else>
</choose>
</macro>
<macro name="day-month">
<date variable="issued">
<date-part name="month"/>
<date-part name="day" prefix=" "/>
</date>
</macro>
<macro name="pages">
<label variable="page" form="short" suffix=". " text-case="capitalize-first" strip-periods="true"/>
<text variable="page"/>
</macro>
<macro name="edition">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short" suffix="." strip-periods="true"/>
</group>
</if>
<else>
<text variable="edition" suffix="."/>
</else>
</choose>
</macro>
<citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">
<layout prefix="(" suffix=")" delimiter="; ">
<group delimiter=":">
<group delimiter=" ">
<text macro="author-short"/>
<text macro="year-date"/>
</group>
<text variable="locator"/>
</group>
</layout>
</citation>
<bibliography hanging-indent="true" et-al-min="6" et-al-use-first="1">
<sort>
<key macro="author"/>
<key variable="title"/>
</sort>
<layout suffix=".">
<group delimiter=" ">
<text macro="author" suffix="."/>
<text macro="year-date" suffix="."/>
</group>
<choose>
<if type="article-newspaper article-magazine" match="any">
<group delimiter=" ">
<text macro="title" prefix=" " suffix="."/>
</group>
<group prefix=" " delimiter=", ">
<text variable="container-title" font-style="italic"/>
<text macro="day-month"/>
<text variable="edition"/>
<text variable="page"/>
</group>
</if>
<else-if type="thesis">
<text macro="title" prefix=" " suffix="." quotes="true"/>
<group prefix=" " delimiter=", ">
<text macro="edition"/>
<text macro="editor" suffix="."/>
<text variable="genre"/>
<text macro="publisher"/>
</group>
</else-if>
<else-if type="bill book graphic legal_case motion_picture report song" match="any">
<group delimiter=" ">
<text macro="title" prefix=" " suffix="."/>
<text macro="edition"/>
<text macro="editor" suffix="."/>
<text macro="publisher"/>
</group>
</else-if>
<else-if type="chapter paper-conference" match="any">
<group delimiter=" ">
<text macro="title" prefix=" " suffix="."/>
<group delimiter=", " suffix=".">
<group delimiter=" ">
<text macro="pages"/>
<text term="in" text-case="lowercase"/>
<text variable="container-title" font-style="italic"/>
</group>
<text variable="volume" prefix="vol. "/>
<text variable="collection-title" font-style="italic"/>
<text macro="editor"/>
</group>
<text macro="publisher"/>
</group>
</else-if>
<else>
<group suffix=".">
<text macro="title" prefix=" "/>
<text macro="editor" prefix=" "/>
</group>
<group prefix=" " suffix="." delimiter=" ">
<text variable="container-title" font-style="italic"/>
<group delimiter=":">
<group>
<text variable="volume"/>
<text variable="issue" prefix="(" suffix=")"/>
</group>
<text variable="page"/>
</group>
</group>
</else>
</choose>
<text prefix=" " macro="access" suffix="."/>
</layout>
</bibliography>
</style>

@ -0,0 +1,425 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">
<info>
<title>Chicago Manual of Style (author-date)</title>
<id>http://www.zotero.org/styles/chicago-author-date</id>
<link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>
<author>
<name>Julian Onions</name>
<email>julian.onions@gmail.com</email>
</author>
<contributor>
<name>Sebastian Karcher</name>
</contributor>
<category citation-format="author-date"/>
<category field="generic-base"/>
<updated>2012-02-07T01:46:04+00:00</updated>
<summary>The author-date variant of the Chicago style</summary>
<link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
<rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>
</info>
<macro name="secondary-contributors">
<choose>
<if type="chapter paper-conference" match="none">
<group delimiter=". ">
<choose>
<if variable="author">
<names variable="editor">
<label form="verb-short" text-case="capitalize-first" suffix=". " strip-periods="true"/>
<name and="text" delimiter=", "/>
</names>
</if>
</choose>
<choose>
<if variable="author editor" match="any">
<names variable="translator">
<label form="verb-short" text-case="capitalize-first" suffix=". " strip-periods="true"/>
<name and="text" delimiter=", "/>
</names>
</if>
</choose>
</group>
</if>
</choose>
</macro>
<macro name="container-contributors">
<choose>
<if type="chapter paper-conference" match="any">
<group prefix="," delimiter=", ">
<choose>
<if variable="author">
<names variable="editor">
<label form="verb-short" prefix=" " text-case="lowercase" suffix=". " strip-periods="true"/>
<name and="text" delimiter=", "/>
</names>
<choose>
<if variable="container-author">
<group>
<names variable="container-author">
<label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>
<name and="text" delimiter=", "/>
</names>
</group>
</if>
</choose>
</if>
</choose>
<choose>
<if variable="author editor" match="any">
<names variable="translator">
<label form="verb-short" prefix=" " text-case="lowercase" suffix=". " strip-periods="true"/>
<name and="text" delimiter=", "/>
</names>
</if>
</choose>
</group>
</if>
</choose>
</macro>
<macro name="anon">
<text term="anonymous" form="short" text-case="capitalize-first" suffix="." strip-periods="true"/>
</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="." strip-periods="true"/>
</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="." strip-periods="true"/>
</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" strip-periods="true"/>
<substitute>
<text macro="editor"/>
<text macro="translator"/>
<text macro="anon"/>
</substitute>
</names>
<text macro="recipient"/>
</macro>
<macro name="contributors-short">
<names variable="author">
<name form="short" and="text" delimiter=", " initialize-with=". "/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<text macro="anon"/>
</substitute>
</names>
</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="bill book graphic legal_case motion_picture report song article-magazine article-newspaper thesis chapter paper-conference" match="none">
<text macro="archive"/>
</else-if>
</choose>
<text variable="DOI" prefix="doi:"/>
<choose>
<if type="legal_case" match="none">
<text variable="URL"/>
</if>
</choose>
</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="bill book graphic legal_case motion_picture report song" match="any">
<text variable="title" text-case="title" font-style="italic"/>
</else-if>
<else>
<text variable="title" text-case="title" quotes="true"/>
</else>
</choose>
</macro>
<macro name="edition">
<choose>
<if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short" suffix="." strip-periods="true"/>
</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=" (" suffix=")"/>
</if>
<else-if type="legal_case">
<text variable="volume" prefix=", "/>
<text variable="container-title" prefix=" "/>
<text variable="page" prefix=" "/>
</else-if>
<else-if type="bill book graphic legal_case motion_picture report song" match="any">
<group prefix=". " delimiter=". ">
<group>
<text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>
<number variable="volume" form="numeric"/>
</group>
<group>
<number variable="number-of-volumes" form="numeric"/>
<text term="volume" form="short" prefix=" " suffix="." plural="true" strip-periods="true"/>
</group>
</group>
</else-if>
<else-if type="chapter paper-conference" match="any">
<choose>
<if variable="page" match="none">
<group prefix=". ">
<text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>
<number variable="volume" form="numeric"/>
</group>
</if>
</choose>
</else-if>
</choose>
</macro>
<macro name="locators-chapter">
<choose>
<if type="chapter paper-conference" match="any">
<choose>
<if variable="page">
<group prefix=", ">
<text variable="volume" suffix=":"/>
<text variable="page"/>
</group>
</if>
</choose>
</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=". " strip-periods="true"/>
<text variable="section"/>
</group>
</group>
</if>
<else-if type="article-journal">
<text variable="page" prefix=": "/>
</else-if>
</choose>
</macro>
<macro name="point-locators">
<choose>
<if variable="locator">
<choose>
<if locator="page" match="none">
<choose>
<if type="bill book graphic legal_case motion_picture report song" match="any">
<choose>
<if variable="volume">
<group>
<text term="volume" form="short" text-case="lowercase" suffix=". " strip-periods="true"/>
<number variable="volume" form="numeric"/>
<label variable="locator" form="short" prefix=", " suffix=" "/>
</group>
</if>
<else>
<label variable="locator" form="short" suffix=" "/>
</else>
</choose>
</if>
<else>
<label variable="locator" form="short" suffix=" "/>
</else>
</choose>
</if>
<else-if type="bill book graphic legal_case motion_picture report song" match="any">
<number variable="volume" form="numeric" suffix=":"/>
</else-if>
</choose>
<text variable="locator"/>
</if>
</choose>
</macro>
<macro name="container-prefix">
<text term="in" text-case="capitalize-first"/>
</macro>
<macro name="container-title">
<choose>
<if type="chapter paper-conference" match="any">
<text macro="container-prefix" suffix=" "/>
</if>
</choose>
<choose>
<if type="legal_case" match="none">
<text variable="container-title" text-case="title" font-style="italic"/>
</if>
</choose>
</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-case="title"/>
<text variable="collection-number" prefix=" "/>
</macro>
<macro name="event">
<group>
<text term="presented at" suffix=" "/>
<text variable="event"/>
</group>
</macro>
<macro name="description">
<choose>
<if type="interview">
<group delimiter=". ">
<text macro="interviewer"/>
<text variable="medium" text-case="capitalize-first"/>
</group>
</if>
<else>
<text variable="medium" text-case="capitalize-first" prefix=". "/>
</else>
</choose>
<choose>
<if variable="title" match="none"/>
<else-if type="thesis"/>
<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="legal_case">
<text variable="authority" prefix=". "/>
</else-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"/>
</group>
</else>
</choose>
</macro>
<citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name">
<layout prefix="(" suffix=")" delimiter="; ">
<group delimiter=", ">
<group delimiter=" ">
<text macro="contributors-short"/>
<text macro="date"/>
</group>
<text macro="point-locators"/>
</group>
</layout>