Cannons look fairly simple, here's example (ntw-models_naval_dir/ship-hms_elephant.xml):
<cannons>
<cannon a="2" b="3" type="cannon_stern" x1="-1.647" x2="-1.65" y1="3.207" y2="3.207" z1="-1.647" z2="-1.65"/>
<cannon a="1" b="3" type="cannon_stern" x1="1.569" x2="1.566" y1="3.223" y2="3.223" z1="1.569" z2="1.566"/>
<cannon a="2" b="1" type="cannon_bow" x1="-1.752" x2="-1.749" y1="6.675" y2="6.675" z1="-1.752" z2="-1.749"/>
<cannon a="71" b="1" type="cannon" x1="-3.416" x2="-3.786" y1="6.487" y2="6.487" z1="-3.416" z2="-3.786"/>
<cannon a="70" b="1" type="cannon" x1="-3.815" x2="-4.185" y1="6.417" y2="6.417" z1="-3.815" z2="-4.185"/>
<cannon a="69" b="0" type="cannon" x1="-2.785" x2="-3.155" y1="9.051" y2="9.051" z1="-2.785" z2="-3.155"/>
<cannon a="68" b="0" type="cannon" x1="-2.578" x2="-2.949" y1="9.17" y2="9.17" z1="-2.578" z2="-2.949"/>
<cannon a="67" b="1" type="cannon" x1="3.458" x2="3.828" y1="6.495" y2="6.495" z1="3.458" z2="3.828"/>
<cannon a="66" b="0" type="cannon" x1="2.583" x2="2.953" y1="9.178" y2="9.178" z1="2.583" z2="2.953"/>
<cannon a="65" b="0" type="cannon" x1="2.806" x2="3.176" y1="9.035" y2="9.035" z1="2.806" z2="3.176"/>
<cannon a="64" b="1" type="cannon" x1="3.808" x2="4.178" y1="6.389" y2="6.389" z1="3.808" z2="4.178"/>
<cannon a="63" b="1" type="cannon" x1="3.405" x2="3.775" y1="6.555" y2="6.555" z1="3.405" z2="3.775"/>
<cannon a="62" b="1" type="cannon" x1="3.581" x2="3.951" y1="6.447" y2="6.447" z1="3.581" z2="3.951"/>
<cannon a="61" b="1" type="cannon" x1="3.755" x2="4.125" y1="6.349" y2="6.349" z1="3.755" z2="4.125"/>
<cannon a="60" b="1" type="cannon" x1="-3.147" x2="-3.517" y1="6.547" y2="6.547" z1="-3.147" z2="-3.517"/>
<cannon a="59" b="1" type="cannon" x1="-3.319" x2="-3.689" y1="6.437" y2="6.437" z1="-3.319" z2="-3.689"/>
<cannon a="58" b="1" type="cannon" x1="-3.505" x2="-3.876" y1="6.35" y2="6.35" z1="-3.505" z2="-3.876"/>
<cannon a="1" b="1" type="cannon_bow" x1="1.745" x2="1.748" y1="6.675" y2="6.675" z1="1.745" z2="1.748"/>
<cannon a="56" b="3" type="cannon" x1="-3.859" x2="-4.229" y1="2.395" y2="2.395" z1="-3.859" z2="-4.229"/>
<cannon a="55" b="3" type="cannon" x1="-4.264" x2="-4.634" y1="2.259" y2="2.259" z1="-4.264" z2="-4.634"/>
<cannon a="54" b="3" type="cannon" x1="-4.568" x2="-4.938" y1="2.121" y2="2.121" z1="-4.568" z2="-4.938"/>
<cannon a="53" b="3" type="cannon" x1="-4.773" x2="-5.143" y1="2.069" y2="2.069" z1="-4.773" z2="-5.143"/>
<cannon a="52" b="3" type="cannon" x1="-4.902" x2="-5.272" y1="2.066" y2="2.066" z1="-4.902" z2="-5.272"/>
<cannon a="51" b="3" type="cannon" x1="-4.935" x2="-5.305" y1="2.068" y2="2.068" z1="-4.935" z2="-5.305"/>
<cannon a="50" b="3" type="cannon" x1="-4.905" x2="-5.275" y1="2.077" y2="2.077" z1="-4.905" z2="-5.275"/>
<cannon a="49" b="3" type="cannon" x1="-4.805" x2="-5.175" y1="2.15" y2="2.15" z1="-4.805" z2="-5.175"/>
<cannon a="48" b="3" type="cannon" x1="-4.67" x2="-5.041" y1="2.212" y2="2.212" z1="-4.67" z2="-5.041"/>
<cannon a="47" b="3" type="cannon" x1="-4.531" x2="-4.901" y1="2.31" y2="2.31" z1="-4.531" z2="-4.901"/>
<cannon a="46" b="3" type="cannon" x1="-4.323" x2="-4.694" y1="2.485" y2="2.485" z1="-4.323" z2="-4.694"/>
<cannon a="45" b="3" type="cannon" x1="-4.194" x2="-4.564" y1="2.622" y2="2.622" z1="-4.194" z2="-4.564"/>
<cannon a="44" b="3" type="cannon" x1="-3.831" x2="-4.201" y1="2.857" y2="2.857" z1="-3.831" z2="-4.201"/>
<cannon a="43" b="3" type="cannon" x1="-3.36" x2="-3.73" y1="3.111" y2="3.111" z1="-3.36" z2="-3.73"/>
<cannon a="42" b="2" type="cannon" x1="-3.212" x2="-3.582" y1="4.967" y2="4.967" z1="-3.212" z2="-3.582"/>
<cannon a="41" b="2" type="cannon" x1="-3.681" x2="-4.051" y1="4.757" y2="4.757" z1="-3.681" z2="-4.051"/>
<cannon a="40" b="2" type="cannon" x1="-3.56" x2="-3.93" y1="4.533" y2="4.533" z1="-3.56" z2="-3.93"/>
<cannon a="39" b="2" type="cannon" x1="-3.712" x2="-4.082" y1="4.352" y2="4.352" z1="-3.712" z2="-4.082"/>
<cannon a="38" b="2" type="cannon" x1="-3.813" x2="-4.183" y1="4.225" y2="4.225" z1="-3.813" z2="-4.183"/>
<cannon a="37" b="2" type="cannon" x1="-3.863" x2="-4.233" y1="4.12" y2="4.12" z1="-3.863" z2="-4.233"/>
<cannon a="36" b="2" type="cannon" x1="-4.039" x2="-4.409" y1="4.045" y2="4.045" z1="-4.039" z2="-4.409"/>
<cannon a="35" b="2" type="cannon" x1="-4.041" x2="-4.411" y1="4.014" y2="4.014" z1="-4.041" z2="-4.411"/>
<cannon a="34" b="2" type="cannon" x1="-4.022" x2="-4.392" y1="3.997" y2="3.997" z1="-4.022" z2="-4.392"/>
<cannon a="33" b="2" type="cannon" x1="-3.994" x2="-4.365" y1="3.997" y2="3.997" z1="-3.994" z2="-4.365"/>
<cannon a="32" b="2" type="cannon" x1="-3.904" x2="-4.274" y1="4.047" y2="4.047" z1="-3.904" z2="-4.274"/>
<cannon a="31" b="2" type="cannon" x1="-3.722" x2="-4.092" y1="4.136" y2="4.136" z1="-3.722" z2="-4.092"/>
<cannon a="30" b="2" type="cannon" x1="-3.535" x2="-3.905" y1="4.241" y2="4.241" z1="-3.535" z2="-3.905"/>
<cannon a="29" b="2" type="cannon" x1="-3.3" x2="-3.67" y1="4.425" y2="4.425" z1="-3.3" z2="-3.67"/>
<cannon a="28" b="3" type="cannon" x1="3.862" x2="4.232" y1="2.406" y2="2.406" z1="3.862" z2="4.232"/>
<cannon a="27" b="3" type="cannon" x1="4.254" x2="4.624" y1="2.282" y2="2.282" z1="4.254" z2="4.624"/>
<cannon a="26" b="3" type="cannon" x1="4.583" x2="4.953" y1="2.16" y2="2.16" z1="4.583" z2="4.953"/>
<cannon a="25" b="3" type="cannon" x1="4.742" x2="5.112" y1="2.092" y2="2.092" z1="4.742" z2="5.112"/>
<cannon a="24" b="3" type="cannon" x1="4.901" x2="5.271" y1="2.084" y2="2.084" z1="4.901" z2="5.271"/>
<cannon a="23" b="3" type="cannon" x1="4.902" x2="5.272" y1="2.072" y2="2.072" z1="4.902" z2="5.272"/>
<cannon a="22" b="3" type="cannon" x1="4.899" x2="5.27" y1="2.084" y2="2.084" z1="4.899" z2="5.27"/>
<cannon a="21" b="3" type="cannon" x1="4.794" x2="5.164" y1="2.151" y2="2.151" z1="4.794" z2="5.164"/>
<cannon a="20" b="3" type="cannon" x1="4.548" x2="4.918" y1="2.222" y2="2.222" z1="4.548" z2="4.918"/>
<cannon a="19" b="3" type="cannon" x1="4.44" x2="4.81" y1="2.308" y2="2.308" z1="4.44" z2="4.81"/>
<cannon a="18" b="3" type="cannon" x1="4.341" x2="4.711" y1="2.446" y2="2.446" z1="4.341" z2="4.711"/>
<cannon a="17" b="3" type="cannon" x1="4.106" x2="4.476" y1="2.591" y2="2.591" z1="4.106" z2="4.476"/>
<cannon a="16" b="3" type="cannon" x1="3.826" x2="4.196" y1="2.861" y2="2.861" z1="3.826" z2="4.196"/>
<cannon a="15" b="3" type="cannon" x1="3.384" x2="3.755" y1="3.148" y2="3.148" z1="3.384" z2="3.755"/>
<cannon a="14" b="2" type="cannon" x1="3.082" x2="3.452" y1="4.957" y2="4.957" z1="3.082" z2="3.452"/>
<cannon a="13" b="2" type="cannon" x1="3.408" x2="3.778" y1="4.671" y2="4.671" z1="3.408" z2="3.778"/>
<cannon a="12" b="2" type="cannon" x1="3.57" x2="3.941" y1="4.512" y2="4.512" z1="3.57" z2="3.941"/>
<cannon a="11" b="2" type="cannon" x1="3.701" x2="4.071" y1="4.368" y2="4.368" z1="3.701" z2="4.071"/>
<cannon a="10" b="2" type="cannon" x1="3.825" x2="4.195" y1="4.237" y2="4.237" z1="3.825" z2="4.195"/>
<cannon a="9" b="2" type="cannon" x1="3.893" x2="4.263" y1="4.123" y2="4.123" z1="3.893" z2="4.263"/>
<cannon a="8" b="2" type="cannon" x1="3.995" x2="4.365" y1="4.058" y2="4.058" z1="3.995" z2="4.365"/>
<cannon a="7" b="2" type="cannon" x1="4.063" x2="4.434" y1="4.015" y2="4.015" z1="4.063" z2="4.434"/>
<cannon a="6" b="2" type="cannon" x1="4.045" x2="4.415" y1="3.989" y2="3.989" z1="4.045" z2="4.415"/>
<cannon a="5" b="2" type="cannon" x1="4.012" x2="4.382" y1="3.996" y2="3.996" z1="4.012" z2="4.382"/>
<cannon a="4" b="2" type="cannon" x1="3.937" x2="4.307" y1="4.033" y2="4.033" z1="3.937" z2="4.307"/>
<cannon a="3" b="2" type="cannon" x1="3.736" x2="4.106" y1="4.131" y2="4.131" z1="3.736" z2="4.106"/>
<cannon a="2" b="2" type="cannon" x1="3.566" x2="3.936" y1="4.224" y2="4.224" z1="3.566" z2="3.936"/>
<cannon a="1" b="2" type="cannon" x1="3.297" x2="3.667" y1="4.393" y2="4.393" z1="3.297" z2="3.667"/>
</cannons>
Not sure what those two numbers mean (gun id, gun group id?), and what two vectors represent, but that's probably simple to figure out.
(a lot more examples in XMLs attached to another post)