Looks ok to me, but have you considered whether an attribute is the best way to represent the prefix and suffix? What if they actaully require some formatting in some environments?

So would you ever need:

<formatting-def name="year">
 <prefix><bold>(</bold></prefix>
 <suffix><bold>)</bold></suffix>
</formatting-def>

On 2/6/06, Bruce D'Arcus <[EMAIL PROTECTED]> wrote:
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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Peter (pt) Sefton
Toowoomba 4350
Queensland, Australia
Phone: +61 4 1032 6955
Web: http://ptsefton.com
Email: [EMAIL PROTECTED]

Reply via email to