Oznaczanie na żółto nieznanych tagów w HTML (wcześniej po prostu znikały).
[redakcja.git] / platforma / static / js / xslt.js
index f6ddb87..95cc5fc 100644 (file)
@@ -34,8 +34,9 @@ var MARGIN = {
 MARGIN['rdf:RDF'] = 3;
 MARGIN['rdf:Description'] = 2;
 
 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) {
 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';
         return 'inline';
     } else {
         return 'block';
@@ -181,16 +182,24 @@ function html2xml(options) {
         var serializer = new XMLSerializer();
         var doc = parser.parseFromString(xml, 'text/xml');
         var error = $('parsererror', doc.documentElement);
         var serializer = new XMLSerializer();
         var doc = parser.parseFromString(xml, 'text/xml');
         var error = $('parsererror', doc.documentElement);
-        
+
         if (error.length == 0) {
         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());
         } else {
             error = $('parsererror', doc.documentElement);
         }
         
         if (error.length > 0 && options.error) {
             options.error(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.error('Nie udało się załadować XSLT'); });
 };
         }
     }, function() { options.error && options.error('Nie udało się załadować XSLT'); });
 };