# grouped lists

**URL:** <https://discourse.citationstyles.org/t/grouped-lists/440>\
**Category:** CSL Development\
**Created:** [February 28, 2008, 9:47pm UTC](https://discourse.citationstyles.org/t/grouped-lists/440 "2008-02-28T21:47:12Z")\
**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 28, 2008, 9:47pm UTC](https://discourse.citationstyles.org/t/grouped-lists/440/1 "2008-02-28T21:47:12Z")

</div>

So someone on the Zotero forums reminded me that we need to address  
the grouped list support that we earlier had, but which dropped out in  
the schema revision.

[http://forums.zotero.org/discussion/2341/looking-for-a-dissertationstyle-with-special-bibliography](http://forums.zotero.org/discussion/2341/looking-for-a-dissertationstyle-with-special-bibliography)

In that support, cs:bibliography had a cs:list child. Here’s the  
schema fragment:

## Configures the formatting for headings, and optional sectioning.

div {  
cs-list =  
element cs:list {  
element cs:heading {  
element cs:text {  
attribute term-name {  
“references” | “works cited” | “bibliography”  
}  
}?  
},  
Section\*  
}

```
## Handles grouping in reference lists.
Section =
  element section {
    Section-group-options,
    cs-list.heading,
    (cs-list.type*
     > element subsection {
         Section-group-options, cs-list.heading, cs-list.type*
       }+)
  }

## Section-group-options
div {

  ## The grouping logic is such that if a reference is not included
  ## in a specified group, then it is understood to be a part of a
  ## default group. If, for example, one configures a "not cited"
  ## section, then all cited references are part of a default group.
  Section-group-options =

    ## Criterion to use for grouping. The "named group" option
    ## is a user or application selectable category that is not
    ## covered by the other options.
    attribute group-by {
      "author" | "type" | "notcited" | "year" | "named group"
    },

    ## Where named group is used, the name to group on.
    (attribute group-name { text }
     >
       ## Where type group is used, the type to group on.
       attribute group-type { cs-types.optional_list })?
}
cs-list.type =
  element cs:type {
    attribute name { text }
  }
cs-list.heading =
  element heading {
    attribute type { "author" | "year" }
  }

```

}

No one ever implemented it (me included), but I think the basic design  
was sound.

Is there any reason I should not just add it as is (adapted to new  
schema of course)?

I suppose I’d want to look at keeping it simple so that it’d be easy  
to implement in a GUI, but beyond that I can’t see any problems.

Thoughts?

Bruce
