define(['libs/jquery-1.9.1.min'], function($) {\r
\r
+ 'use strict';\r
+\r
var transformations = {};\r
\r
transformations.fromXML = {\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
}\r
\r
transformations.toXML = {\r
- getXML: function(documentDescription) {\r
+ getXML: function(body) {\r
\r
- var inner = $(documentDescription.HTMLTree);\r
+ var inner = body.clone();\r
var toret = $('<div></div>');\r
toret.append(inner);\r
\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
return toret;\r
});\r
- \r
- var meta = $('<metadata></metadata>\n');\r
- _.each(_.keys(documentDescription.metadata), function(key) {\r
- meta.append('\n\t<dc:'+key+'>' + documentDescription.metadata[key] + '</dc:'+key+'>');\r
- });\r
- meta.append('\n');\r
- \r
- var metadata = toret.find('metadata');\r
- if(metadata.length === 0) {\r
- var section = toret.find('section');\r
- section = section.length ? $(section[0]) : null;\r
- if(section) {\r
- section.prepend(meta)\r
- }\r
- } else {\r
- metadata.replaceWith(meta);\r
- }\r
- \r
- \r
+\r
return vkbeautify.xml(toret.html());\r
}\r
}\r