34 lines
739 B
CoffeeScript
34 lines
739 B
CoffeeScript
window.formatXml = (xml) ->
|
|
formatted = ''
|
|
reg = /(>)(<)(\/*)/g
|
|
xml = xml.replace(reg, '$1\r\n$2$3')
|
|
pad = 0
|
|
jQuery.each xml.split('\r\n'), (index, node) ->
|
|
indent = 0
|
|
if node.match(/.+<\/\w[^>]*>$/)
|
|
indent = 0
|
|
else if node.match(/^<\/\w/)
|
|
if pad != 0
|
|
pad -= 1
|
|
else if node.match(/^<\w[^>]*[^\/]>.*$/)
|
|
indent = 1
|
|
else
|
|
indent = 0
|
|
padding = ''
|
|
i = 0
|
|
while i < pad
|
|
padding += ' '
|
|
i++
|
|
formatted += padding + node + '\r\n'
|
|
pad += indent
|
|
return
|
|
formatted
|
|
window.squashXml = (xml)->
|
|
result = xml
|
|
.trim()
|
|
.replace(/^\s+/g, '')
|
|
.replace(/\s+$/g, '')
|
|
.replace(/>(?:\r\n|\r|\n)/g, '')
|
|
.replace(/(?:\r\n|\r|\n)/g, ' ')
|
|
result
|