fnp
/
redakcja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
exercises fix: count good and bad answers correctly
[redakcja.git]
/
redakcja
/
static
/
js
/
wiki
/
xslt.js
diff --git
a/redakcja/static/js/wiki/xslt.js
b/redakcja/static/js/wiki/xslt.js
index
4f562a2
..
a97322a
100644
(file)
--- 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) {
function xml2html(options) {
+ ALIEN_REGEX = /([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g;
+
withStylesheets(function() {
var xml = options.xml.replace(/\/(\s+)/g, '<br />$1');
withStylesheets(function() {
var xml = options.xml.replace(/\/(\s+)/g, '<br />$1');
- xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g, '<alien>$1</alien>');
+
//
xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g, '<alien>$1</alien>');
var parser = new DOMParser();
var serializer = new XMLSerializer();
var doc = parser.parseFromString(xml, 'text/xml');
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) {
var error = $('parsererror', doc);
if (error.length == 0) {
@@
-253,7
+256,7
@@
HTMLSerializer.prototype.serialize = function(rootElement, stripOuter)
break;
case TEXT_NODE:
self.result += text_buffer;
break;
case TEXT_NODE:
self.result += text_buffer;
- text_buffer = token.node.nodeValue;
+ text_buffer = token.node.nodeValue
.replace(/&/g, '&').replace(/</g, '<')
;
break;
case COMMENT_NODE:
self.result += text_buffer;
break;
case COMMENT_NODE:
self.result += text_buffer;
@@
-363,7
+366,9
@@
HTMLSerializer.prototype._serializeElement = function(node) {
};
self.result += ' ' + self._join(nsData.prefix, node.getAttribute('x-attr-name-'+this));
};
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(/</g, '<');
+ self.result += '="'+ value +'"';
});
/* print new namespace declarations */
});
/* print new namespace declarations */