X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/ce8d791a5298e0cb2569034aec4c8b57afac97b2..f491d5388cd920a2500b1d5415c63fd8c08c29c3:/redakcja/static/js/wiki/xslt.js diff --git a/redakcja/static/js/wiki/xslt.js b/redakcja/static/js/wiki/xslt.js index 1327fc6c..a97322a5 100644 --- a/redakcja/static/js/wiki/xslt.js +++ b/redakcja/static/js/wiki/xslt.js @@ -59,12 +59,15 @@ function withThemes(code_block, onError) function xml2html(options) { + ALIEN_REGEX = /([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g; + withStylesheets(function() { var xml = options.xml.replace(/\/(\s+)/g, '
$1'); - xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g, '$1'); +// xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g, '$1'); var parser = new DOMParser(); var serializer = new XMLSerializer(); var doc = parser.parseFromString(xml, 'text/xml'); + walk(doc.firstChild, wrapInTag(ALIEN_REGEX, 'alien')) var error = $('parsererror', doc); if (error.length == 0) { @@ -363,7 +366,9 @@ HTMLSerializer.prototype._serializeElement = function(node) { }; self.result += ' ' + self._join(nsData.prefix, node.getAttribute('x-attr-name-'+this)); - self.result += '="'+node.getAttribute('x-attr-value-'+this) +'"'; + var value = node.getAttribute('x-attr-value-'+this); + value = value.replace(/&/g, '&').replace(/