define(['libs/jquery-1.9.1.min'], function($) {\r
\r
+ 'use strict';\r
+\r
var transformations = {};\r
\r
transformations.fromXML = {\r
for(var i = 0; i < this.attributes.length; i++) {\r
var attr = this.attributes.item(i);\r
var value = attr.name === 'class' ? attr.value.replace(/\./g, '-') : attr.value;\r
- toret.attr('wlxml-' + attr.name, value)\r
+ toret.attr('wlxml-' + attr.name, value);\r
}\r
toret.append(currentTag.contents());\r
return toret;\r
});\r
});\r
- }\r
+ };\r
\r
transform(toBlock, 'div');\r
transform(toInline, 'span');\r
\r
+ toret.find(":not(iframe)").addBack().contents().filter(function() {\r
+ return this.nodeType == 3;} ).each(function() {\r
+ var n = $(this); \r
+ var hasText = /\S/g.test(n.text());\r
+ if(!hasText) {\r
+ n.remove();\r
+ return;\r
+ }\r
+ var startSpace = /\s/g.test(n.text().substr(0,1));\r
+ var endSpace = /\s/g.test(n.text().substr(-1)) && n.text().length > 1;\r
+ var trimmed = $.trim(n.text());\r
+ n.get(0).data = (startSpace ? ' ' : '') + trimmed + (endSpace ? ' ' : '');\r
+ });\r
+ \r
return toret.children();\r
},\r
getMetaData: function(xml) {\r
$(xml).find('metadata').children().each(function() {\r
var node = $(this);\r
toret[this.nodeName.split(':')[1].toLowerCase()] = node.text();\r
- })\r
+ });\r
return toret;\r
},\r
getDocumentDescription: function(xml) {\r
return {\r
HTMLTree: this.getHTMLTree(xml),\r
metadata: this.getMetaData(xml)\r
- }\r
+ };\r
}\r
- }\r
+ };\r
\r
transformations.toXML = {\r
getXML: function(body) {\r
\r
- var inner = $(body);\r
+ var inner = body.clone();\r
var toret = $('<div></div>');\r
toret.append(inner);\r
\r
\r
for(var i = 0; i < this.attributes.length; i++) {\r
var attr = this.attributes.item(i);\r
- var split = attr.name.split('-')\r
+ var split = attr.name.split('-');\r
console.log(split);\r
if(split[0] !== 'wlxml' || (split.length > 1 && split[1] === 'tag')) \r
continue;\r
var wlxmlName = split.splice(1).join('-');\r
var value = wlxmlName === 'class' ? attr.value.replace(/-/g, '.') : attr.value;\r
console.log(name + ': ' + value);\r
- toret.attr(wlxmlName, value);\r
+ if(value.length && value.length > 0)\r
+ toret.attr(wlxmlName, value);\r
}\r
\r
toret.append(div.contents());\r
\r
return vkbeautify.xml(toret.html());\r
}\r
- }\r
+ };\r
\r
return transformations;\r
\r