After giving more thought to my proposed CSL element, I would like to modify 
the proposal. I would to rename the proposed element from <serials> to 
<containers>. Other changes will be listed in my answer to the questions that 
Bruce raises.


Bruce brings up 2 important concerns with my previous proposal:


QUESTIONS

1) Is the proposal necessary?

2) Could the solution be solved by extending the features of the <group> 
element?

3) Could the proposal be generalized beyond its niche applicability?


ANSWERS

(1) The proposal is necessary in my opinion.

Frank Bennett has done a lot of incredible work with citeproc-js and 
Multi-lingual Zotero. In addition to maintaining the processor, he added 
experimental support for parallel citations for legal users. However, the 
lengths that he has had to go to achieve that support demonstrate why the 
<containers> construct should be adopted.

"In CSL-M, parallel citations are produced when the item types of two adjacent 
citations match, the items are of a legal type, and their titles and dates also 
match." (Bennett, F. "Citations out of the Box", p. 78).

This approach introduces several problems. First, storing information about the 
same item in two different citations allows the possibility of storing 
inconsistent information. Second, it relies upon the processor to imply a 
relationship between two citations, instead of relying upon an explicit data 
structure. This means that CSL Processors need to have complicated code in 
order to support parallel citations - which limits adoption of the feature. 
Third - from my understanding - the style creators don't have the ability give 
instructions about how parallel citations should be styled.

In contrast, supporting a <containers> element will ensure data integrity, it 
is easier for processors to implement, and it gives style creators the 
flexibility to target users of parallel citations, if they choose.

(2) Extending the <group> element to support the proposed features would NOT be 
an advisable solution.

Just like the proposed <containers> element, the <group> element is primarily 
used for item data that is logically related. However, it's primary function is 
that it "implicitly acts as a conditional." 
(http://docs.citationstyles.org/en/stable/specification.html#group). <group> 
elements are not rendered if it contains a variable, and the variables are 
empty.  When a <group> element is rendered, it can apply prefix before the 
content, apply a suffix after the content, and apply delimiters in between its 
variables.

The <group> element has a clearly defined, useful role in styling data. 
However, there are several features that the <group> element lacks compared to 
the proposed <containers> element.
First, the <group> element does not have a variable name. The <group> element 
acts as a collection of variables, but it is not a variable itself.
Second, because the <group> element does not correspond to a variable, it also 
does not support iterating through complex data. The <names> element and <date> 
element are examples of elements that supported complex data - data that is 
represented in a nested structure. A <names> element will iterate through every 
name that is associated with that variable. The proposed <containers> element 
is functionally closer to the <names> element than to the <group> element. In 
fact, the <containers> element is fairly be described as a more flexible 
<names> element. Just you would not want to extend the <group> element to 
directly render names, I think that it would be just as unwise to use <group> 
to directly render information that a <containers> element should render.

(3) The proposal could be generalized beyond supporting only parallel citations 
for legal users.


I think that the element should be named a <containers> element, instead of 
being named <serials>. The allowed sub-elements of <containers> would be 
<container> elements. This would indicate to style designers that the element 
is to be used as a "container" for any pieces of information that are logically 
related and that are repeatable.


Each <container> element would be composed of <container-part> elements. The 
<container-part> elements are directly analogous to <text> elements of a CSL 
style. <container-part> elements should follow the variable-naming conventions 
for Standard Variables from Appendix IV of the CSL specification. 
(http://docs.citationstyles.org/en/stable/specification.html#standard-variables).

EXAMPLE REPRESENTATION

<containers name="variable-name">

    <container>

        <container-part name="text-variable-name" />

        .....

    </container>

</containers>


ADDITIONAL THOUGHTS
1) THE PROPOSAL IS PARTIALLY BACKWARDS COMPATIBLE

If adopted, new CSL styles would be able to process old data. I have already 
written a patch for citeproc-js that would support <containers> elements in a 
CSL style sheet. (81 lines of pretty simple code). My implementation first 
looks for item data under the variable-name of the <containers> element. If 
that variable-name is not found, the processor then looks for item data using 
the variable names of the <container-part> elements. This means that styles 
that use <containers> elements can still fully process item data, even if that 
data was not encoded to explicitly support <containers> elements.


2) THE PROPOSAL IS NOT FULLY BACKWARDS COMPATIBLE, AND IS NOT COMPATIBLE 
BETWEEN STYLES. THE POSSIBLE VARIABLE NAMES FOR <CONTAINERS> ELEMENTS SHOULD BE 
SPECIFIED

