On Wed, Mar 27, 2013 at 11:37 PM, Rintze Zelle <[email protected]> wrote: > Going forward, I would like to become a bit more strict about the > dependent styles that go into the repository. I plan to write an > extension to the CSL schema so that we can use Travis CI to check for > additional requirements. I would like to require each dependent style > to have a default-locale (possible exceptions for multilingual > styles), a documentation link, and a self link. I also would like to > disallow having two (or more) instances of cs:issn, since generally > one should be a cs:eissn.
I added "csl-repository.csl" to the schema repository (https://github.com/citation-style-language/schema/blob/master/csl-repository.rnc). It can be called instead of csl.rnc. It is dependent on the normal schema, but changes a few things. So far, it: - forbids more than one cs:issn element - forbids some attributes on cs:style in dependent styles ("class", global options, and inheritable name options) - forbids affixes on cs:et-al ("prefix" and "suffix") - requires cs:rights, set as <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights> - requires at least one cs:link element. With regard to the last point: ideally I would have csl-repository.csl require one "self" link, one "independent-parent" link (for dependents), one or more "documentation" links, and allow one or more "template" links (for independents). However, this is not possible with RELAX NG as long as we want to allow the elements within cs:info to be unordered (this is because of a limitation with the "interleave" operator). I guess here the question is what csl-repository.csl will be used for. I wouldn't want to require style contributors to use a specific cs:info element order, as they already have enough on their plate. But I already periodically reorder the cs:info elements with a Python script (https://github.com/citation-style-language/utilities/blob/master/csl-reindenting-and-info-reordering.py) for consistency, so we could use a version that requires a specific element order to make sure that the styles in the repo are in good shape. I cleaned up the current styles so they validate against this stricter schema. I didn't add stricter tests for cs:category and "default-locale" since there will be exceptions in the style repository, and I wanted all styles to validate against csl-repository.csl (at least for now). Rintze ------------------------------------------------------------------------------ Own the Future-Intel(R) Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 _______________________________________________ xbiblio-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/xbiblio-devel
