X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/9c5634fbc60d6e9dbb9f28d4cbbabd9822498646..96c3327c8c83e0c814b98216e6c73ca0f01abde6:/redakcja/static/js/wiki/xslt.js
diff --git a/redakcja/static/js/wiki/xslt.js b/redakcja/static/js/wiki/xslt.js
index daa18f65..cc71b289 100644
--- a/redakcja/static/js/wiki/xslt.js
+++ b/redakcja/static/js/wiki/xslt.js
@@ -17,7 +17,7 @@ function withStylesheets(code_block, onError)
if (!xml2htmlStylesheet) {
$.blockUI({message: 'Åadowanie arkuszy stylów...'});
$.ajax({
- url: STATIC_URL + 'xsl/wl2html_client.xsl?20101123',
+ url: STATIC_URL + 'xsl/wl2html_client.xsl?20110520',
dataType: 'xml',
timeout: 10000,
success: function(data) {
@@ -40,7 +40,7 @@ function withThemes(code_block, onError)
{
if (typeof withThemes.canon == 'undefined') {
$.ajax({
- url: '/themes',
+ url: '/editor/themes',
dataType: 'text',
success: function(data) {
withThemes.canon = data.split('\n');
@@ -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) {
@@ -85,7 +88,7 @@ function xml2html(options) {
source.text('');
options.error(error.text(), source_text);
} else {
- options.success(doc.firstChild);
+ options.success(doc.childNodes);
withThemes(function(canonThemes) {
if (canonThemes != null) {
@@ -253,8 +256,13 @@ HTMLSerializer.prototype.serialize = function(rootElement, stripOuter)
break;
case TEXT_NODE:
self.result += text_buffer;
- text_buffer = token.node.nodeValue;
+ text_buffer = token.node.nodeValue.replace(/&/g, '&').replace(/';
+ break;
};
};
self.result += text_buffer;
@@ -358,7 +366,7 @@ 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) +'"';
+ self.result += '="'+node.getAttribute('x-attr-value-'+this).replace(/&/g, '&').replace(/