we were following these discussions for some time for now… CSL looks
nice and simple but this mailing list discussion has shown there are
still a lot of problems to be re-solved
I think “a lot” is putting things too strongly.
I also think the design goals of CSL – to be data format independent,
easy to use for styles authors, and comprehensive (including support
for the humanities) – are really difficult to balance.
If we go the more generic approach (instead of pre-defined macros using
elements basically) we give up various things (ease of use and
validation primarily).
These might be worth sacrificing, but I want people to understand that
every detail in the current CSL has a reason for being there.
- as people are getting more and
more into CSL and working with bigger variety of real problems. We also
had some problems to define custom citation style without actually
modifying the csl schema. ( btw. a nice “how to” would be highly
desirable :)).
Sure, but this is why you should post issues when you come across them.
I fully recognize we need documentation and a formal spec, but just for
those of you that don’t know: this is not my day job. I’m a
professional scholar, up for tenure this year. I’ve also spent the past
year working with the OpenDocument TC at OASIS to add greatly enhanced
new metadata support there.
So there’s only so many hours in a day, and I just don’t have time to
work on documentation for the next couple of months. It’s not that I
don’t care about it or recognize the issue. David Wilson started to
help with me this BTW.
We strongly support the idea of “macro” - it is in fact very similar to
what our citation style configuration is doing (there is some
difference
in the naming conventions and Xml complexity)
OK.
In our case “macro” is what we call a “layout element”. Each layout
element can be specified of one or more other “fields” (metadata) or
“layout elements” (i.e. other macros). For each layout element users
(or
developers) can specify some parameters that define how the content is
to be presented (current csl schema knows these as attributes of
fields). A Layout element can be combined with other layout elements.
We
were following the principle of “lego blocks”.
csLayoutDefinition - is an element that defines a specific “type” of
citation i.e. Article, Book, Journal etc.
csLayoutDefinition consists of sequence of layoutElements (i.e.
macros).
A layoutElement can be specified based on one or more other “fields”
(metadata) or other defined “layout elements” (i.e. other macros).
Final outcome is single XML file for a citation style … i.e. in our
concept we use these building blocks to “import” them into the citation
style configuration file, we do not “reference” them - because we would
like to have the citation style configuration complete and self-defined
(currently with the exception of the metadata schema - it exists as an
external one).
Right. It’s true of CSL too.
The benefit for CSL would be:
- CSL schema should only specify how macros for fields/types should be
defined within a citation (and bibliography)
Hang on, I’ll come back to this in another message. To me there are
some design principles that are critical to CSL that could easily be
lost if not careful.
- current classes can be removed from basic schema (they can serve as
“validation classes”) for “slightly changed” variants of e.g. Harvard
style, APA style (note: this to us looks like a benefit because one
would not have to change the rnc schema for definition of a new custom
style).
They are validation classes rights now.