xmlformat bugs Ruby version is slower than the Perl version, a difference that shows up particularly for larger documents. I haven't done any profiling to determine which parts of the program account for the differences. ---------- Within normalized elements, the line-wrapping algorithm preserves inline tags, but it doesn't take any internal line-breaks within those tags into account in its line-length calculations. Consider this element: This is text with an inline element in the middle. The opening tag is considered to have a length equal to its total number of characters. The line-wrapping algorithm could be made more complex to take the line-breaks into account. I haven't bothered, and may never bother. If such a change is made, no indenting should be applied that would change the attribute value. ---------- Line-wrapping length calculations don't take into account the possibility that text from a different element may occur on the same line if break values are set to zero. For example, with a wrap-length of 15, you could end up with output like this: This is a line of text.This is a line of text. The middle line has more than 15 characters of text. This also shows that wrap-length doesn't take into account the length of tags of enclosing blocks on the same line, which can also be considered a bug. Fix: Set all your break values > 0. ---------- Normalization converts runs of spaces to single spaces. This means that if you write two spaces after periods in text, normalization will convert them to single spaces. Even if normalization didn't do that, the two spaces would be lost if line-wrapping is enabled and they occur at a line break. I don't know if this is really a bug, but it's something to be aware of. ---------- Doesn't recognize multi-byte files. In some cases, you can work around this. For example, an editor might save a file as Unicode even when the document contains only ASCII characters. Re-save the file as an ASCII file (or some single-byte encoding such as ISO-8859-1) and it should work.