{"action":"created","issue":{"url":"https://api.github.com/repos/jgm/CommonMark/issues/364","labels_url":"https://api.github.com/repos/jgm/CommonMark/issues/364/labels{/name}","comments_url":"https://api.github.com/repos/jgm/CommonMark/issues/364/comments","events_url":"https://api.github.com/repos/jgm/CommonMark/issues/364/events","html_url":"https://github.com/jgm/CommonMark/issues/364","id":105124029,"number":364,"title":"Raw HTML does not support HTML5 attribute names","user":{"login":"srawlins","id":103167,"avatar_url":"https://avatars.githubusercontent.com/u/103167?v=3","gravatar_id":"","url":"https://api.github.com/users/srawlins","html_url":"https://github.com/srawlins","followers_url":"https://api.github.com/users/srawlins/followers","following_url":"https://api.github.com/users/srawlins/following{/other_user}","gists_url":"https://api.github.com/users/srawlins/gists{/gist_id}","starred_url":"https://api.github.com/users/srawlins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/srawlins/subscriptions","organizations_url":"https://api.github.com/users/srawlins/orgs","repos_url":"https://api.github.com/users/srawlins/repos","events_url":"https://api.github.com/users/srawlins/events{/privacy}","received_events_url":"https://api.github.com/users/srawlins/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-09-06T23:57:50Z","updated_at":"2016-01-01T23:12:30Z","closed_at":null,"body":"HTML5 attribute names are specified as:\r\n\r\n> Attribute names must consist of one or more characters other than the space\r\n> characters, U+0000 NULL, U+0022 QUOTATION MARK (\"), U+0027\r\n> APOSTROPHE ('), \">\" (U+003E), \"/\" (U+002F), and \"=\" (U+003D) characters, the\r\n> control characters, and any characters that are not defined by Unicode.\r\n\r\nThis differs from CommonMark's text, [already noted in 0.22](http://spec.commonmark.org/0.22/#raw-html):\r\n\r\n> An attribute name consists of an ASCII letter, `_`, or `:`, followed by zero or\r\n> more ASCII letters, digits, `_`, `.`, `:`, or `-`. (Note: This is the XML\r\n> specification restricted to ASCII. HTML5 is laxer.)\r\n\r\nThe one real-world use case of this that I am aware of is the upcoming Angular 2. Examples look like:\r\n\r\n```html\r\n<input #todotext>\r\n<button (click)=\"addTodo(todotext.value)\">Add Todo</button>\r\n<li *ng-for=\"#todo of todos\"></li>\r\n```\r\n\r\n(from their [User Input docs](https://angular.io/docs/js/latest/guide/user-input.html))"},"comment":{"url":"https://api.github.com/repos/jgm/CommonMark/issues/comments/168349681","html_url":"https://github.com/jgm/CommonMark/issues/364#issuecomment-168349681","issue_url":"https://api.github.com/repos/jgm/CommonMark/issues/364","id":168349681,"user":{"login":"tin-pot","id":1289260,"avatar_url":"https://avatars.githubusercontent.com/u/1289260?v=3","gravatar_id":"","url":"https://api.github.com/users/tin-pot","html_url":"https://github.com/tin-pot","followers_url":"https://api.github.com/users/tin-pot/followers","following_url":"https://api.github.com/users/tin-pot/following{/other_user}","gists_url":"https://api.github.com/users/tin-pot/gists{/gist_id}","starred_url":"https://api.github.com/users/tin-pot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tin-pot/subscriptions","organizations_url":"https://api.github.com/users/tin-pot/orgs","repos_url":"https://api.github.com/users/tin-pot/repos","events_url":"https://api.github.com/users/tin-pot/events{/privacy}","received_events_url":"https://api.github.com/users/tin-pot/received_events","type":"User","site_admin":false},"created_at":"2016-01-01T23:12:30Z","updated_at":"2016-01-01T23:12:30Z","body":"@sethdill \r\n\r\n> It's good to be smarter than that whole group. It's not like anything has come of HTML5.\r\n\r\nThis reminds me of a rather funny comment made by [Norman Walsh][ndw], regarding proposals to remove *processing instructions* from the XML syntax:\r\n\r\n> &laquo;I am totally exasperated by the folks that want to remove PIs from XML. \"Here's your Swiss Army Knife, norm, oh, but we broke off the small blade (the internal subset) and we've removed the\r\ntweezers (PIs), because you don't really need those. And for good measure we welded the corkscrew open (thou shalt always put elements in a namespace). Is there anything else we can do to help you?\"&raquo; &ndash; [N. Walsh, 2003-01-24][nwalsh-pi]\r\n\r\nWhat has this to do with HTML5? Well, the HTML5 syntax has a special \"state\" with the cute name [*bogus comment state*][html5-bogus], and lo and behold: this is where an HTML5 parser ends up in when a PI is encountered&mdash;be it a *valid* HTML 4 PI, or a *valid* XML PI (which are different). \r\n\r\nSo&mdash;no: not even a group like the W3C or WHATWG should be exempt from any questioning.\r\n\r\nBut then again, I *still* might find satisfying answers using the old-fashioned technique of *reading the f&ast;&ast;&ast;ing specification and rationale* for HTML5.\r\n\r\nI'll be back as soon as I have done this &hellip;\r\n\r\n[ndw]: http://nwalsh.com/people/ndw/\r\n[nwalsh-pi]: http://lists.xml.org/archives/xml-dev/200301/msg00679.html\r\n[html5-bogus]: http://www.w3.org/TR/html/syntax.html#bogus-comment-state"}}