X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/ae9eecda5561b99cd51b1f3709e3cdc803ba47eb..3e95e430709cd4f5bd86a92887659c1b95ef4283:/platforma/static/js/xslt.js?ds=inline diff --git a/platforma/static/js/xslt.js b/platforma/static/js/xslt.js index 7397d349..95cc5fc5 100644 --- a/platforma/static/js/xslt.js +++ b/platforma/static/js/xslt.js @@ -34,8 +34,9 @@ var MARGIN = { MARGIN['rdf:RDF'] = 3; MARGIN['rdf:Description'] = 2; +var blockTags = ['akap', 'akap_cd', 'akap_dialog', 'strofa', 'didaskalia', 'wers', 'wers_cd', 'wers_akap', 'wers_wciety', 'autor_utworu', 'nazwa_utworu', 'dzielo_nadrzedne', 'podpis']; function elementType(element) { - if ($.inArray(element.tagName, ['akap', 'akap_cd', 'akap_dialog', 'strofa', 'didaskalia', 'wers', 'wers_cd', 'wers_akap', 'wers_wciety', 'autor_utworu', 'nazwa_utworu', 'dzielo_nadrzedne', 'podpis'])) { + if (blockTags.indexOf(element.tagName) != -1) { return 'inline'; } else { return 'block'; @@ -132,12 +133,12 @@ function withStylesheets(block, onError) { } $.blockUI({message: 'Ładowanie arkuszy stylów...'}); $.ajax({ - url: '/static/xsl/wl2html_client.xsl', + url: STATIC_URL + 'xsl/wl2html_client.xsl', dataType: 'xml', success: function(data) { xml2htmlStylesheet = createXSLT(data); $.ajax({ - url: '/static/xsl/html2wl_client.xsl', + url: STATIC_URL + 'xsl/html2wl_client.xsl', dataType: 'xml', success: function(data) { html2xmlStylesheet = createXSLT(data); @@ -170,7 +171,7 @@ function xml2html(options) { } else { options.success(doc.firstChild); } - }, function() { options.error && options.success('Nie udało się załadować XSLT'); }); + }, function() { options.error && options.error('Nie udało się załadować XSLT'); }); } @@ -181,19 +182,25 @@ function html2xml(options) { var serializer = new XMLSerializer(); var doc = parser.parseFromString(xml, 'text/xml'); var error = $('parsererror', doc.documentElement); - + if (error.length == 0) { - doc = html2xmlStylesheet.transformToDocument(doc, document); + doc = html2xmlStylesheet.transformToDocument(doc); error = $('parsererror', doc.documentElement); } if (error.length > 0 && options.error) { options.error(error.text()); - console.log(error); - $('#source-editor').html('

Wystąpił błąd:

' + error.text()); } else { - options.success(serialize(doc.documentElement).join('')); + if (options.inner) { + var result = []; + for (var i = 0; i < doc.documentElement.childNodes.length; i++) { + result.push(serialize(doc.documentElement.childNodes[i]).join('')); + }; + options.success(result.join('')); + } else { + options.success(serialize(doc.documentElement).join('')); + } } - }, function() { options.error && options.success('Nie udało się załadować XSLT'); }); + }, function() { options.error && options.error('Nie udało się załadować XSLT'); }); };