| #!/bin/bash | |
| # This script is a filter processing XML files. | |
| # | |
| # Processing is as follows: | |
| # | |
| # - get rid of DOS line ends; | |
| # - place each opening tag on a separate line, with no leading spaces and the | |
| # first attribute definition following the tag name; | |
| # - place each attribute definition on a separate line, starting with a space; | |
| # | |
| # usage: | |
| # xml_converter.sh '<unformatted-xml-file>' > '<formatted-xml-file>' | |
| # | |
| cat $1 | sed 's/></>\n</g; | |
| s/\r$//; | |
| s/^[\t ]\+//; | |
| s/" /"\n /g; | |
| s/^/ /; | |
| s/^ </</; | |
| /^\s*$/d;' |