<commit_before>function SpecLinks()
{
  if (SpecLinks.__instance__)
  {
    return SpecLinks.__instance__;
  }
  else
  {
    SpecLinks.__instance__ = this;
  }

  this.get_spec_links = function(spec_notations)
  {
    var specs = [];
    spec_notations = spec_notations.replace(/\s+/g, "").split(",");
    spec_notations.forEach(function(spec_notation)
    {
      var spec_link = this.get_spec_link(spec_notation);
      if (spec_link)
      {
        specs.push(spec_link);
      }
    }, this);
    return specs;
  };

  this.get_spec_link = function(spec_notation)
  {
    var hash_pos = spec_notation.indexOf("#");
    if (hash_pos > 0) {
      var spec = spec_notation.slice(0, hash_pos);
      var prop = spec_notation.slice(hash_pos + 1);
      var props = SpecLinks.specs[spec];
      if (props)
      {
        var url = props[prop];
        if (url)
        {
          return {
            spec: spec,
            prop: prop,
            url: url
          };
        }
      }
    }
    return null;
  };

  this.open_spec_link = function(spec_link)
  {
    if (spec_link)
    {
      window.open(spec_link);
    }
    else
    {
      alert("No specification found.");
    }
  };
}

SpecLinks.specs = {
  "css": {
    "azimuth": "http://www.w3.org/TR/CSS2/aural.html#propdef-azimuth",
    "background-attachment": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-attachment",
    "background-color": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-color",
    "background-image": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-image",
    "background-position": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-position",
    "background-repeat": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-repeat",
    "background": "http://www.w3.org/TR/CSS2/colors.html#propdef-background",
    "border-collapse": "http://www.w3.org/TR/CSS2/tables.html#propdef-border-collapse",
    "border-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-color",
    "border-spacing": "http://www.w3.org/TR/CSS2/tables.html#propdef-border-spacing",
    "border-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-style",
    "border-top": "http://www.w3.org/TR/CSS2/box.html#propdef-border-top",
    "border-right": "http://www.w3.org/TR/CSS2/box.html#propdef-border-right",
    "border-bottom": "http://www.w3.org/TR/CSS2/box.html#propdef-border-bottom",
    "border-left": "http://www.w3.org/TR/CSS2/box.html#propdef-border-left",
    "border-top-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-top-color",
    "border-right-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-right-color",
    "border-bottom-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-bottom-color",
    "border-left-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-left-color",
    "border-top-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-top-style",
    "border-right-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-right-style",
    "border-bottom-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-bottom-style",
    "border-left-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-left-style",
    "border-top-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-top-width",
    "border-right-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-right-width",
    "border-bottom-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-bottom-width",
    "border-left-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-left-width",
    "border-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-width",
    "border": "http://www.w3.org/TR/CSS2/box.html#propdef-border",
    "bottom": "http://www.w3.org/TR/CSS2/visuren.html#propdef-bottom",
    "caption-side": "http://www.w3.org/TR/CSS2/tables.html#propdef-caption-side",
    "clear": "http://www.w3.org/TR/CSS2/visuren.html#propdef-clear",
    "clip": "http://www.w3.org/TR/CSS2/visufx.html#propdef-clip",
    "color": "http://www.w3.org/TR/CSS2/colors.html#propdef-color",
    "content": "http://www.w3.org/TR/CSS2/generate.html#propdef-content",
    "counter-increment": "http://www.w3.org/TR/CSS2/generate.html#propdef-counter-increment",
    "counter-reset": "http://www.w3.org/TR/CSS2/generate.html#propdef-counter-reset",
    "cue-after": "http://www.w3.org/TR/CSS2/aural.html#propdef-cue-after",
    "cue-before": "http://www.w3.org/TR/CSS2/aural.html#propdef-cue-before",
    "cue": "http://www.w3.org/TR/CSS2/aural.html#propdef-cue",
    "cursor": "http://www.w3.org/TR/CSS2/ui.html#propdef-cursor",
    "direction": "http://www.w3.org/TR/CSS2/visuren.html#propdef-direction",
    "display": "http://www.w3.org/TR/CSS2/visuren.html#propdef-display",
    "elevation": "http://www.w3.org/TR/CSS2/aural.html#propdef-elevation",
    "empty-cells": "http://www.w3.org/TR/CSS2/tables.html#propdef-empty-cells",
    "float": "http://www.w3.org/TR/CSS2/visuren.html#propdef-float",
    "font-family": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-family",
    "font-size": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-size",
    "font-style": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-style",
    "font-variant": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-variant",
    "font-weight": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-weight",
    "font": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font",
    "height": "http://www.w3.org/TR/CSS2/visudet.html#propdef-height",
    "left": "http://www.w3.org/TR/CSS2/visuren.html#propdef-left",
    "letter-spacing": "http://www.w3.org/TR/CSS2/text.html#propdef-letter-spacing",
    "line-height": "http://www.w3.org/TR/CSS2/visudet.html#propdef-line-height",
    "list-style-image": "http://www.w3.org/TR/CSS2/generate.html#propdef-list-style-image",
    "list-style-position": "http://www.w3.org/TR/CSS2/generate.html#propdef-list-style-position",
    "list-style-type": "http://www.w3.org/TR/CSS2/generate.html#propdef-list-style-type",
    "list-style": "http://www.w3.org/TR/CSS2/generate.html#propdef-list-style",
    "margin-right": "http://www.w3.org/TR/CSS2/box.html#propdef-margin-right",
    "margin-left": "http://www.w3.org/TR/CSS2/box.html#propdef-margin-left",
    "margin-top": "http://www.w3.org/TR/CSS2/box.html#propdef-margin-top",
    "margin-bottom": "http://www.w3.org/TR/CSS2/box.html#propdef-margin-bottom",
    "margin": "http://www.w3.org/TR/CSS2/box.html#propdef-margin",
    "max-height": "http://www.w3.org/TR/CSS2/visudet.html#propdef-max-height",
    "max-width": "http://www.w3.org/TR/CSS2/visudet.html#propdef-max-width",
    "min-height": "http://www.w3.org/TR/CSS2/visudet.html#propdef-min-height",
    "min-width": "http://www.w3.org/TR/CSS2/visudet.html#propdef-min-width",
    "orphans": "http://www.w3.org/TR/CSS2/page.html#propdef-orphans",
    "outline-color": "http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color",
    "outline-style": "http://www.w3.org/TR/CSS2/ui.html#propdef-outline-style",
    "outline-width": "http://www.w3.org/TR/CSS2/ui.html#propdef-outline-width",
    "outline": "http://www.w3.org/TR/CSS2/ui.html#propdef-outline",
    "overflow": "http://www.w3.org/TR/CSS2/visufx.html#propdef-overflow",
    "padding-top": "http://www.w3.org/TR/CSS2/box.html#propdef-padding-top",
    "padding-right": "http://www.w3.org/TR/CSS2/box.html#propdef-padding-right",
    "padding-bottom": "http://www.w3.org/TR/CSS2/box.html#propdef-padding-bottom",
    "padding-left": "http://www.w3.org/TR/CSS2/box.html#propdef-padding-left",
    "padding": "http://www.w3.org/TR/CSS2/box.html#propdef-padding",
    "page-break-after": "http://www.w3.org/TR/CSS2/page.html#propdef-page-break-after",
    "page-break-before": "http://www.w3.org/TR/CSS2/page.html#propdef-page-break-before",
    "page-break-inside": "http://www.w3.org/TR/CSS2/page.html#propdef-page-break-inside",
    "pause-after": "http://www.w3.org/TR/CSS2/aural.html#propdef-pause-after",
    "pause-before": "http://www.w3.org/TR/CSS2/aural.html#propdef-pause-before",
    "pause": "http://www.w3.org/TR/CSS2/aural.html#propdef-pause",
    "pitch-range": "http://www.w3.org/TR/CSS2/aural.html#propdef-pitch-range",
    "pitch": "http://www.w3.org/TR/CSS2/aural.html#propdef-pitch",
    "play-during": "http://www.w3.org/TR/CSS2/aural.html#propdef-play-during",
    "position": "http://www.w3.org/TR/CSS2/visuren.html#propdef-position",
    "quotes": "http://www.w3.org/TR/CSS2/generate.html#propdef-quotes",
    "richness": "http://www.w3.org/TR/CSS2/aural.html#propdef-richness",
    "right": "http://www.w3.org/TR/CSS2/visuren.html#propdef-right",
    "speak-header": "http://www.w3.org/TR/CSS2/aural.html#propdef-speak-header",
    "speak-numeral": "http://www.w3.org/TR/CSS2/aural.html#propdef-speak-numeral",
    "speak-punctuation": "http://www.w3.org/TR/CSS2/aural.html#propdef-speak-punctuation",
    "speak": "http://www.w3.org/TR/CSS2/aural.html#propdef-speak",
    "speech-rate": "http://www.w3.org/TR/CSS2/aural.html#propdef-speech-rate",
    "stress": "http://www.w3.org/TR/CSS2/aural.html#propdef-stress",
    "table-layout": "http://www.w3.org/TR/CSS2/tables.html#propdef-table-layout",
    "text-align": "http://www.w3.org/TR/CSS2/text.html#propdef-text-align",
    "text-decoration": "http://www.w3.org/TR/CSS2/text.html#propdef-text-decoration",
    "text-indent": "http://www.w3.org/TR/CSS2/text.html#propdef-text-indent",
    "text-transform": "http://www.w3.org/TR/CSS2/text.html#propdef-text-transform",
    "top": "http://www.w3.org/TR/CSS2/visuren.html#propdef-top",
    "unicode-bidi": "http://www.w3.org/TR/CSS2/visuren.html#propdef-unicode-bidi",
    "vertical-align": "http://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align",
    "visibility": "http://www.w3.org/TR/CSS2/visufx.html#propdef-visibility",
    "voice-family": "http://www.w3.org/TR/CSS2/aural.html#propdef-voice-family",
    "volume": "http://www.w3.org/TR/CSS2/aural.html#propdef-volume",
    "white-space": "http://www.w3.org/TR/CSS2/text.html#propdef-white-space",
    "widows": "http://www.w3.org/TR/CSS2/page.html#propdef-widows",
    "width": "http://www.w3.org/TR/CSS2/visudet.html#propdef-width",
    "word-spacing": "http://www.w3.org/TR/CSS2/text.html#propdef-word-spacing",
    "z-index": "http://www.w3.org/TR/CSS2/visuren.html#propdef-z-index"
  },
  "dom": {
    // DOM 0-3
    "HTMLDocument": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26809268",
    "Attr": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-637646024",
    "Text": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1312295772",
    "CDATASection": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-667469212",
    "Comment": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1728279322",
    "DocumentFragment": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-B63ED1A3",
    "NodeList": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177",
    "NamedNodeMap": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1780488922",
    "Event": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event",
    "HTMLHtmlElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-33759296",
    "HTMLHeadElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-77253168",
    "HTMLLinkElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-35143001",
    "HTMLTitleElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-79243169",
    "HTMLMetaElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-37041454",
    "HTMLBaseElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-73629039",
    "HTMLStyleElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-16428977",
    "HTMLBodyElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-62018039",
    "HTMLIsIndexElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-85283003",
    "HTMLFormElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-40002357",
    "HTMLSelectElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94282980",
    "HTMLOptGroupElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-38450247",
    "HTMLOptionElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-70901257",
    "HTMLInputElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-6043025",
    "HTMLTextAreaElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-24874179",
    "HTMLButtonElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-34812697",
    "HTMLLabelElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-13691394",
    "HTMLFieldSetElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-7365882",
    "HTMLLegendElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-21482039",
    "HTMLUListElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-86834457",
    "HTMLOListElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-58056027",
    "HTMLDListElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-52368974",
    "HTMLDirectoryElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-71600284",
    "HTMLMenuElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-72509186",
    "HTMLLIElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-74680021",
    "HTMLDivElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-22445964",
    "HTMLParagraphElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-84675076",
    "HTMLHeadingElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-43345119",
    "HTMLQuoteElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-70319763",
    "HTMLPreElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-11383425",
    "HTMLBRElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-56836063",
    "HTMLBaseFontElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-32774408",
    "HTMLFontElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-43943847",
    "HTMLHRElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-68228811",
    "HTMLModElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-79359609",
    "HTMLAnchorElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-48250443",
    "HTMLImageElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-17701901",
    "HTMLObjectElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-9893177",
    "HTMLParamElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-64077273",
    "HTMLAppletElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-31006348",
    "HTMLMapElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94109203",
    "HTMLAreaElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26019118",
    "HTMLScriptElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-81598695",
    "HTMLTableElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-64060425",
    "HTMLTableCaptionElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-12035137",
    "HTMLTableColElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-84150186",
    "HTMLTableSectionElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-67417573",
    "HTMLTableRowElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-6986576",
    "HTMLTableCellElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-82915075",
    "HTMLFrameSetElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-43829095",
    "HTMLFrameElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-97790553",
    "HTMLIFrameElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-50708718",
    "HTMLCollection": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-75708506",
    "HTMLOptionsCollection": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection",
    "DOMException": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187",
    "ExceptionCode": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF",
    "DOMImplementation": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490",
    "Document": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#i-Document",
    "Node": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1950641247",
    "CharacterData": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-FF21A306",
    "Element": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-745549614",
    "DocumentType": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-412266927",
    "Notation": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-5431D1B9",
    "Entity": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-527DCFF2",
    "EntityReference": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-11C98490",
    "ProcessingInstruction": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1004215813",
    "DocumentEvent": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-DocumentEvent",
    "EventTarget": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget",
    "EventListener": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventListener",
    "UIEvent": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-UIEvent",
    "MouseEvent": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-MouseEvent",
    "MutationEvent": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-MutationEvent",
    "StyleSheet": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet",
    "StyleSheetList": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList",
    "MediaList": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList",
    "LinkStyle": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle",
    "DocumentStyle": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle",
    "CSSStyleSheet": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSStyleSheet",
    "CSSRuleList": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSRuleList",
    "CSSRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSRule",
    "CSSStyleRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSStyleRule",
    "CSSMediaRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSMediaRule",
    "CSSFontFaceRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSFontFaceRule",
    "CSSPageRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSPageRule",
    "CSSImportRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSImportRule",
    "CSSCharsetRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSCharsetRule",
    "CSSUnknownRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSUnknownRule",
    "CSSStyleDeclaration": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSStyleDeclaration",
    "CSSValue": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSValue",
    "CSSPrimitiveValue": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSPrimitiveValue",
    "CSSValueList": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSValueList",
    "RGBColor": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-RGBColor",
    "Rect": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-Rect",
    "Counter": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-Counter",
    "ViewCSS": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-ViewCSS",
    "DocumentCSS": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-DocumentCSS",
    "DOMImplementationCSS": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-DOMImplementationCSS",
    "ElementCSSInlineStyle": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-ElementCSSInlineStyle",
    "CSS2Properties": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSS2Properties",
    "AbstractView": "http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView",
    "DocumentView": "http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-DocumentView",
    "NodeIterator": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator",
    "NodeFilter": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter",
    "TreeWalker": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker",
    "DocumentTraversal": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document",
    "Range": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-idl",
    "DocumentRange": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl",
    "RangeException": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException",
    "RangeExceptionCode": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode",
    "LSException": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSException",
    "LSExceptionCode": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSException-LSExceptionCode",
    "LS-DOMImplementation": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-DOMImplementation",
    "LSParser": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSParser",
    "LSInput": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSInput",
    "LSResourceResolver": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSResourceResolver",
    "LSParserFilter": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSParserFilter",
    "LSProgressEvent": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSProgressEvent",
    "LSLoadEvent": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSLoadEvent",
    "LSSerializer": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSSerializer",
    "LSOutput": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSOutput",
    "LSSerializerFilter": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSSerializerFilter",
    "ExceptionVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#ExceptionVAL",
    "ExceptionVAL-codes": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#ExceptionVAL-codes",
    "DocumentEditVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#VAL-Interfaces-DocumentEditVAL",
    "NodeEditVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#VAL-Interfaces-NodeEditVAL",
    "ElementEditVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#VAL-Interfaces-ElementEditVAL",
    "CharacterDataEditVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#VAL-Interfaces-CharacterDataEditVAL",
    "XPathException": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException",
    "XPathExceptionCode": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExceptionCode",
    "XPathEvaluator": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator",
    "XPathExpression": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression",
    "XPathNSResolver": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver",
    "XPathResult": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult",
    "XPathNamespace": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace",
    "View": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-View",
    "Segment": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-Segment",
    "Match": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-Match",
    "MatchString": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchString",
    "MatchInteger": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchInteger",
    "MatchBoolean": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchBoolean",
    "MatchContent": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchContent",
    "MatchSet": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchSet",
    "Item": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-Item",
    "StringItem": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-StringItem",
    "IntegerItem": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-IntegerItem",
    "BooleanItem": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-BooleanItem",
    "ContentItem": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-ContentItem",
    "VisualView": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualView",
    "VisualResource": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualResource",
    "VisualFont": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualFont",
    "VisualSegment": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualSegment",
    "VisualCharacter": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualCharacter",
    "VisualCharacterRun": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualCharacterRun",
    "VisualFrame": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualFrame",
    "VisualImage": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualImage",
    "VisualFormButton": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualFormButton",
    "VisualFormField": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualFormField",
    "ASConstants": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASConstants",
    "ASObject": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASObject",
    "ASDataType": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASDataType-PrimitiveType",
    "ASObjectList": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASObjectList",
    "ASNamedObjectMap": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASNamedObjectMap",
    "ASModel": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASModel",
    "ASContentModel": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASContentModel",
    "ASElementDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASElementDecl",
    "ASAttributeDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASAttributeDecl",
    "ASEntityDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASEntityDecl",
    "AS-NotationDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-NotationDecl",
    "ASWModel": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASWModel",
    "ASWNamedObjectMap": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASWNamedObjectMap",
    "ASWElementDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASWElementDecl",
    "ASWContentModel": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASObjecType-ASWContentModel",
    "ASWAttributeDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASObjectType-AttributeDecl",
    "ASWEntityDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASObjectType-EntityDecl",
    "ASWNotationDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASWNotationDecl",
    "ASException": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#ASException",
    "ASException-codes": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#ASException-codes",
    "DocumentAS": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-DocumentAS",
    "DomImplementationAS": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-DomImplementationAS",
    "AS-Interfaces-ASDOMBuilde": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#LS-AS-Interfaces-ASDOMBuilder",
    "ASDOMWriter": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#LS-AS-Interfaces-ASDOMWriter",

    // Element Traversal
    "firstElementChild": "http://www.w3.org/TR/ElementTraversal/#attribute-firstElementChild",
    "lastElementChild": "http://www.w3.org/TR/ElementTraversal/#attribute-lastElementChild",
    "previousElementSibling": "http://www.w3.org/TR/ElementTraversal/#attribute-previousElementSibling",
    "nextElementSibling": "http://www.w3.org/TR/ElementTraversal/#attribute-nextElementSibling",
    "childElementCount": "http://www.w3.org/TR/ElementTraversal/#attribute-childElementCount"
  }
};
<commit_msg>Small refactoring for the spec links.<commit_after>function SpecLinks()
{
  if (SpecLinks.__instance__)
  {
    return SpecLinks.__instance__;
  }
  else
  {
    SpecLinks.__instance__ = this;
  }
}

