2019-02-05 17:56
================
The version at http://www.loc.gov/standards/datetime/edtf.html is changed in the following ways for pure XHTML polyglot markup.
## `
`
* Changed file extension to .xhtml to serve it as a application/xhtml+xml mimetype.
* Saved html files as UTF-8 with a Byte Order Mark (BOM). Polyglot requirement: http://www.w3.org/TR/html-polyglot/#character-encoding
* Doctype changed from XHTML transitional to the modern doctype.
* Language tags to root html element. [Polyglot requirement]: https://www.w3.org/TR/html-polyglot/#language-attributes
* Keywords metadata removed.
The keywords metadata name is discouraged.
> Many search engines do not consider such keywords, because this feature has historically been used unreliably and even misleadingly as a way to spam search engine results in a way that is not helpful for users. (W3C HTML5.3, 2017) " 4.2.5.1. Standard metadata names", https://www.w3.org/TR/html5/document-metadata.html#standard-metadata-names
Google does not use the keywords metadata name. (Google Webmaster Central Blog, 2009) "Google does not use the keywords meta tag in web ranking", https://webmasters.googleblog.com/2009/09/google-does-not-use-keywords-meta-tag.html
* Added `` for mobile friendliness. See Responsive Web Design, https://developers.google.com/search/mobile-sites/mobile-seo/responsive-design
## ``
* Void elements given closing forward slash. E.g. to
> All elements listed as void in the HTML specification or in an extension spec, MUST in polyglot markup have the syntactic form of an XML empty-element tag () [Emphasis added]. https://www.w3.org/TR/html-polyglot/#empty-elements
* Removed entities. We are going to handle spacing with css flexbox.
* Changed entity references to literals. You only need to use entity references for characters that are not part of the character encoding, and UTF-8 supports many exotic characters that would otherwise require named entity references.
+ Changed » to the literal "»".
+ š to š
+ ä to ä
+ å to å
* Removed using tables for layout. https://www.lifewire.com/dont-use-tables-for-layout-3468941
* Changed breadcrumb coding to use HTML spec exemplified idiom. https://www.w3.org/TR/html53/common-idioms-without-dedicated-elements.html#bread-crumb-navigation
* Removed . Presumed to be a spacing hack. Spacing now done in CSS.
* Replaced surrounding ('), (‘ and ’) with .
* Replaced “ and ” with literal “ and ”.
* Removed empty . Spacing done in CSS.
* Removed wayward 's in the middle of a paragraph that are better as separate paragraphs. E.g. As in
Three conformance levels are defined: level 0, level 1, and level 2. Level 0 specifies features of ISO 8601-1; Levels 1 and 2 specify features described ISO 8601-2.
An implementation must support all of the features listed for Level 0. The vendor must state one of the following levels of support:
* Removed 's that seemed to be spacing hack's, as in (spacing done in CSS)
Example 1 156X-12-25 December 25 sometime during the 1560s
* Removed empty elements ``, ``, `` that seemed to be spacing hack's, (spacing done in CSS)
* Removed `` and, instead, wrapped content in `` tags. Section division styling done in Css.
* Added `` element that wraps the main content.
* Added `` element that wraps most of the page content. Styling (i.e. the box) done against this.
* Added `` sections at sensible locations.
* Changed `h2` to `h3`; `h1` to `h2` except for "Extended Date/Time Format (EDTF) Specification" which remains `h1`. Restyled accordingly.
* Replaced `
lorem
` markup with h4's.
* Fixed up "Skip to main content" accessibility link.
* Removed explicit `tabindex` attribute from elements so that they get the natural page order (and, in particular, the "Skip to main content" is the first link in the implicit tab order).
## Content changes (that come through to the user)
### General
* Eliminated Title text from banner graphic. The article contains a `
` heading (and so title).
* "Source Code Purified -" added to `` and `
` element. Just as a temporary change so that the page is not confused with the official version.
* "Official Website" changed to "Non Official Version".
* Under Level 0, Date and Time. Meta syntax '[dateI]' changed to '[date]'. Presumed typo. Also exists in AnnexA word doc.
* Under Level 2, Set representation, All members. Changed "[..1984]" to "{..1984}".
* Added `
` "Meta" heading. Just to illustrate a consistency of sectioning.
* Added `
` "Interval" heading in Level 1 section.
* Example list item descriptions (any li child of a class="examples" parent) changed for consistency:
+ Ending in a full stop `.`.
+ First word is lower case unless a proper name.
* Self anchoring added to `
` and `
` level headings (hover over, click, or press a heading).
### Syntax conventions enforced
* Changes to the text where made to conform to the following syntax convention:
+ Backticks surround code (e.g. "lorem qualifiers `?` and `~`, ipsum" ) so that when copied into a markdown document (e.g. a Github issues textbox) that code will be suitably marked-up. Backticks are used to surround both inline and block code.
+ Metasyntax string literals are surrounded by double quotes. E.g.
[date]["T"][time]["Z"]
## Indexing disallowed.
* Robots.txt create to disallow the indexing by google (and other agents). If this source code is imported into the official site, just delete robots.txt to restore normal indexing.
## Printing
* datetime-print-pure.css created from scratch, taking a cue from the official datetime-print.css.
## Validation
* Validated at https://validator.w3.org/nu/ with one error
> Error 77 7 Attribute “value” not allowed on element “input” at this point.
... this references the line ...
... the "value" attribute is not permitted when input type="image" (or "file"). However, this error is left given changing it will break your current process. Recommend a proper refactor.