In case the XEP has not yet a shortname assigned, the transformation
would add a superfluous line break in the postfix due a missing
<xsl:text> element.
I am tired of seeing all those badly or misreferenced XEPs out
there. This produces a high-quality BibLaTeX entry that follows the
recommendations of the biblatex Package and
draft-carpenter-rfc-citation-recs-01 § 5.2 [1].
It also uses proper 'date' attribution, from the first date in the XEP
history to the date of the latest revision entry.
1: https://tools.ietf.org/html/draft-carpenter-rfc-citation-recs-01#section-5.2
While a draft "standard" of the CSS Working Group of the W3C (as
much as any W3C "living document" is a "standard" in any meaning of
the word) says in a (non normative) section that both semicolon and
comma are allowed [1], the MDN has the following thing to say [2]:
> To mitigate this problem of virtual viewport […], Apple introduced
> the "viewport meta tag" […]. Apple's documentation does a good job
> explaining how web developers can use this tag, but we had to do
> some detective work to figure out exactly how to implement it in
> Fennec. For example, Safari's documentation says the content is a
> "comma-delimited list," but existing browsers and web pages use
> any mix of commas, semicolons, and spaces as separators.
This leaves us to believe that although some W3C document says that
both are ok, comma is the more portable choice.
[1]: https://drafts.csswg.org/css-device-adapt/#viewport-meta
[2]: https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag
We were previously generating HTML5, while claiming to be
XHTML 1.0 and serving the content with text/html Content-Type.
Not ideal.
This change generates the proper HTML5 document type using a
slightly awful, but required, hack because HTML5 is using a weird
doctype format not supported by XSLT (1.0, anyways).
Using indent='no' prevents any spurious whitespace from being
generated in the output. This ensures that user agents do not
render such whitespace in places where none should be, for example
between the <li/> elements of an authors list.
Thanks to @flowdalic for finding and reporting.
Test-Information:
Tested on a single XEP that it works as expected. Repeated
notes get the same note number and the notes section only
mentions each note once.
XSLT processors are allowed to choose either the self-closing form or
explicit open and close tags when operating in xml mode for elements
that have no text. Unfortunately, for the script element, this is not
allowed (by the DTD, and conformant browsers will not accept the
self-closing form).
xsltproc, as used by the XSF tooling, will output the open/close tags,
but other processors, such as Xalan, will choose the self-closing form.
This patch adds an empty comment as a child of the script tag. This will
force all XSLT processors into outputting the right form. As browsers
are required to ignore the content if there is a src attribute, this
will not change the behaviour. Should a browser without support for the
script tag open it, all it sees is a comment.
Test-Information:
Transforms XEPs into readable documents in xsltproc and oXygen 9.3.