I'm trying to apply the OS QML (Full Colour) styles to OS Vector Map District shapefiles in QGIS 2.18.0 . Mostly, it works OK sometimes but I am having problems styling the roads.
Roads are styled using a number of different layers as shown in the guidance image provided by OS.
Some road layers are styled by categories ('Fill' layers) and some layers (the 'Casing' layers) are styled using rules. Initially, none of the road layers display, and I believe this is because the qml file is based on an attribute called 'featureCode' and the equivalent map attribute is called 'FEATCODE'.
For the categorised layers this is easily fixed by selecting the 'FEATCODE' as the column in the Layer Styling tab. But this is not easily fixed for rule-based styling.
I have looked at a number of ways to rectify this:
Edit the map attribute table name to match the qml file (but this is not allowed as 'featureCode' is too long to be an attribute name)
Edit the rules once applied in QGIS, changing 'featureCode' to
'FEATCODE' in the Layer styling tab for each occurence in each rule (this is time-consuming and has to be repeated for each rule and for each layer)- Edit the qml file, changing 'featureCode' to 'FEATCODE' (I have confirmed this works but again is a bit time consuming).
My question is, am I missing some obvious way of mapping the qml attribute name to the shapefile attribute name without having to do lots of editing? This seems a pretty fundamental problem with these files (I downloaded both shapefile and QML file at the same time and have double checked they are for the same data set - Vector Map District) - unless I have overlooked something. The same issue is likely to affect a number of the other layers as well.