/*
 * Copyright (c) 2009-2013 Frank G. Bennett, Jr. All Rights
 * Reserved.
 *
 * The contents of this file are subject to the Common Public
 * Attribution License Version 1.0 (the “License”); you may not use
 * this file except in compliance with the License. You may obtain a
 * copy of the License at:
 *
 * http://bitbucket.org/fbennett/citeproc-js/src/tip/LICENSE.
 *
 * The License is based on the Mozilla Public License Version 1.1 but
 * Sections 1.13, 14 and 15 have been added to cover use of software over a
 * computer network and provide for limited attribution for the
 * Original Developer. In addition, Exhibit A has been modified to be
 * consistent with Exhibit B.
 *
 * Software distributed under the License is distributed on an “AS IS”
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 * the License for the specific language governing rights and limitations
 * under the License.
 *
 * The Original Code is the citation formatting software known as
 * "citeproc-js" (an implementation of the Citation Style Language
 * [CSL]), including the original test fixtures and software located
 * under the ./tests subdirectory of the distribution archive.
 *
 * The Original Developer is not the Initial Developer and is
 * __________. If left blank, the Original Developer is the Initial
 * Developer.
 *
 * The Initial Developer of the Original Code is Frank G. Bennett,
 * Jr. All portions of the code written by Frank G. Bennett, Jr. are
 * Copyright (c) 2009-2013 Frank G. Bennett, Jr. All Rights Reserved.
 *
 * Alternatively, the contents of this file may be used under the
 * terms of the GNU Affero General Public License (the [AGPLv3]
 * License), in which case the provisions of [AGPLv3] License are
 * applicable instead of those above. If you wish to allow use of your
 * version of this file only under the terms of the [AGPLv3] License
 * and not to allow others to use your version of this file under the
 * CPAL, indicate your decision by deleting the provisions above and
 * replace them with the notice and other provisions required by the
 * [AGPLv3] License. If you do not delete the provisions above, a
 * recipient may use your version of this file under either the CPAL
 * or the [AGPLv3] License.”
 */

>>===== MODE =====>>
bibliography
<<===== MODE =====<<



>>===== RESULT =====>>
<div class="csl-bib-body">
  <div class="csl-entry">Noakes, Richard. <i>Hello</i>. Ed. by John Doe. Trans. by Jane Roe.</div>
</div>
<<===== RESULT =====<<


mla-x.csl


>>===== CSL =====>>
<style 
      xmlns="http://purl.org/net/xbiblio/csl"
      class="in-text"
      version="1.0">
  <info>
    <id />
    <title />
    <updated>2009-08-10T04:49:00+09:00</updated>
  </info>
  <macro name="editor-translator">
    <names variable="editor translator" delimiter=". ">
      <label form="verb-short" text-case="capitalize-first" suffix=" "/>
      <name and="symbol" 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="." strip-periods="true"/>
      <substitute>
        <names variable="editor"/>
        <names variable="translator"/>
        <text macro="title"/>
      </substitute>
    </names>
  </macro>
  <macro name="title-short">
    <choose>
      <if type="bill book graphic legal_case motion_picture report song" match="any">
        <text variable="title" form="short" font-style="italic"/>
      </if>
      <else>
        <text variable="title" form="short" quotes="true"/>
      </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"/>
      </else>
    </choose>
  </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="title-short"/>
      </substitute>
    </names>
  </macro>
  <macro name="access">
    <group delimiter=" ">
      <date variable="accessed">
        <date-part name="day" suffix=" "/>
        <date-part name="month" form="short" suffix=" "/>
        <date-part name="year"/>
      </date>
      <text variable="URL" prefix="&lt;" suffix="&gt;"/>
    </group>
  </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="publisher-year">
    <group delimiter=", ">
      <group delimiter=": ">
        <text variable="publisher-place"/>
        <text variable="publisher"/>
      </group>
      <date variable="issued">
        <date-part name="year"/>
      </date>
    </group>
  </macro>
  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">
    <layout prefix="(" suffix=")" delimiter="; ">
      <group delimiter=" ">
        <choose>
          <if variable="author editor translator" match="any">
            <group delimiter=", ">
              <text macro="author-short"/>
              <choose>
                <if disambiguate="true">
                  <text macro="title-short"/>
                </if>
              </choose>
            </group>
          </if>
          <else>
            <text macro="title-short"/>
          </else>
        </choose>
        <text variable="locator"/>
      </group>
    </layout>
  </citation>
  <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" line-spacing="2" subsequent-author-substitute="---">
    <sort>
      <key macro="author"/>
      <key variable="title"/>
    </sort>
    <layout>
      <text macro="author" suffix="."/>
      <text macro="title" prefix=" " suffix="."/>
      <choose>
        <if type="bill book graphic legal_case motion_picture report song" match="any">
          <text macro="edition" prefix=" " suffix="."/>
          <text macro="editor-translator" prefix=" " suffix="."/>
          <text macro="publisher-year" prefix=" " suffix="."/>
        </if>
        <else-if type="chapter paper-conference" match="any">
          <group>
            <text variable="container-title" font-style="italic" prefix=" " suffix="."/>
            <text macro="edition" prefix=" " suffix="."/>
            <text macro="editor-translator" prefix=" " suffix="."/>
            <text macro="publisher-year" prefix=" " suffix="."/>
          </group>
          <text variable="page" prefix=" " suffix="."/>
        </else-if>
        <else>
          <group prefix=" " suffix="." delimiter=": ">
            <group delimiter=" ">
              <text macro="editor-translator" suffix="."/>
              <text variable="container-title" font-style="italic"/>
              <choose>
                <if type="article-journal">
                  <group delimiter=" ">
                    <group delimiter=".">
                      <text variable="volume"/>
                      <text variable="issue"/>
                    </group>
                    <date variable="issued" prefix="(" suffix=")">
                      <date-part name="year"/>
                    </date>
                  </group>
                </if>
                <else>
                  <date variable="issued">
                    <date-part name="day" suffix=" "/>
                    <date-part name="month" form="short" suffix=" "/>
                    <date-part name="year"/>
                  </date>
                </else>
              </choose>
            </group>
            <text variable="page"/>
          </group>
        </else>
      </choose>
      <text prefix=" " suffix="." macro="access"/>
    </layout>
  </bibliography>
</style>
<<===== CSL =====<<





>>===== INPUT =====>>
[
    {
        "author": [
            {
                "family": "Noakes", 
                "given": "Richard"
            }
		],
        "editor": [
            {
                "family": "Doe", 
                "given": "John"
            }
		],
		"translator": [
            {
                "family": "Roe", 
                "given": "Jane"
            }
        ], 
        "title": "Hello",
        "id": "ITEM-1", 
        "type": "book"
    }
]
<<===== INPUT =====<<
