OK, on the plane-ride back from Edmonton yesterday, I think I've
figured out a plan to solve the styling problem:
I am going to push the OD TC to take up two proposals:
1) the details of the bib metadata model and storage (this is
dependent on current discussions around metadata in OD)
2) the styling
WRT to the second, I've decided it's a waste of time to worry about CSL
per se too much. We can instead provide surgical modifications to the
OD styling support and get the same functionality (which is what
matters most). If we need to do CSL import/export later because it's
being taken up outside OD/OOo, then that should be easy enough. Indeed,
I created an XSLT that can convert CSL files to results like this:
<text:citation-configuration text:delimiter=";">
<text:multiple-authors text:position="first" text:min-authors="6"
text:use-first="6">et al.</text:multiple-authors>
<text:multiple-authors text:position="subsequent"
text:min-authors="6" text:use-first="1">et al.</text:multiple-authors>
<text:layout>
<text:creator text:suffix=""/>
<text:year/>
<text:point text:prefix=": "/>
</text:layout>
</text:citation-configuration>
So I think I will propose enhancing an existing element in the
styles.xml file (text:bibliography-configuration), and adding a
citation analog (the above example).
There is one possible wrinkle in this, though. The above collapses
what is currently handled in two places in OD: in the styles file and
the content file (in some "index" related code). It just may be a
problem because it would mean me deviating from current approaches in
OD. I do think my approach is better though, so ...
Anyway, below are the bib-related schema fragments from the current
spec, which I've converted to the RNG Compact version (easier to edit;
at least for me).
# first the citations; this div is already getting replaced
div {
element text:bibliography-mark {
attribute text:bibliography-type { text-bibliography-types },
attribute text:identifier
| text:address
| text:annote
| text:author
| text:booktitle
| text:chapter
| text:edition
| text:editor
| text:howpublished
| text:institution
| text:journal
| text:month
| text:note
| text:number
| text:organizations
| text:pages
| text:publisher
| text:school
| text:series
| text:title
| text:report-type
| text:volume
| text:year
| text:url
| text:custom1
| text:custom2
| text:custom3
| text:custom4
| text:custom5
| text:isbn
| text:issn { \string }*,
text
}
# bib types
text-bibliography-types =
"article"
| "book"
| "booklet"
| "conference"
| "custom1"
| "custom2"
| "custom3"
| "custom4"
| "custom5"
| "email"
| "inbook"
| "incollection"
| "inproceedings"
| "journal"
| "manual"
| "mastersthesis"
| "misc"
| "phdthesis"
| "proceedings"
| "techreport"
| "unpublished"
| "www"
}
# bibliography content
text-bibliography =
element text:bibliography {
sectionAttr, text-bibliography-source, text-index-body
}
text-bibliography-source =
element text:bibliography-source {
text-index-title-template?, text-bibliography-entry-template*
}
text-bibliography-entry-template =
element text:bibliography-entry-template {
text-bibliography-entry-template-attrs,
(text-index-entry-span
| text-index-entry-tab-stop
| text-index-entry-bibliography)*
}
text-bibliography-entry-template-attrs &=
attribute text:bibliography-type { text-bibliography-types }
text-bibliography-entry-template-attrs &=
attribute text:style-name { styleNameRef }
# ??
text-index-entry-bibliography =
element text:index-entry-bibliography {
text-index-entry-bibliography-attrs
}
text-index-entry-bibliography-attrs &=
attribute text:style-name { styleNameRef }?
text-index-entry-bibliography-attrs &=
attribute text:bibliography-data-field {
"address"
| "annote"
| "author"
| "bibliography-type"
| "booktitle"
| "chapter"
| "custom1"
| "custom2"
| "custom3"
| "custom4"
| "custom5"
| "edition"
| "editor"
| "howpublished"
| "identifier"
| "institution"
| "isbn"
| "issn"
| "journal"
| "month"
| "note"
| "number"
| "organizations"
| "pages"
| "publisher"
| "report-type"
| "school"
| "series"
| "title"
| "url"
| "volume"
| "year"
}
# styling
text-bibliography-configuration =
element text:bibliography-configuration {
text-bibliography-configuration-attlist, text-sort-key*
}
text-bibliography-configuration-attlist &=
attribute text:prefix { \string }?,
attribute text:suffix { \string }?
text-bibliography-configuration-attlist &=
[ a:defaultValue = "false" ]
attribute text:numbered-entries { boolean }?
text-bibliography-configuration-attlist &=
[ a:defaultValue = "true" ]
attribute text:sort-by-position { boolean }?,
attribute fo:language { languageCode }?,
attribute fo:country { countryCode }?,
attribute text:sort-algorithm { \string }?
text-sort-key = element text:sort-key { text-sort-key-attlist, empty }
text-sort-key-attlist &=
attribute text:key {
"address"
| "annote"
| "author"
| "bibliography-type"
| "booktitle"
| "chapter"
| "custom1"
| "custom2"
| "custom3"
| "custom4"
| "custom5"
| "edition"
| "editor"
| "howpublished"
| "identifier"
| "institution"
| "isbn"
| "issn"
| "journal"
| "month"
| "note"
| "number"
| "organizations"
| "pages"
| "publisher"
| "report-type"
| "school"
| "series"
| "title"
| "url"
| "volume"
| "year"
},
[ a:defaultValue = "true" ] attribute text:sort-ascending { boolean }?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]