Index of /Tools/CSS/biblio
biblio.ref
A bibliography database in Refer format, previously (around 2013)
used by the module postprocessor for CSS and other specifications;
and by bikeshed, the similar pre-processor in Python. Now (2019)
probably not used by anybody anymore.
biblio.xml
Derived from biblio.ref, but in an ad-hoc XML-based
format. Currently (Oct 2013) generated daily with an AWK script
such as the one below.
These files were previously in
https://www.w3.org/Style/Group/css3-src/ but some people wanted to
access them without need for a password.
Feb 2019, Bert Bos <bert@w3.org>
Sample AWK script:
BEGIN {
alias["#"] = "comment";
alias["A"] = "editor";
alias["B"] = "book";
alias["C"] = "place";
alias["D"] = "date";
alias["I"] = "publisher";
alias["J"] = "journal";
alias["K"] = "keywords";
alias["L"] = "label";
alias["N"] = "journal-issue";
alias["O"] = "other";
alias["P"] = "pages";
alias["Q"] = "organization";
alias["R"] = "number";
alias["S"] = "series";
alias["T"] = "title";
alias["U"] = "url";
alias["V"] = "volume";
print "<refs>";
}
/^%U/ {url = $2}
/^%/ {lines[++n] = $0}
/^#/ {}
/^[ ]*$/ {if (url) print_entry(url, n, lines); n = 0; url = ""}
END {if (url) print_entry(url, n, lines); print "</refs>"}
# print_entry -- print one entry
function print_entry(url, n, lines, i, tag)
{
print " <entry for=\"" escape(url) "\">";
for (i = 1; i <= n; i++) {
tag = alias[substr(lines[i], 2, 1)];
if (!tag) {
# print "Unrecognized tag: " substr(lines[i], 1, 2) > "/dev/stderr";
print "Unrecognized tag: \"" lines[i] "\"" > "/dev/stderr";
} else if (tag != "url") {
print " <" tag ">" escape(substr(lines[i], 4)) "</" tag ">";
}
}
print " </entry>";
}
# escape -- escape XML delimiters
function escape(s)
{
gsub(/&/, "\\&", s);
gsub(/</, "\\<", s);
gsub(/>/, "\\>", s);
gsub(/"/, "\\"", s);
return s;
}