CiteProc-Ruby uses 'all' as the default – in this respect, perhaps the spec 
should explicitly define what the edge cases are, particularly what happens 
when there are no conditions. This seems fairly important to me. For example, 
in the Ruby implementation we're assuming that:

all + no conditions --> true
any + no conditions --> false

This is particularly important, because we handle 'else'  like a regular 'if' 
node with no conditions (in fact, both if and else nodes are mapped to a 
conditional node internally, so the processor does not need to distinguish 
between the too).

Note that the assumptions above are based on predicate logic (universal 
quantification over the empty set is always true). Furthermore, the fact, that 
this yields the 'logical' implementation of the else node above is a strong 
indication that it does indeed make sense to keep 'all' as the default.


On Feb 26, 2013, at 5:21 PM, Rintze Zelle wrote:

> Andrea Rossato recently identified a discrepancy between the CSL spec
> and citeproc-js. While the spec describes match="all" to be the
> default for conditionals, citeproc-js uses "any". See
> http://citationstyles.org/downloads/specification.html#choose and
> http://forums.zotero.org/discussion/27961/chicago-styles-no-year-in-bibliography/
> for more details.
> 
> Since most CSL styles have been developed against citeproc-js
> implementations, this has gone unnoticed for quite some time.
> 
> I would prefer to keep "all" as the default, if possible. For the
> short term, I fixed styles that used the "type" conditional to test
> for multiple item types without setting "match". According to the
> spec, such conditionals should never test true, and so I've added
> match="any" to these cases:
> https://github.com/citation-style-language/styles/commit/b55a9c1704b74a35e9aa522dc4e67dc632146781
> 
> We can probably expect some changes in citeproc-js output if it
> changes its behavior. I'll think about it a bit more to see if we can
> modify the existing styles to prevent that from happening.
> 
> Rintze
> 
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_feb
> _______________________________________________
> xbiblio-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/xbiblio-devel


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
xbiblio-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbiblio-devel

Reply via email to