  PR.registerLangHandler(
      PR.createSimpleLexer(
          [],
          [
           [PR.PR_PLAIN,       /^[^<?]+/],
           [PR.PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
           [PR.PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
           // Unescaped content in an unknown language
           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
           [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
           // Unescaped content in javascript.  (Or possibly vbscript).
           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
           // Contains unescaped stylesheet content
           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
           ['lang-in.ptag', /^(<\/?pop:[a-z][^<>]*>)/i],
           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
          ]),
      ['genesis']);

  PR.registerLangHandler(
      PR.createSimpleLexer(
          [
           [PR.PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
           ['patv', /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
           ],
          [
           ['ptag',          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
           ['patn',  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
           [PR.PR_PUNCTUATION,  /^[=<>\/]+/],
           ]),
      ['in.ptag']);


