SyntaxHighlighter
http://alexgorbatchev.com/SyntaxHighlighter

SyntaxHighlighter is donationware. If you are using it, please donate.
http://alexgorbatchev.com/SyntaxHighlighter/donate.html

@version
3.0.83 (July 02 2010)

@copyright
Copyright (C) 2004-2010 Alex Gorbatchev.

@license
Dual licensed under the MIT and GPL licenses.

;(function() {

// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;

function Brush()
{
        function process(match, regexInfo)
        {
                var constructor = SyntaxHighlighter.Match,
                        code = match[0],
                        tag = new XRegExp('(&lt;|<)[\\s\\/\\?]*(?<name>[:\\w-\\.]+)', 'xg').exec(code),
                        result = []
                        ;

                if (match.attributes != null) 
                {
                        var attributes,
                                regex = new XRegExp('(?<name> [\\w:\\-\\.]+)' +
                                                                        '\\s*=\\s*' +
                                                                        '(?<value> ".*?"|\'.*?\'|\\w+)',
                                                                        'xg');

                        while ((attributes = regex.exec(code)) != null) 
                        {
                                result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
                                result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
                        }
                }

                if (tag != null)
                        result.push(
                                new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
                        );

                return result;
        }

        this.regexList = [
                { regex: new XRegExp('(\\&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\&gt;|>)', 'gm'),                   css: 'color2' },        // <![ ... [ ... ]]>
                { regex: SyntaxHighlighter.regexLib.xmlComments,                                                                                                css: 'comments' },      // <!-- ... -->
                { regex: new XRegExp('(&lt;|<)[\\s\\/\\?]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(&gt;|>)', 'sg'), func: process }
        ];
};

Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases   = ['xml', 'xhtml', 'xslt', 'html'];

SyntaxHighlighter.brushes.Xml = Brush;

// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;

})();