# Style duplication

**URL:** <https://discourse.citationstyles.org/t/style-duplication/367>\
**Category:** CSL Development\
**Created:** [November 19, 2007, 6:21pm UTC](https://discourse.citationstyles.org/t/style-duplication/367 "2007-11-19T18:21:18Z")\
**Posts on this page:** 4\
**Page:** 3

<div class="post-metadata">

**Author:** ![Dan\_Stillman](https://avatars.discourse-cdn.com/v4/letter/d/ecb155/32.png) [@Dan\_Stillman](https://discourse.citationstyles.org/u/Dan_Stillman)\
**Post date:** [December 12, 2007, 5:03pm UTC](https://discourse.citationstyles.org/t/style-duplication/367/41 "2007-12-12T17:03:14Z")

</div>

> OK, Dan, am updating the metadata section of the schema. I’ve checked in  
> the enhanced cs:source element based on your suggestion.
> 
> But I have a couple questions on the rest …
> 
> I’ve basically copy-and-pasted the Atom schema definition, and am now  
> adapting it to CSL. Here’s where I’m at:
> 
> info-link =  
> element cs:link {  
> attribute href { xsd:anyURI },  
> attribute rel { atomNCName | atomUri }?,  
> attribute type { atomMediaType }?,  
> attribute hreflang { xsd:language }?,  
> attribute title { text }?,  
> attribute length { text }?,  
> string  
> }
> 
> So:
> 
> a) should we constrain the rel values, and if so, what should they be?

Can definitely remove atomUri and limit to a few fixed values. Maybe  
“source”, “template”, “homepage” and “documentation”?

A journal that uses APA:

\<link rel="documentation" href="http://www.foo.org/citation\_guide.html"

A journal with a style based on (but differing slightly from) APA would  
have the following line in place of the rel=“source” line above:

There might be clearer words for “source” and/or “template”.

> b) if we need “type” shall we constrain the values, and if so, what  
> should they be?

Should probably keep “type” allowing any MIME type, since the  
documentation might be a PDF, Word doc, OO doc, etc., and it’d be useful  
to know that from the repo. “length” for the same reasons.

> c) in general, anything else we can remove?

I don’t think we need “title”. Probably should keep “hreflang”.

While we’re at it, can we allow and to be empty so  
that leaving them blank and letting a repo auto-set/update them doesn’t  
cause a validation error?

---

<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:** [December 12, 2007, 5:46pm UTC](https://discourse.citationstyles.org/t/style-duplication/367/42 "2007-12-12T17:46:47Z")

</div>

Dan Stillman wrote:

> > a) should we constrain the rel values, and if so, what should they be?
> 
> Can definitely remove atomUri and limit to a few fixed values. Maybe  
> “source”, “template”, “homepage” and “documentation”?
> 
> A journal that uses APA:
> 
> \<link rel="documentation" href="http://www.foo.org/citation\_guide.html"
> 
> A journal with a style based on (but differing slightly from) APA would  
> have the following line in place of the rel=“source” line above:
> 
> There might be clearer words for “source” and/or “template”.

This all looks good. Does anyone have any alternatives to “source” and  
“template”? Earlier I was using “basedOn” for the latter.

For the record, this would in part be an alternative to Simon’s  
suggestion to put a source attribute on the root.

> > b) if we need “type” shall we constrain the values, and if so, what  
> > should they be?
> 
> Should probably keep “type” allowing any MIME type, since the  
> documentation might be a PDF, Word doc, OO doc, etc., and it’d be useful  
> to know that from the repo. “length” for the same reasons.

OK.

> > c) in general, anything else we can remove?
> 
> I don’t think we need “title”. Probably should keep “hreflang”.
> 
> While we’re at it, can we allow and to be empty so  
> that leaving them blank and letting a repo auto-set/update them doesn’t  
> cause a validation error?

Hmm … except as I just recently posted on the zotero dev list, I’m not  
so sure the way you’re currently handling this is working. It seems to  
me the repo should be able to update an existing value on commit?

Also, if we leave it optional in the schema, we’re in fact leaving it  
optional. Wouldn’t it be better to get validation errors in some interim  
background process than have people publishing CSL files without this  
important metadata?

Bruce

---

<div class="post-metadata">

**Author:** ![Dan\_Stillman](https://avatars.discourse-cdn.com/v4/letter/d/ecb155/32.png) [@Dan\_Stillman](https://discourse.citationstyles.org/u/Dan_Stillman)\
**Post date:** [December 12, 2007, 7:08pm UTC](https://discourse.citationstyles.org/t/style-duplication/367/43 "2007-12-12T19:08:18Z")

</div>

> Dan Stillman wrote:
> 
> > While we’re at it, can we allow and to be empty so  
> > that leaving them blank and letting a repo auto-set/update them doesn’t  
> > cause a validation error?
> 
> Hmm … except as I just recently posted on the zotero dev list, I’m not  
> so sure the way you’re currently handling this is working. It seems to  
> me the repo should be able to update an existing value on commit?

I could’ve sworn I made that change, but apparently not. It should now  
update the timestamp of changed styles no matter what.

> Also, if we leave it optional in the schema, we’re in fact leaving it  
> optional. Wouldn’t it be better to get validation errors in some interim  
> background process than have people publishing CSL files without this  
> important metadata?

I suppose. Requiring a timestamp is fine as long as we’re not too  
offended by long-out-of-date timestamps in unpublished styles (including  
in SVN repos) and can encourage authors just to set some arbitrary  
timestamp once and forget about it rather than wasting time updating  
them manually each time…

---

<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:** [December 14, 2007, 2:25pm UTC](https://discourse.citationstyles.org/t/style-duplication/367/44 "2007-12-14T14:25:57Z")

</div>

OK, I checked in the info metadata changes.

Bruce

[Previous page](https://discourse.citationstyles.org/t/style-duplication/367.md?page=2)
