Where I can find qml specification which is used for store symbology information in QGIS? Try to googe it - no result.
There's nothing complicated about qml files, there just simple plain text XML files.
If you load one into notepad you'll see the layout is fairly straight forward.
You have a
tag that lists the version that created it among other things
Within this tag you have a
tag that holds transparency level info, a
tag which appears to be instructions to the QGis rendering engine on how to draw the styles, and then within that renderer you have layer specific style information.
In my case because I saved some styles used for a categorised data set, I have a
tag listing individual
tags that describe each category, and a
tag that includes a collection of
tags describing each symbol in the style set.
Further down it looks like there are entries for the layers name, label visibility, editing types and column names for the attributes in a layer.
It's all very straight forward to read, you just need to know how to pull apart the XML in the language you've chosen to use to manipulate them.
There's even a DTD address listed in the file, so loading the file into a DTD aware editor such as oxygeneXML should only allow you to enter legal tags in a legal order, however when I tried to access the DTD the web address was not found so you may want to check that one out further.
I was interested also in this specification, especially to understand what was the purpose of the last parameter for color and color_border. RGB and ??
Edit I found it, the last parameter stands for "Alpha". http://en.wikipedia.org/wiki/RGBA_color_space