мне нужно извлечь версию файла SLD для GeoServer, который представляет собой язык разметки на основе XML. Версия является атрибутом элемента StyledLayerDescriptor.
Вот xml-файл:
$ cat my_geoserver_sld_file.sld
<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"
xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NamedLayer>
<Name>230_sld_shp_line__230_test_sld_shp_line</Name>
<UserStyle>
<Title>A green line style</Title>
<FeatureTypeStyle>
<Rule>
<Title>green line</Title>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#00ff00</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Я хотел бы установить: version="1.0.0"
сначала файл был открыт с помощью команды «xmllint --shell», чтобы использовать xpath:
$ xmllint --shell my_geoserver_sld_file.sld
/ > xpath *
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT StyledLayerDescriptor
default namespace href=http://www.opengis.net/sld
namespace ogc href=http://www.opengis.net/ogc
namespace xlink href=http://www.w3.org/1999/xlink
namespace xsi href=http://www.w3.org/2001/XMLSchema-instanc...
ATTRIBUTE version
TEXT
content=1.0.0
ATTRIBUTE schemaLocation
TEXT
content=http://www.opengis.net/sld http://schema...
должно быть просто извлечь версию, но это не удается...
/ > cat //StyledLayerDescriptor/version/text()
/ >
Как я могу установить версию в переменной bash?