# another, more radical, possibility

**URL:** <https://discourse.citationstyles.org/t/another-more-radical-possibility/123>\
**Category:** CSL Development\
**Created:** [February 5, 2006, 10:14pm UTC](https://discourse.citationstyles.org/t/another-more-radical-possibility/123 "2006-02-05T22:14:07Z")\
**Posts on this page:** 1\
**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:** [February 5, 2006, 10:14pm UTC](https://discourse.citationstyles.org/t/another-more-radical-possibility/123/1 "2006-02-05T22:14:07Z")

</div>

Am trying to wrap up the new version of CSL and would like some  
feedback.

Here’s another, even flatter, and more generic possibility:

```
   <metadata-type name="book">
     <formatting-def name="author" alternate="editor"/>
     <formatting-def name="year" prefix=" (" suffix=") "/>
     <formatting-def name="title" font-style="italic" suffix="."/>
     <formatting-def name="editor"/>
     <formatting-group prefix="(" suffix=")">
       <formatting-def name="publisher-place"/>
       <formatting-def name="publisher-name" prefix=":"/>
     </formatting-group>
    </metadata-type>
   <metadata-type name="chapter">
     <formatting-def name="author" alternate="editor"/>
     <formatting-def name="year" prefix=" (" suffix=") "/>
     <formatting-def name="title" font-style="italic" suffix="."/>
     <formatting-def name="container-title" prefix=" "/>
     <formatting-def name="container-editor"/>
     <formatting-group prefix="(" suffix=")">
       <formatting-def name="container-publisher-place"/>
       <formatting-def name="container-publisher-name" prefix=":"/>
     </formatting-group>
    </metadata-type>
   <metadata-type name="article">
     <formatting-def name="author" alternate="editor"/>
     <formatting-def name="year" prefix=" (" suffix=") "/>
     <formatting-def name="title" font-style="italic" suffix="."/>
     <formatting-def name="container-title" prefix=" "/>
     <formatting-group prefix="(" suffix=")">
       <formatting-def name="volume" prefix="v"/>
       <formatting-def name="issue" prefix="n"/>
       <formatting-def name="month_day" prefix=", "/>
     </formatting-group>
    </metadata-type>

```

The above is less elegant and easily controlled from a purely XML  
standpoint, but it probably fits better non-XML programming  
environments (indeed, the thinking is partly motivated by working on  
the port to Ruby, where I have objects that “look” something like the  
above), and would be easier to integrate into existing styling systems  
(e.g. ODF). It’s also more flexible.

The idea would be to use conventions on the name attributes to signal  
hierarchy. The hyphen would denote a relation. So, for example,  
“container-title” does the same thing as the existing nested elements.  
Likewise for the publisher-\* names.

I add the formatting-group element to retain the ability to group  
formatting where needed, but leave it totally flexible what would go in  
those groups.

Any opinions? This would be a kind of radical change, and if I do it, I  
might as well get it over with quickly and not look back. Not  
surprisingly, I’m reluctant to do so without a few votes of confidence!  
Maybe I’m being a little crazy!

Bruce
