csl and experimental changes

So given that Frank is working on innovating CSL to work for some
funky law and multi-lingual stuff, some thoughts to ensure we can make
it easier to merge them down the line.

At the level of the XML, it’s possible for us to define, or to
redefine in a separate schema, the CSL schema in such a way that it
allows foreign content. Examples:

any element = *
any attribute = @
any element in a specific namespace (my preference, given that CSL is
namespaced) = test:*
any attribute in a specific namespace = @test:*

… and, of course, we can define extension points in the main schema
to allow one to define, and add additional stuff.

Any mix of these would allow people to add stuff to styles without
having to edit the main CSL schema source.

So that’s at the level of the XML; ways to allow experimental stuff to
still be valid CSL, and to contain changes.

The other thing to make it easier to incorporate experimental features
is just to make sure to document use cases and requirements, so that
we leave room for other solutions to the same problems. It might be
that some of the funky law stuff never makes it in, but that we have a
csl-law.rnc file for those little extensions?

Thoughts or comments?

Bruce

The other thing to make it easier to incorporate experimental
features is just to make sure to document use cases and requirements,
so that we leave room for other solutions to the same problems

Indeed, preferably in the same place that code changes and issues are
tracked.

Regards,
Rob.

Just to clarify, are you suggesting these get tracked at the main csl
github project?

And to be really clear, I’m almost going so far as to suggest a common
template for feature requests going forward; in Markdown:

Use Cases

[insert examples of what people need to be able to do that they cannot
now, in the most clear way possible]

Requirements

[deriving some higher-level processing principles that allows us to
quickly understand the different design issues and tradeoffs]

Proposal

[Not sure, but in some cases this might come in the form of a schema patch]

I think too many of the issues in the tracker result in long threads,
and hence, wasted time.

Bruce

“Bruce D’Arcus” <@Bruce_D_Arcus1> writes:

So given that Frank is working on innovating CSL to work for some
funky law and multi-lingual stuff, some thoughts to ensure we can make
it easier to merge them down the line.

At the level of the XML, it’s possible for us to define, or to
redefine in a separate schema, the CSL schema in such a way that it
allows foreign content. Examples:

When it comes to the XML magics to allow the kind of extensions Frank is
developing I must confess my ignorance and the lack of time to dig into
the problem. But I can express my interest, together with Frank’s I
suppose, since I’m implementing most of them (I still have some doubts
on the multi-language extensions to the JSON input for bibliographic
data because there is no user interface in the pandoc world to permit a
comfortable use of them).

The next pandoc will allow the use of abbreviations (it is just a start
since ‘jurisdiction’ is not yet implemented). I really lack the time to
code this stuff quickly but I’m slowly catching up.

Andrea