SpecLinks.prototype.get_spec_links = function(spec_notations)
{
  var specs = [];
  spec_notations = spec_notations.replace(/\s+/g, "").split(",");
  spec_notations.forEach(function(spec_notation)
  {
    var spec_link = this.get_spec_link(spec_notation);
    if (spec_link)
    {
      specs.push(spec_link);
    }
  }, this);
  return specs;
};

SpecLinks.prototype.get_spec_link = function(spec_notation)
{
  var hash_pos = spec_notation.indexOf("#");
  if (hash_pos > 0)
  {
    var spec = spec_notation.slice(0, hash_pos);
    var prop = spec_notation.slice(hash_pos + 1);
    var props = SpecLinks.specs[spec];
    if (props && props.propertyIsEnumerable(prop))
    {
      return {
        spec: spec,
        prop: prop,
        url: props[prop]
      };
    }
  }
  return null;
};

SpecLinks.prototype.open_spec_link = function(spec_link)
{
  if (spec_link)
  {
    window.open(spec_link);
  }
  else
  {
    alert("No specification found.");
  }
};

SpecLinks.specs = {
  "css": {
    "azimuth": "http://www.w3.org/TR/CSS2/aural.html#propdef-azimuth",
    "background-attachment": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-attachment",
    "background-color": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-color",
    "background-image": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-image",
    "background-position": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-position",
    "background-repeat": "http://www.w3.org/TR/CSS2/colors.html#propdef-background-repeat",
    "background": "http://www.w3.org/TR/CSS2/colors.html#propdef-background",
    "border-collapse": "http://www.w3.org/TR/CSS2/tables.html#propdef-border-collapse",
    "border-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-color",
    "border-spacing": "http://www.w3.org/TR/CSS2/tables.html#propdef-border-spacing",
    "border-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-style",
    "border-top": "http://www.w3.org/TR/CSS2/box.html#propdef-border-top",
    "border-right": "http://www.w3.org/TR/CSS2/box.html#propdef-border-right",
    "border-bottom": "http://www.w3.org/TR/CSS2/box.html#propdef-border-bottom",
    "border-left": "http://www.w3.org/TR/CSS2/box.html#propdef-border-left",
    "border-top-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-top-color",
    "border-right-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-right-color",
    "border-bottom-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-bottom-color",
    "border-left-color": "http://www.w3.org/TR/CSS2/box.html#propdef-border-left-color",
    "border-top-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-top-style",
    "border-right-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-right-style",
    "border-bottom-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-bottom-style",
    "border-left-style": "http://www.w3.org/TR/CSS2/box.html#propdef-border-left-style",
    "border-top-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-top-width",
    "border-right-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-right-width",
    "border-bottom-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-bottom-width",
    "border-left-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-left-width",
    "border-width": "http://www.w3.org/TR/CSS2/box.html#propdef-border-width",
    "border": "http://www.w3.org/TR/CSS2/box.html#propdef-border",
    "bottom": "http://www.w3.org/TR/CSS2/visuren.html#propdef-bottom",
    "caption-side": "http://www.w3.org/TR/CSS2/tables.html#propdef-caption-side",
    "clear": "http://www.w3.org/TR/CSS2/visuren.html#propdef-clear",
    "clip": "http://www.w3.org/TR/CSS2/visufx.html#propdef-clip",
    "color": "http://www.w3.org/TR/CSS2/colors.html#propdef-color",
    "content": "http://www.w3.org/TR/CSS2/generate.html#propdef-content",
    "counter-increment": "http://www.w3.org/TR/CSS2/generate.html#propdef-counter-increment",
    "counter-reset": "http://www.w3.org/TR/CSS2/generate.html#propdef-counter-reset",
    "cue-after": "http://www.w3.org/TR/CSS2/aural.html#propdef-cue-after",
    "cue-before": "http://www.w3.org/TR/CSS2/aural.html#propdef-cue-before",
    "cue": "http://www.w3.org/TR/CSS2/aural.html#propdef-cue",
    "cursor": "http://www.w3.org/TR/CSS2/ui.html#propdef-cursor",
    "direction": "http://www.w3.org/TR/CSS2/visuren.html#propdef-direction",
    "display": "http://www.w3.org/TR/CSS2/visuren.html#propdef-display",
    "elevation": "http://www.w3.org/TR/CSS2/aural.html#propdef-elevation",
    "empty-cells": "http://www.w3.org/TR/CSS2/tables.html#propdef-empty-cells",
    "float": "http://www.w3.org/TR/CSS2/visuren.html#propdef-float",
    "font-family": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-family",
    "font-size": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-size",
    "font-style": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-style",
    "font-variant": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-variant",
    "font-weight": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font-weight",
    "font": "http://www.w3.org/TR/CSS2/fonts.html#propdef-font",
    "height": "http://www.w3.org/TR/CSS2/visudet.html#propdef-height",
    "left": "http://www.w3.org/TR/CSS2/visuren.html#propdef-left",
    "letter-spacing": "http://www.w3.org/TR/CSS2/text.html#propdef-letter-spacing",
    "line-height": "http://www.w3.org/TR/CSS2/visudet.html#propdef-line-height",
    "list-style-image": "http://www.w3.org/TR/CSS2/generate.html#propdef-list-style-image",
    "list-style-position": "http://www.w3.org/TR/CSS2/generate.html#propdef-list-style-position",
    "list-style-type": "http://www.w3.org/TR/CSS2/generate.html#propdef-list-style-type",
    "list-style": "http://www.w3.org/TR/CSS2/generate.html#propdef-list-style",
    "margin-right": "http://www.w3.org/TR/CSS2/box.html#propdef-margin-right",
    "margin-left": "http://www.w3.org/TR/CSS2/box.html#propdef-margin-left",
    "margin-top": "http://www.w3.org/TR/CSS2/box.html#propdef-margin-top",
    "margin-bottom": "http://www.w3.org/TR/CSS2/box.html#propdef-margin-bottom",
    "margin": "http://www.w3.org/TR/CSS2/box.html#propdef-margin",
    "max-height": "http://www.w3.org/TR/CSS2/visudet.html#propdef-max-height",
    "max-width": "http://www.w3.org/TR/CSS2/visudet.html#propdef-max-width",
    "min-height": "http://www.w3.org/TR/CSS2/visudet.html#propdef-min-height",
    "min-width": "http://www.w3.org/TR/CSS2/visudet.html#propdef-min-width",
    "orphans": "http://www.w3.org/TR/CSS2/page.html#propdef-orphans",
    "outline-color": "http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color",
    "outline-style": "http://www.w3.org/TR/CSS2/ui.html#propdef-outline-style",
    "outline-width": "http://www.w3.org/TR/CSS2/ui.html#propdef-outline-width",
    "outline": "http://www.w3.org/TR/CSS2/ui.html#propdef-outline",
    "overflow": "http://www.w3.org/TR/CSS2/visufx.html#propdef-overflow",
    "padding-top": "http://www.w3.org/TR/CSS2/box.html#propdef-padding-top",
    "padding-right": "http://www.w3.org/TR/CSS2/box.html#propdef-padding-right",
    "padding-bottom": "http://www.w3.org/TR/CSS2/box.html#propdef-padding-bottom",
    "padding-left": "http://www.w3.org/TR/CSS2/box.html#propdef-padding-left",
    "padding": "http://www.w3.org/TR/CSS2/box.html#propdef-padding",
    "page-break-after": "http://www.w3.org/TR/CSS2/page.html#propdef-page-break-after",
    "page-break-before": "http://www.w3.org/TR/CSS2/page.html#propdef-page-break-before",
    "page-break-inside": "http://www.w3.org/TR/CSS2/page.html#propdef-page-break-inside",
    "pause-after": "http://www.w3.org/TR/CSS2/aural.html#propdef-pause-after",
    "pause-before": "http://www.w3.org/TR/CSS2/aural.html#propdef-pause-before",
    "pause": "http://www.w3.org/TR/CSS2/aural.html#propdef-pause",
    "pitch-range": "http://www.w3.org/TR/CSS2/aural.html#propdef-pitch-range",
    "pitch": "http://www.w3.org/TR/CSS2/aural.html#propdef-pitch",
    "play-during": "http://www.w3.org/TR/CSS2/aural.html#propdef-play-during",
    "position": "http://www.w3.org/TR/CSS2/visuren.html#propdef-position",
    "quotes": "http://www.w3.org/TR/CSS2/generate.html#propdef-quotes",
    "richness": "http://www.w3.org/TR/CSS2/aural.html#propdef-richness",
    "right": "http://www.w3.org/TR/CSS2/visuren.html#propdef-right",
    "speak-header": "http://www.w3.org/TR/CSS2/aural.html#propdef-speak-header",
    "speak-numeral": "http://www.w3.org/TR/CSS2/aural.html#propdef-speak-numeral",
    "speak-punctuation": "http://www.w3.org/TR/CSS2/aural.html#propdef-speak-punctuation",
    "speak": "http://www.w3.org/TR/CSS2/aural.html#propdef-speak",
    "speech-rate": "http://www.w3.org/TR/CSS2/aural.html#propdef-speech-rate",
    "stress": "http://www.w3.org/TR/CSS2/aural.html#propdef-stress",
    "table-layout": "http://www.w3.org/TR/CSS2/tables.html#propdef-table-layout",
    "text-align": "http://www.w3.org/TR/CSS2/text.html#propdef-text-align",
    "text-decoration": "http://www.w3.org/TR/CSS2/text.html#propdef-text-decoration",
    "text-indent": "http://www.w3.org/TR/CSS2/text.html#propdef-text-indent",
    "text-transform": "http://www.w3.org/TR/CSS2/text.html#propdef-text-transform",
    "top": "http://www.w3.org/TR/CSS2/visuren.html#propdef-top",
    "unicode-bidi": "http://www.w3.org/TR/CSS2/visuren.html#propdef-unicode-bidi",
    "vertical-align": "http://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align",
    "visibility": "http://www.w3.org/TR/CSS2/visufx.html#propdef-visibility",
    "voice-family": "http://www.w3.org/TR/CSS2/aural.html#propdef-voice-family",
    "volume": "http://www.w3.org/TR/CSS2/aural.html#propdef-volume",
    "white-space": "http://www.w3.org/TR/CSS2/text.html#propdef-white-space",
    "widows": "http://www.w3.org/TR/CSS2/page.html#propdef-widows",
    "width": "http://www.w3.org/TR/CSS2/visudet.html#propdef-width",
    "word-spacing": "http://www.w3.org/TR/CSS2/text.html#propdef-word-spacing",
    "z-index": "http://www.w3.org/TR/CSS2/visuren.html#propdef-z-index"
  },
  "dom": {
    // DOM 0-3
    "HTMLDocument": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26809268",
    "Attr": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-637646024",
    "Text": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1312295772",
    "CDATASection": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-667469212",
    "Comment": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1728279322",
    "DocumentFragment": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-B63ED1A3",
    "NodeList": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177",
    "NamedNodeMap": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1780488922",
    "Event": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event",
    "HTMLHtmlElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-33759296",
    "HTMLHeadElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-77253168",
    "HTMLLinkElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-35143001",
    "HTMLTitleElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-79243169",
    "HTMLMetaElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-37041454",
    "HTMLBaseElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-73629039",
    "HTMLStyleElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-16428977",
    "HTMLBodyElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-62018039",
    "HTMLIsIndexElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-85283003",
    "HTMLFormElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-40002357",
    "HTMLSelectElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94282980",
    "HTMLOptGroupElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-38450247",
    "HTMLOptionElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-70901257",
    "HTMLInputElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-6043025",
    "HTMLTextAreaElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-24874179",
    "HTMLButtonElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-34812697",
    "HTMLLabelElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-13691394",
    "HTMLFieldSetElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-7365882",
    "HTMLLegendElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-21482039",
    "HTMLUListElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-86834457",
    "HTMLOListElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-58056027",
    "HTMLDListElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-52368974",
    "HTMLDirectoryElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-71600284",
    "HTMLMenuElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-72509186",
    "HTMLLIElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-74680021",
    "HTMLDivElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-22445964",
    "HTMLParagraphElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-84675076",
    "HTMLHeadingElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-43345119",
    "HTMLQuoteElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-70319763",
    "HTMLPreElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-11383425",
    "HTMLBRElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-56836063",
    "HTMLBaseFontElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-32774408",
    "HTMLFontElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-43943847",
    "HTMLHRElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-68228811",
    "HTMLModElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-79359609",
    "HTMLAnchorElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-48250443",
    "HTMLImageElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-17701901",
    "HTMLObjectElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-9893177",
    "HTMLParamElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-64077273",
    "HTMLAppletElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-31006348",
    "HTMLMapElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94109203",
    "HTMLAreaElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26019118",
    "HTMLScriptElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-81598695",
    "HTMLTableElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-64060425",
    "HTMLTableCaptionElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-12035137",
    "HTMLTableColElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-84150186",
    "HTMLTableSectionElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-67417573",
    "HTMLTableRowElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-6986576",
    "HTMLTableCellElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-82915075",
    "HTMLFrameSetElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-43829095",
    "HTMLFrameElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-97790553",
    "HTMLIFrameElement": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-50708718",
    "HTMLCollection": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-75708506",
    "HTMLOptionsCollection": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection",
    "DOMException": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187",
    "ExceptionCode": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF",
    "DOMImplementation": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490",
    "Document": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#i-Document",
    "Node": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1950641247",
    "CharacterData": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-FF21A306",
    "Element": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-745549614",
    "DocumentType": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-412266927",
    "Notation": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-5431D1B9",
    "Entity": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-527DCFF2",
    "EntityReference": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-11C98490",
    "ProcessingInstruction": "http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1004215813",
    "DocumentEvent": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-DocumentEvent",
    "EventTarget": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget",
    "EventListener": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventListener",
    "UIEvent": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-UIEvent",
    "MouseEvent": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-MouseEvent",
    "MutationEvent": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-MutationEvent",
    "StyleSheet": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet",
    "StyleSheetList": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList",
    "MediaList": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList",
    "LinkStyle": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle",
    "DocumentStyle": "http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle",
    "CSSStyleSheet": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSStyleSheet",
    "CSSRuleList": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSRuleList",
    "CSSRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSRule",
    "CSSStyleRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSStyleRule",
    "CSSMediaRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSMediaRule",
    "CSSFontFaceRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSFontFaceRule",
    "CSSPageRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSPageRule",
    "CSSImportRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSImportRule",
    "CSSCharsetRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSCharsetRule",
    "CSSUnknownRule": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSUnknownRule",
    "CSSStyleDeclaration": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSStyleDeclaration",
    "CSSValue": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSValue",
    "CSSPrimitiveValue": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSPrimitiveValue",
    "CSSValueList": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSSValueList",
    "RGBColor": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-RGBColor",
    "Rect": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-Rect",
    "Counter": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-Counter",
    "ViewCSS": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-ViewCSS",
    "DocumentCSS": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-DocumentCSS",
    "DOMImplementationCSS": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-DOMImplementationCSS",
    "ElementCSSInlineStyle": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-ElementCSSInlineStyle",
    "CSS2Properties": "http://www.w3.org/TR/DOM-Level-2-Style/css#CSS-CSS2Properties",
    "AbstractView": "http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView",
    "DocumentView": "http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-DocumentView",
    "NodeIterator": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator",
    "NodeFilter": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter",
    "TreeWalker": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker",
    "DocumentTraversal": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document",
    "Range": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-idl",
    "DocumentRange": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl",
    "RangeException": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException",
    "RangeExceptionCode": "http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode",
    "LSException": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSException",
    "LSExceptionCode": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSException-LSExceptionCode",
    "LS-DOMImplementation": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-DOMImplementation",
    "LSParser": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSParser",
    "LSInput": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSInput",
    "LSResourceResolver": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSResourceResolver",
    "LSParserFilter": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSParserFilter",
    "LSProgressEvent": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSProgressEvent",
    "LSLoadEvent": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSLoadEvent",
    "LSSerializer": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSSerializer",
    "LSOutput": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSOutput",
    "LSSerializerFilter": "http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-LSSerializerFilter",
    "ExceptionVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#ExceptionVAL",
    "ExceptionVAL-codes": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#ExceptionVAL-codes",
    "DocumentEditVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#VAL-Interfaces-DocumentEditVAL",
    "NodeEditVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#VAL-Interfaces-NodeEditVAL",
    "ElementEditVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#VAL-Interfaces-ElementEditVAL",
    "CharacterDataEditVAL": "http://www.w3.org/TR/DOM-Level-3-Val/validation.html#VAL-Interfaces-CharacterDataEditVAL",
    "XPathException": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException",
    "XPathExceptionCode": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExceptionCode",
    "XPathEvaluator": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator",
    "XPathExpression": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression",
    "XPathNSResolver": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver",
    "XPathResult": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult",
    "XPathNamespace": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace",
    "View": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-View",
    "Segment": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-Segment",
    "Match": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-Match",
    "MatchString": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchString",
    "MatchInteger": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchInteger",
    "MatchBoolean": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchBoolean",
    "MatchContent": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchContent",
    "MatchSet": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-MatchSet",
    "Item": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-Item",
    "StringItem": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-StringItem",
    "IntegerItem": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-IntegerItem",
    "BooleanItem": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-BooleanItem",
    "ContentItem": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#Views-ContentItem",
    "VisualView": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualView",
    "VisualResource": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualResource",
    "VisualFont": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualFont",
    "VisualSegment": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualSegment",
    "VisualCharacter": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualCharacter",
    "VisualCharacterRun": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualCharacterRun",
    "VisualFrame": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualFrame",
    "VisualImage": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualImage",
    "VisualFormButton": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualFormButton",
    "VisualFormField": "http://www.w3.org/TR/DOM-Level-3-Views/views-formatting.html#VisualFormField",
    "ASConstants": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASConstants",
    "ASObject": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASObject",
    "ASDataType": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASDataType-PrimitiveType",
    "ASObjectList": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASObjectList",
    "ASNamedObjectMap": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASNamedObjectMap",
    "ASModel": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASModel",
    "ASContentModel": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASContentModel",
    "ASElementDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASElementDecl",
    "ASAttributeDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASAttributeDecl",
    "ASEntityDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#Interface-ASEntityDecl",
    "AS-NotationDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-NotationDecl",
    "ASWModel": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASWModel",
    "ASWNamedObjectMap": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASWNamedObjectMap",
    "ASWElementDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASWElementDecl",
    "ASWContentModel": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASObjecType-ASWContentModel",
    "ASWAttributeDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASObjectType-AttributeDecl",
    "ASWEntityDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASObjectType-EntityDecl",
    "ASWNotationDecl": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-ASWNotationDecl",
    "ASException": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#ASException",
    "ASException-codes": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#ASException-codes",
    "DocumentAS": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-DocumentAS",
    "DomImplementationAS": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#AS-Interfaces-DomImplementationAS",
    "AS-Interfaces-ASDOMBuilde": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#LS-AS-Interfaces-ASDOMBuilder",
    "ASDOMWriter": "http://www.w3.org/TR/DOM-Level-3-AS/abstract-schemas.html#LS-AS-Interfaces-ASDOMWriter",

    // Element Traversal
    "firstElementChild": "http://www.w3.org/TR/ElementTraversal/#attribute-firstElementChild",
    "lastElementChild": "http://www.w3.org/TR/ElementTraversal/#attribute-lastElementChild",
    "previousElementSibling": "http://www.w3.org/TR/ElementTraversal/#attribute-previousElementSibling",
    "nextElementSibling": "http://www.w3.org/TR/ElementTraversal/#attribute-nextElementSibling",
    "childElementCount": "http://www.w3.org/TR/ElementTraversal/#attribute-childElementCount"
  }
};

{'fraction_non_alphanumeric': 0.2191639398764633, 'fraction_numerical': 0.0418205042957882, 'mean_word_length': 3.8800273247374264, 'pattern_counts': {'":': 624, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 620, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4408515', 'n_tokens_mistral': 24114, 'n_tokens_neox': 23258, 'n_words': 1395}