Old style sheets would not be able to process new data that would target the 
<containers> features of CSL - unless the possible variable names for 
<containers> elements are constrained. Constraining the variable names would 
also required for compatibility between new CSL styles.

It is hard to work out which variable names should be allowed for <containers> 
elements, without anticipating every use case. If I could speculate about a 
possible solution. . . Drawing inspiration from Bibframe's model 
(https://www.loc.gov/bibframe/docs/bibframe2-model.html), perhaps the variable 
name for <containers> elements should be limited to names such "Instances", 
"Events", and "Subjects".


- Tom


________________________________
From: xbiblio-devel-requ...@lists.sourceforge.net 
<xbiblio-devel-requ...@lists.sourceforge.net>
Sent: Friday, December 30, 2016 6:29 PM
To: xbiblio-devel@lists.sourceforge.net
Subject: xbiblio-devel Digest, Vol 116, Issue 1

Send xbiblio-devel mailing list submissions to
        xbiblio-devel@lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.sourceforge.net/lists/listinfo/xbiblio-devel
xbiblio-devel Info Page - 
SourceForge<https://lists.sourceforge.net/lists/listinfo/xbiblio-devel>
lists.sourceforge.net
This list is for development discussion around the xbiblio project, including 
schema design for the citation style language (CSL) and implementation 
discussion.


or, via email, send a message with subject or body 'help' to
        xbiblio-devel-requ...@lists.sourceforge.net

You can reach the person managing the list at
        xbiblio-devel-ow...@lists.sourceforge.net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of xbiblio-devel digest..."


Today's Topics:

   1. Re: Proposed change to CSL input XML (Bruce D'Arcus)
   2. citeproc-java 1.0.0 has just been released! (Michel Kr?mer)
   3. Incorrectly changed title case (Joseph Reagle)
   4. Re: Incorrectly changed title case (Sebastian Karcher)


----------------------------------------------------------------------

Message: 1
Date: Tue, 04 Oct 2016 02:03:41 +0000
From: "Bruce D'Arcus" <bdar...@gmail.com>
Subject: Re: [xbiblio-devel] Proposed change to CSL input XML
To: "xbiblio-devel@lists.sourceforge.net"
        <xbiblio-devel@lists.sourceforge.net>
Message-ID:
        <caf-fpgmy1qdb_9pdwqh4mwjfj01e2n6wn2gm4nsohu+jaku...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Whenever a case like this comes up, I try to generalize.

So the proposal is fine, except I wonder if there's really need for a new
element to support this, and if it might be generalized.

Thinking out loud, this is basically a situation where there is more than
one "container". Maybe one or more new attributes on cs:group?

On Mon, Sep 26, 2016, 12:56 PM Thomas O'Reilly <ia...@hotmail.com> wrote:

> Sebastian seems to have a solid grasp on the issues. I also often share
> his frustration with legal citations. Just so that everyone in the
> conversation knows what the deal is about legal citations, I have included
> some background.
>
> Legal decisions are published in serial publications called "reporters".
> In the U.S. there are two main commercial reporters - LexisNexis and
> Westlaw - and a smattering of government reporters for various courts. The
> commercial reporters are objectively better. They are comprehensive, and
> they are heavily annotated; everyone I ever met in the profession uses
> either LexisNexis or Westlaw. However, reporters are expensive, and they
> consume a lot of space in an office, so law offices usually subscribe to
> either Lexis or Westlaw, but not both. Parallel citations were designed so
> that legal readers could benefit from reading a document, even if they had
> a different reporter than the one preferred by the writer. The practical
> importance of parallel citations is diminishing as the legal world moves
> into the digital environment, but parallel citations are still a
> requirement in many jurisdictions and journals.
>
>
> What would my proposal look like in an actual CSL style? I am not an
> expert in CSL, but I'll give it my best shot. The most important use case
> for a "serials" variable is for parallel citations. I will show how an
> existing CSL style could be modified to add support for parallel citations.
>
> My example is taken from "bluebook.csl". The excerpt below shows the
> styling instructions for creating the long form citation for legal opinions.
>
>
>
> *Bluebook.csl *
>       <else-if type="legal_case">
>         <text variable="title" suffix=", " font-variant="normal"/>
>         <text variable="number" suffix=", "/>
>         <group delimiter=" ">
>           <text variable="volume"/>
>           <text variable="container-title"/>
>           <text variable="page"/>
>         </group>
>         <text variable="locator" prefix=", "/>
>         <group prefix=" (" suffix=")" delimiter=" ">
>           <text variable="authority"/>
>           <date variable="issued">
>             <date-part name="month" form="short" suffix=" "/>
>             <date-part name="day" suffix=", "/>
>             <date-part name="year"/>
>           </date>
>         </group>
>       </else-if>
>
>
> My proposed modification would be to allow CSL styles to encapsulate
> essential information about a serial publication within a <serials>
> element. The <serials> block would have one or more <serial> children which
> contained the text variables.
>
> *Modified-Bluebook.csl*
>
>       <else-if type="legal_case">
>         <text variable="title" suffix=", " font-variant="normal"/>
>         <text variable="number" suffix=", "/>
> *        <serials variable="reporter">*
> *           <serial delimiter=", " >*
>                 <group delimiter=" ">
>                     <text variable="volume"/>
>                     <text variable="container-title"/>
>                     <text variable="page"/>
>                 </group>
>               <text variable="locator" prefix=", "/>
>           * </serial>*
>         *</serials>*
>         <group prefix=" (" suffix=")" delimiter=" ">
>           <text variable="authority"/>
>           <date variable="issued">
>             <date-part name="month" form="short" suffix=" "/>
>             <date-part name="day" suffix=", "/>
>             <date-part name="year"/>
>           </date>
>         </group>
>       </else-if>
>
>
> There are two things that I want to point out about the
> modified-bluebook.csl. One, parallel citations are separated by commas, so
> the <serial> element has a delimiter attribute.
>
> Two, the "locator" text variable has to be inside the <serial> element -
> which is something I did not consider in my first post. Each parallel
> citation has to have its own "pincite" or "locator".
>
> A citation rendered with the modified-bluebook styling would appear as
> follows.
>
> "Czapinski v. St. Francis Hosp., Inc., 2000 WI 80, 86, 236 Wis. 2d 316,
> 319, 613 N.W.2d 120, 122. (Wis. 2000)"
>
> In closing:
>
> I recognize that CSL should not adopt any changes that are not supported
> by the major stakeholders. However, I am very interested in your feedback
> on the technical merits of the proposal.
>
> - Tom O'Reilly
>
> ------------------------------------------------------------------------------
> _______________________________________________
> xbiblio-devel mailing list
> xbiblio-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/xbiblio-devel
xbiblio-devel Info Page - 
SourceForge<https://lists.sourceforge.net/lists/listinfo/xbiblio-devel>
lists.sourceforge.net
This list is for development discussion around the xbiblio project, including 
schema design for the citation style language (CSL) and implementation 
discussion.


>
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

Message: 2
Date: Sat, 19 Nov 2016 14:52:26 +0100
From: Michel Kr?mer <mic...@undercouch.de>
Subject: [xbiblio-devel] citeproc-java 1.0.0 has just been released!
To: xbiblio-devel@lists.sourceforge.net
Message-ID: <d653d361-d7bf-435d-b423-412b94166...@undercouch.de>
Content-Type: text/plain; charset=us-ascii

Dear CSL community!

I'm happy to announce the next release of citeproc-java. Version 1.0.0 comes 
with many new features and improved performance:

http://michel-kraemer.github.io/citeproc-java/

The highlights in this release are:

* citeproc-java is compatible to Java 8
* It now has remote connectors for Zotero and Mendeley
* Improved performance and memory usage
* Improved command line tool
* New interactive shell
* etc.

On macOS you can install the command line tool with Homebrew:

  brew tap michel-kraemer/citeproc-java
  brew install citeproc-java

Other installation options are available:

https://michel-kraemer.github.io/citeproc-java/download/

citeproc-java uses citeproc-js under the hood. It wouldn't have been possible 
to develop it without this great library. So, thanks to Frank Bennet and all 
contributors for their great work!

Any feedback is appreciated.

Cheers,
Michel


------------------------------

Message: 3
Date: Fri, 30 Dec 2016 17:30:42 -0500
From: Joseph Reagle <joseph.2...@reagle.org>
Subject: [xbiblio-devel] Incorrectly changed title case
To: xbiblio-devel@lists.sourceforge.net,
        pandoc-disc...@googlegroups.com
Message-ID: <9e21d05b-515f-c801-e65b-2c281b73b...@reagle.org>
Content-Type: text/plain; charset=windows-1252

Hello all, when I use the following YAML entry with 
chicago-fullnote-bibliography.csl the title is rendered as:

?The IKettle, the Eleven-Hour Struggle to Make a Cup of Tea, and Why It Was All 
About Data, Analytics and Connecting Things Together,?

Because "iKettle" is a mixed-cased proper noun, it should not be changed IMHO. 
Is this expected behavior? Is it the result of the specification, actual CSL, 
or citeproc? Any tips appreciated.


pandoc 1.19.1
pandoc-citeproc 0.10.3

---
references:
- id: Rittman2016ieh
  type: post-weblog
  genre: Web log message
  author:
  - family: "Rittman"
    given: "Mark"
  container-title: "Medium"
  issued:
    year: 2016
    month: 10
    day: 12
  title: "The iKettle, the eleven-hour struggle to make a cup of tea, and why 
it was all about data, analytics and connecting things together"
  URL: 
"https://medium.com/mark-rittman/the-story-behind-the-ikettle-the-eleven-hour-struggle-to-make-a-cup-of-tea-and-why-it-was-all-769144d12d7\\#.au2p9rjbz";
The iKettle, the Eleven-Hour Struggle to Make a Cup of Tea 
...<https://medium.com/mark-rittman/the-story-behind-the-ikettle-the-eleven-hour-struggle-to-make-a-cup-of-tea-and-why-it-was-all-769144d12d7//#.au2p9rjbz>
medium.com
The iKettle, the Eleven-Hour Struggle to Make a Cup of Tea, and Why It Was All 
About Data, Analytics and Connecting Things Together. So today a story about my 
eleven ...


  accessed:
    year: 2016
    month: 10
    day: 17

...



------------------------------

Message: 4
Date: Fri, 30 Dec 2016 18:04:12 -0500
From: Sebastian Karcher <karc...@u.northwestern.edu>
Subject: Re: [xbiblio-devel] Incorrectly changed title case
To: development discussion for xbiblio
        <xbiblio-devel@lists.sourceforge.net>
Message-ID:
        <caosysd5ysn81l0wsxg5xzbuslwd-v2ygsjwi-0kimg2p76e...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

I think the specs (and citeproc-js) have this right:
The iKettle, the Eleven-Hour Struggle to Make a Cup of Tea, and Why It Was
All about Data, Analytics and Connecting Things Together.

This follows the 2nd sentence of point 2. here:
http://docs.citationstyles.org/en/stable/specification.html#title-case-conversion
So I think this is a citeproc-pandoc bug.

On Fri, Dec 30, 2016 at 5:30 PM, Joseph Reagle <joseph.2...@reagle.org>
wrote:

> Hello all, when I use the following YAML entry with
> chicago-fullnote-bibliography.csl the title is rendered as:
>
> ?The IKettle, the Eleven-Hour Struggle to Make a Cup of Tea, and Why It
> Was All About Data, Analytics and Connecting Things Together,?
>
> Because "iKettle" is a mixed-cased proper noun, it should not be changed
> IMHO. Is this expected behavior? Is it the result of the specification,
> actual CSL, or citeproc? Any tips appreciated.
>
>
> pandoc 1.19.1
> pandoc-citeproc 0.10.3
>
> ---
> references:
> - id: Rittman2016ieh
>   type: post-weblog
>   genre: Web log message
>   author:
>   - family: "Rittman"
>     given: "Mark"
>   container-title: "Medium"
>   issued:
>     year: 2016
>     month: 10
>     day: 12
>   title: "The iKettle, the eleven-hour struggle to make a cup of tea, and
> why it was all about data, analytics and connecting things together"
>   URL: "https://medium.com/mark-rittman/the-story-behind-the-
> ikettle-the-eleven-hour-struggle-to-make-a-cup-of-tea-and-why-it-was-all-
> 769144d12d7\\#.au2p9rjbz"
>   accessed:
>     year: 2016
>     month: 10
>     day: 17
>
> ...
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> xbiblio-devel mailing list
> xbiblio-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/xbiblio-devel
>



--
Sebastian Karcher, PhD
www.sebastiankarcher.com<http://www.sebastiankarcher.com>
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot

------------------------------

_______________________________________________
xbiblio-devel mailing list
xbiblio-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xbiblio-devel


End of xbiblio-devel Digest, Vol 116, Issue 1
*********************************************
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
xbiblio-devel mailing list
xbiblio-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xbiblio-devel

Reply via email to