"use strict"; function xml(hljs) { var XML_IDENT_RE = "[A-Za-z0-9\\._:-]+"; var XML_ENTITIES = { className: "symbol", begin: "&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;" }; var XML_META_KEYWORDS = { begin: "\\s", contains: [ { className: "meta-keyword", begin: "#?[a-z_][a-z1-9_-]+", illegal: "\\n" } ] }; var XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, { begin: "\\(", end: "\\)" }); var APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: "meta-string" }); var QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: "meta-string" }); var TAG_INTERNALS = { endsWithParent: true, illegal: /`]+/ } ] } ] } ] }; return { aliases: ["html", "xhtml", "rss", "atom", "xjb", "xsd", "xsl", "plist", "wsf", "svg"], case_insensitive: true, contains: [ { className: "meta", begin: "", relevance: 10, contains: [ XML_META_KEYWORDS, QUOTE_META_STRING_MODE, APOS_META_STRING_MODE, XML_META_PAR_KEYWORDS, { begin: "\\[", end: "\\]", contains: [ { className: "meta", begin: "", contains: [ XML_META_KEYWORDS, XML_META_PAR_KEYWORDS, QUOTE_META_STRING_MODE, APOS_META_STRING_MODE ] } ] } ] }, hljs.COMMENT( "", { relevance: 10 } ), { begin: "<\\!\\[CDATA\\[", end: "\\]\\]>", relevance: 10 }, XML_ENTITIES, { className: "meta", begin: /<\?xml/, end: /\?>/, relevance: 10 }, { begin: /<\?(php)?/, end: /\?>/, subLanguage: "php", contains: [ // We don't want the php closing tag ?> to close the PHP block when // inside any of the following blocks: { begin: "/\\*", end: "\\*/", skip: true }, { begin: 'b"', end: '"', skip: true }, { begin: "b'", end: "'", skip: true }, hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, className: null, contains: null, skip: true }), hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null, className: null, contains: null, skip: true }) ] }, { className: "tag", /* The lookahead pattern (?=...) ensures that 'begin' only matches ')", end: ">", keywords: { name: "style" }, contains: [TAG_INTERNALS], starts: { end: "", returnEnd: true, subLanguage: ["css", "xml"] } }, { className: "tag", // See the comment in the