I initially envisaged Citeproc interacting with Writer each time a user added 
a citation. That is - A user adds a new reference, Writer requests Citeproc 
to return the Initial Citation String for that reference. The user adds a 
second citation tothe document and Write requests Citeproc to return the 
Subsequent Citation String for that reference. etc.

However Citeproc's interaction with Writer can greatly simplified if Citeproc 
is only called when a new reference is added to the document, the 
Bibliography is generated or the style is changed.

Each reference will have its data stored in the biblio-data.xml file in the 
save package. I propose that when a reference is added, Citeproc be called to 
generate the full range of formatted Citation text strings, in the selected 
style, for that reference, ie -

* In-text citation 
* Footnote initial citation 
* Footnote subsequent citation 
* Endnote initial citation
* Endnote subsequent citation
* Ibid or 'op cite'  text

And that these are then saved in the biblio-data.xml file in with each 
reference item.

When a user adds a citations one of these stored references Writer only needs 
to pick the appropriate Citation text from the file.

When the user changes the document style, Citeproc would be called to 
regenerate all the citation strings in one pass, then the standard update 
fields function would update the citation text strings in the document by 
picking them up again from the biblio-data.xml file.

The repeated citation to the same reference, needing  the 'Ibid or 'op cite' ' 
text would be detected by Writer.

Bibliography / reference table generation would be be done by passing the list 
of citation IDs to  Citeproc and returning the generated text. 

This approach depends upon there being any a small range of pre-defined 
citation types. 

Does this sound feasible ?

David

-- 
-------------------
David N. Wilson
Co-Project Lead for the Bibliographic 
OpenOffice Project
http://bibliographic.openoffice.org

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

Reply via email to