The SLDs were originally created for our own use in GeoServer which supports several vendor specific options that we use for our OS OnDemand Web Services, so there are some edits that you need to manually make to the SLDs for them to work in QGIS.
The first is that in the SLDs we top and tail each rule with the
<FeatureTypeStyle>
</FeatureTypeStyle>
QGIS will only read this first one so what you need to do is find all instances of these and delete them and then add back in one at the top and then one at the bottom of the SLDs.
This should enable QGIS to understand the Areas, Lines, Points, RoadCline and Text SLDs.
However to make the text work I would advise the following
The following is a guide for post processing OS VectorMap Local so that it can be rendered within QGIS.
Firstly, we need to create a new anchor column which tells QGIS which position to locate the text.
ALTER TABLE vml_text ADD COLUMN anchor VARCHAR;
COMMIT;
update vml_text set anchor = 'Below Left' where anchorposition = 0;
update vml_text set anchor = 'Left' where anchorposition = 1;
update vml_text set anchor = 'Above Left' where anchorposition = 2;
update vml_text set anchor = 'Below' where anchorposition = 3;
update vml_text set anchor = 'Over' where anchorposition = 4;
update vml_text set anchor = 'Above' where anchorposition = 5;
update vml_text set anchor = 'Below Right' where anchorposition = 6;
update vml_text set anchor = 'Right' where anchorposition = 7;
update vml_text set anchor = 'Above Right' where anchorposition = 8;
COMMIT;
Next we need to add a new column to tell QGIS what colour the text should be.
ALTER TABLE vml_text ADD COLUMN fontcolour VARCHAR;
COMMIT;
update vml_text set fontcolour = '#646464';
COMMIT;
update vml_text set fontcolour = '#9E8F7C' where featurecode = 15404;
update vml_text set fontcolour = '#9E8F7C' where featurecode = 15407;
update vml_text set fontcolour = '#C47206' where featurecode = 15403;
update vml_text set fontcolour = '#C47206' where featurecode = 15402;
update vml_text set fontcolour = '#71B6D1' where featurecode = 15603;
COMMIT;
Next we add a new column for the font family name, this is based on the attribute 'font' already within the data.
ALTER TABLE vml_text ADD COLUMN fontname VARCHAR;
COMMIT;
update vml_text set fontname = 'Times New Roman' where font = 0;
update vml_text set fontname = 'Arial' where font = 1;
update vml_text set fontname = 'Arial' where font = 2;
update vml_text set fontname = 'Arial' where font = 3;
update vml_text set fontname = 'Arial' where font = 4;
COMMIT;
Next we add a new column for the text we actually want to render for only a specific number of features. The reason for this is we do not want to render the road text as this will be rendered from the roadclines.
ALTER TABLE vml_text ADD COLUMN rendertext VARCHAR;
COMMIT;
update vml_text set rendertext = textstring where featurecode = '15017';
update vml_text set rendertext = textstring where featurecode = '15015';
update vml_text set rendertext = textstring where featurecode = '15112';
update vml_text set rendertext = textstring where featurecode = '15121';
update vml_text set rendertext = textstring where featurecode = '15122';
update vml_text set rendertext = textstring where featurecode = '15210';
update vml_text set rendertext = textstring where featurecode = '15122';
update vml_text set rendertext = textstring where featurecode = '15403';
update vml_text set rendertext = textstring where featurecode = '15404';
update vml_text set rendertext = textstring where featurecode = '15407';
update vml_text set rendertext = textstring where featurecode = '15603';
COMMIT;
Next we create a new column roadinfo on the roadcline table which is a concatenated attributed based on the road number and road name. The code will concentenate the attributes and also deal with NULL values.
ALTER TABLE vml_roadcline ADD COLUMN roadinfo VARCHAR;
COMMIT;
update vml_roadcline set roadinfo = ARRAY_TO_STRING(ARRAY[roadnumber, roadname], ' ');
COMMIT;
After post processing the data can now be rendered in QGIS using the data drive styling functions. (if you dont know how to do this refer to the other questions here on GIS Stack Exchange like Data-defined Styles in QGIS)
After doing all of that I would save the styles as QML files so that you can use them regularly with QGIS