1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Inline markup

Introduction

Citations, particularly in titles, often contain inline content. We need a way to handle these in CSL implementations.

Examples

The following are common examples of inline markup:

  1. Quotes
  2. Species names and genetic nomenclature
  3. Chemical Names, more examples and guidelines
  4. Simple Math, physical entities
  5. Titles (within titles)
  6. Latin (e.g. in vivo)

Of these, especially 2-4 would require complex semantic markup that is often limited to part of the content. Some examples:

  • Species names: S. cerevisiae, S. enterica subsp. arizonae, Salmonella enterica serovar Typhimurium, E. coli K-12, Tobacco mosaic virus (for entire species) or tobacco mosaic virus (for individual viruses)
  • Genetics:
    • Phenotypic designations: Pol+, Strr
    • Genotypic designations: araA
    • Wild-type alleles: ara+
    • Mutation sites: ara-23
    • Mutation types: araA230(Am)
    • Genes: zwf, hisE. coli, LEU2, ScURA3, ura3Δ (deletion)
  • Chemicals:
    • L-[methyl-14C]methionine
    • SO42-
  • Physical entities
    • Vmax, KM

Requirements

Inline markup support must:

  1. properly represent the source metadata content
  2. be able to be reliably transformed into different output styles. E.g. in a number of cases formatting of content should be protected during text transformations, e.g. "SO42-" should remain capitalized even in lower case titles
  3. where used in HTML, XML, or RDF, be able to be represented in native structures (e.g. XML; not text markup)

Proposals

Proposal

We need two parallel methods to encode inline markup: a text-based form, and an (X)HTML form. Both need to represent two kinds of inline structure:

  1. presentational: bold, italic, small-caps, superscript, subscript
  2. semantic: species and chemical names, titles, and quotes

HTML

XHTML is a good format, since it can be reliably parsed, and embedded in other formats (like RDF/XML). CSL inline markup in XHTML shall support:

  1. presentational: xhtml:b, xhtml:i
  2. semantic: xhtml:q, and a class attribute with following options: "species-name", "chemical-name"; foreign words can be indicated using a lang attribute on a span

Text

An easy and safe bet is to use markdown. Markdown actually uses the more semantic "emphasis" and "strong" HTML structures, so has no direct mapping in and out of xhtml:b and xhtml:i.

Note: The "Proposal #2" content on "implementation" has been moved elsewhere.

Attachments