I knew that I am not the 1st one who make requests and maybe the parse-able output is not an urgent issue for developing team.
But I'd like to make a wish again.

For people like me who are utilizing the smartmontools to do kinds of automation with S.M.A.R.T.
The parse-able output would be quite a great help.
It may not necessary to be as verbose as XML, but at least, a consistent guidelines for output is good enough.
For example, the output of "-l selftest", if there is no testing in progress, the output format is easy to parse,
because that we can roughly "see" the boundary of each columns. Well, if the self-test is going,
the output value "Self-test routine in progress"  breaks the boundary into next column ("Remaining").
It's easy to be recognized by human beings, but the in-consistent behavior makes the parser suffering.
Sure, it can be treated as a special case and been successfully parsed since it is a already known situation.
The problem is that the parsing could easily to be broken because lack of the consensus between the developing team and the parser authors like us.
A predictable behavior is a stable foundation for 3-rd party to get involved and that also benefits the distribution of smartmontools,
although, the smartmontools is already unique and overwhelming in this area. Guys, thanks for your efforts, you have done a great job.

Thanks for listening.