# schema bug

**URL:** <https://discourse.citationstyles.org/t/schema-bug/1003>\
**Category:** CSL Development\
**Created:** [April 27, 2011, 6:36pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003 "2011-04-27T18:36:33Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 27, 2011, 6:36pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/1 "2011-04-27T18:36:33Z")

</div>

All - we’ve got a little bug in the schema, outlined here:

[http://forums.zotero.org/discussion/17742/locators-zotero-216/](http://forums.zotero.org/discussion/17742/locators-zotero-216/)

Basically, we need to change the ‘sub verbo’ locator value to ‘sub-verso’.

Any objections to doing that ASAP in a minor point release?

I need a +1 or -1 one from all implementors please.

Bruce

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [April 27, 2011, 6:56pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/2 "2011-04-27T18:56:26Z")

</div>

Typo correction: “to ‘sub-verbo’.”

In short, CSL allows testing for one or more locator types using the locator  
conditional (). Multiple types are  
space-delimited, so the locator type “sub verbo” gets incorrectly read as  
two types, “sub” and “verbo”.

Rintze

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [April 27, 2011, 7:26pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/3 "2011-04-27T19:26:46Z")

</div>

I think squashing this bug in an intermediate release is going to be rather  
painful. Seeing as this bug has been around for quite a while (at least  
since CSL 0.8.1), I’d recommend postponing the fix to CSL 1.1.

“sub verbo” occurs in the CSL locale files, and the term can be redefined in  
styles. We could keep a ‘normal’ “sub verbo” term and create a "sub-verbo"  
locator term, but that requires significant schema surgery and CSL  
processors would have to link “sub-verbo” to “sub verbo”. Probably not worth  
the effort.

RintzeOn Wed, Apr 27, 2011 at 2:56 PM, Rintze Zelle \<@Rintze\_Zelle\>wrote:

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 27, 2011, 7:37pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/4 "2011-04-27T19:37:08Z")

</div>

> > > All - we’ve got a little bug in the schema, outlined here:
> > > 
> > > [http://forums.zotero.org/discussion/17742/locators-zotero-216/](http://forums.zotero.org/discussion/17742/locators-zotero-216/)
> > > 
> > > Basically, we need to change the ‘sub verbo’ locator value to  
> > > ‘sub-verso’.
> > 
> > Typo correction: “to ‘sub-verbo’.”
> > 
> > In short, CSL allows testing for one or more locator types using the  
> > locator conditional (). Multiple types are  
> > space-delimited, so the locator type “sub verbo” gets incorrectly read as  
> > two types, “sub” and “verbo”.
> 
> I think squashing this bug in an intermediate release is going to be rather  
> painful. Seeing as this bug has been around for quite a while (at least  
> since CSL 0.8.1), I’d recommend postponing the fix to CSL 1.1.

I’m in no hurry at all to get to 1.1. AFAIK, two years is a reasonable  
time-frame, if not longer. E.g. (feature) stability has to be our  
mantra now.

I don’t think we should be content with allowing a simple/dumb bug  
like this to hang around for another two years.

“Painful” how? Are there other minor issues like this we can bundle  
together into a minor release?

> “sub verbo” occurs in the CSL locale files, and the term can be redefined in  
> styles. We could keep a ‘normal’ “sub verbo” term and create a “sub-verbo”  
> locator term, but that requires significant schema surgery and CSL  
> processors would have to link “sub-verbo” to “sub verbo”. Probably not worth  
> the effort.

The fact remains we have a bug we need to fix. I suggest we do it  
quickly and aggressively (a simple search-and-replace on all relevant  
files). It’s not exactly a commonly used locator.

Bruce

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [April 27, 2011, 7:45pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/5 "2011-04-27T19:45:49Z")

</div>

But it is a common term (it’s in every CSL locale).

Rintze

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [April 27, 2011, 7:51pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/6 "2011-04-27T19:51:43Z")

</div>

> Seeing as this bug has been around for quite a while (at least since CSL  
> 0.8.1)

Traced back to

> **[XBib](https://sourceforge.net/projects/xbiblio/)**
>
> Download XBib for free. Notice: Citation Style Language (CSL) development has moved to https://github.com/citation-style-language/ (only the xbiblio-devel mailing list is still in use). For up to date information on CSL, visit the project home at...

Author: erazlogo  
Changed paths: 2  
Log Message: Adds broadcast type and sub verbo locator

Elena is to blame! 🙂

RintzeOn Wed, Apr 27, 2011 at 3:26 PM, Rintze Zelle \<@Rintze\_Zelle\>wrote:  
Date: Thu Jul 31 15:25:19 2008 UTC (2 years, 8 months ago)

---

<div class="post-metadata">

**Author:** ![andrea\_rossato2](https://avatars.discourse-cdn.com/v4/letter/a/e99b99/32.png) [@andrea\_rossato2](https://discourse.citationstyles.org/u/andrea_rossato2)\
**Post date:** [April 27, 2011, 7:53pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/7 "2011-04-27T19:53:20Z")

</div>

“Bruce D’Arcus” \<@Bruce\_D\_Arcus1\> writes:

> All - we’ve got a little bug in the schema, outlined here:
> 
> [http://forums.zotero.org/discussion/17742/locators-zotero-216/](http://forums.zotero.org/discussion/17742/locators-zotero-216/)
> 
> Basically, we need to change the ‘sub verbo’ locator value to ‘sub-verso’.
> 
> Any objections to doing that ASAP in a minor point release?
> 
> I need a +1 or -1 one from all implementors please.

+1 here.–  
andrea rossato

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 27, 2011, 8:00pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/8 "2011-04-27T20:00:25Z")

</div>

🙂

It’s really all of our faults, for not being more careful. Really all of the  
terms should be tokens.

> > Seeing as this bug has been around for quite a while (at least since CSL  
> > 0.8.1)
> 
> Traced back to

> **[XBib](https://sourceforge.net/projects/xbiblio/)**
>
> Download XBib for free. Notice: Citation Style Language (CSL) development has moved to https://github.com/citation-style-language/ (only the xbiblio-devel mailing list is still in use). For up to date information on CSL, visit the project home at...

---

<div class="post-metadata">

**Author:** ![Simon\_Kornblith](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Simon\_Kornblith](https://discourse.citationstyles.org/u/Simon_Kornblith)\
**Post date:** [April 27, 2011, 7:55pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/9 "2011-04-27T19:55:07Z")

</div>

+1.

Simon

---

<div class="post-metadata">

**Author:** ![Sylvester\_Keil](https://avatars.discourse-cdn.com/v4/letter/s/85e7bf/32.png) [@Sylvester\_Keil](https://discourse.citationstyles.org/u/Sylvester_Keil)\
**Post date:** [April 27, 2011, 8:39pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/10 "2011-04-27T20:39:39Z")

</div>

+1 definitely.

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [April 28, 2011, 1:03am UTC](https://discourse.citationstyles.org/t/schema-bug/1003/11 "2011-04-28T01:03:15Z")

</div>

> All - we’ve got a little bug in the schema, outlined here:
> 
> [http://forums.zotero.org/discussion/17742/locators-zotero-216/](http://forums.zotero.org/discussion/17742/locators-zotero-216/)
> 
> Basically, we need to change the ‘sub verbo’ locator value to ‘sub-verso’.
> 
> Any objections to doing that ASAP in a minor point release?
> 
> I need a +1 or -1 one from all implementors please.

~~1

I don’t think there’s a need to rush this. A workaround was used in  
2.0.9 (testing for all locator labels that are not “sub verbo”). The  
workaround didn’t work in citeproc-js because the locator attribute  
was not being handled correctly; with a fix in place, code from 2.0.9  
will carry over smoothly.

A change in the term name should be tested in applications before  
release. There will be legacy documents around that set “sub verbo” as  
the locator label key, so processors will need to remap that to  
“sub-verbo” on the fly in any case, to avoid breaking documents, and  
we’ll want to be sure the special handling needed works correctly  
before the locale files change underneath the processor.

So I think it’s desirable to move “sub verbo” to “sub-verbo”, but I  
think the change can wait a bit for testing and reflection.

Frank

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [April 28, 2011, 2:16am UTC](https://discourse.citationstyles.org/t/schema-bug/1003/12 "2011-04-28T02:16:48Z")

</div>

> > All - we’ve got a little bug in the schema, outlined here:
> > 
> > [http://forums.zotero.org/discussion/17742/locators-zotero-216/](http://forums.zotero.org/discussion/17742/locators-zotero-216/)
> > 
> > Basically, we need to change the ‘sub verbo’ locator value to ‘sub-verso’.
> > 
> > Any objections to doing that ASAP in a minor point release?
> > 
> > I need a +1 or -1 one from all implementors please.
> 
> ~~1
> 
> I don’t think there’s a need to rush this. A workaround was used in  
> 2.0.9 (testing for all locator labels that are not “sub verbo”). The  
> workaround didn’t work in citeproc-js because the locator attribute  
> was not being handled correctly; with a fix in place, code from 2.0.9  
> will carry over smoothly.
> 
> A change in the term name should be tested in applications before  
> release. There will be legacy documents around that set “sub verbo” as  
> the locator label key, so processors will need to remap that to  
> “sub-verbo” on the fly in any case, to avoid breaking documents, and  
> we’ll want to be sure the special handling needed works correctly  
> before the locale files change underneath the processor.
> 
> So I think it’s desirable to move “sub verbo” to “sub-verbo”, but I  
> think the change can wait a bit for testing and reflection.

I’ve pushed a citeproc-js release that is indifferent to whether “sub  
verbo” or “sub-verbo” is used in the locale files, term names within  
styles, and item data input. With this revision, for the purposes of  
this particular processor, the problem is limited to schema  
validation, so (for the purposes of citeproc-js) the schema changes  
can take place as and when. Once the revised processor (v. 1.0.157)  
reaches production clients, changing the term name in locales and  
style files shouldn’t have any special impact citeproc-js systems.

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 28, 2011, 1:26pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/13 "2011-04-28T13:26:57Z")

</div>

Let me put this is the most straightforward terms possible:

Any style that currently uses “sub verbo” as a condition is completely invalid.

So effectively, for implementations, it’s as if the term doesn’t exist  
for purposes of conditional testing (e.g. you shouldn’t be coding  
citeproc-js to accept “sub verbo” as a condition in my view because  
you’re going out of your way to accept a broken style).

Therefore, I do think there’s some urgency in fixing this; in say the  
next couple of weeks. It’s an infrequently enough used term that a  
simple search-and-replace on the following repos should suffice:

- docs
- schema
- locales
- styles

That, plus rolling in the spec changes in author grouping should be a  
reasonable 1.0.1 release.

Bruce

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [April 28, 2011, 2:05pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/14 "2011-04-28T14:05:23Z")

</div>

> > > All - we’ve got a little bug in the schema, outlined here:
> > > 
> > > [http://forums.zotero.org/discussion/17742/locators-zotero-216/](http://forums.zotero.org/discussion/17742/locators-zotero-216/)
> > > 
> > > Basically, we need to change the ‘sub verbo’ locator value to ‘sub-verso’.
> > > 
> > > Any objections to doing that ASAP in a minor point release?
> > > 
> > > I need a +1 or -1 one from all implementors please.
> > 
> > ~~1
> > 
> > I don’t think there’s a need to rush this. A workaround was used in  
> > 2.0.9 (testing for all locator labels that are not “sub verbo”). The  
> > workaround didn’t work in citeproc-js because the locator attribute  
> > was not being handled correctly; with a fix in place, code from 2.0.9  
> > will carry over smoothly.
> > 
> > A change in the term name should be tested in applications before  
> > release. There will be legacy documents around that set “sub verbo” as  
> > the locator label key, so processors will need to remap that to  
> > “sub-verbo” on the fly in any case, to avoid breaking documents, and  
> > we’ll want to be sure the special handling needed works correctly  
> > before the locale files change underneath the processor.
> > 
> > So I think it’s desirable to move “sub verbo” to “sub-verbo”, but I  
> > think the change can wait a bit for testing and reflection.
> 
> Let me put this is the most straightforward terms possible:
> 
> Any style that currently uses “sub verbo” as a condition is completely invalid.
> 
> So effectively, for implementations, it’s as if the term doesn’t exist  
> for purposes of conditional testing (e.g. you shouldn’t be coding  
> citeproc-js to accept “sub verbo” as a condition in my view because  
> you’re going out of your way to accept a broken style).

I explained why this is necessary, in order into avoid breaking  
documents during the migration to the repaired version of the schema.  
It’s the processor’s job to serve citations against a valid schema,  
and citeproc-js will do that, both before and after the schema is  
fixed.

> Therefore, I do think there’s some urgency in fixing this; in say the  
> next couple of weeks. It’s an infrequently enough used term that a  
> simple search-and-replace on the following repos should suffice:
> 
> - docs
> - schema
> - locales
> - styles
> 
> That, plus rolling in the spec changes in author grouping should be a  
> reasonable 1.0.1 release.

Great, will look forward to it.

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 28, 2011, 2:33pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/15 "2011-04-28T14:33:53Z")

</div>

I just did a quick look, and there’s only one style  
(irish-historical-studies.csl) in the git styles repo that uses “sub  
verbo”, but it does not use it in a conditional test. Rather, it uses  
it to very subtly redefine (one period is removed) the localized short  
form of the term.

So for a user of this style, they would see a very minor change in  
their documents IF they used a sub verbo locator, until they updated  
their style.

Bruce

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [April 28, 2011, 2:59pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/16 "2011-04-28T14:59:54Z")

</div>

Considering that we’re all busy, I’m only going to support this if we’re  
doing a more comprehensive CSL 1.0.1 release (with review of existing CSL  
1.0.1 tickets, some of which can easily be closed). We can combine the “sub  
verbo”-renaming with the introduction of support for gender-specific  
ordinals using the attribute-based syntax, and branch off the CSL 1.0  
locales. I think we can do this in ca. 3 months.

Rintze

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 28, 2011, 3:09pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/17 "2011-04-28T15:09:50Z")

</div>

Maybe this highlights the point that we need to move to a more agile  
way to publish changes. E.g. the process of publishing itself  
shouldn’t be a barrier to us making changes we need to make.

What do you mean by “branch off the CSL 1.0 locales”?

Bruce

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [April 28, 2011, 3:16pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/18 "2011-04-28T15:16:03Z")

</div>

For gender-specific ordinals, I prefer to use the syntax proposed here:  
[http://sourceforge.net/mailarchive/message.php?msg\_id=26629141](http://sourceforge.net/mailarchive/message.php?msg_id=26629141)

That approach could confuse CSL 1.0 processors (which could use the wrong  
ordinal, see  
[https://github.com/citation-style-language/schema/issues/7#issuecomment-941152](https://github.com/citation-style-language/schema/issues/7#issuecomment-941152)),  
and CSL locales with the gender-specific ordinals wouldn’t validate  
against the CSL 1.0 schema. So I think it might make sense to create a 1.0  
branch for the CSL 1.0 locales at  
[https://github.com/citation-style-language/locales](https://github.com/citation-style-language/locales), like we have for the CSL  
0.8 locales.

Rintze

---

<div class="post-metadata">

**Author:** ![Bruce\_D\_Arcus1](https://avatars.discourse-cdn.com/v4/letter/b/4bbf92/32.png) [@Bruce\_D\_Arcus1](https://discourse.citationstyles.org/u/Bruce_D_Arcus1)\
**Post date:** [April 28, 2011, 5:00pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/19 "2011-04-28T17:00:17Z")

</div>

So just so I understand …

You’re saying you want to fold in a backward-incompatible feature  
addition with a bug fix release?

Bruce

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [April 28, 2011, 5:35pm UTC](https://discourse.citationstyles.org/t/schema-bug/1003/20 "2011-04-28T17:35:13Z")

</div>

In this context, backward-compatibility is the ability of a CSL 1.0.1  
processor to handle CSL 1.0 styles and locales, right? Then only the bug fix  
is backward-incompatible (as defining gender-specific ordinals in the CSL  
locales will always be optional).

Rintze

[Next page](https://discourse.citationstyles.org/t/schema-bug/1003.md?page=2)
