Чтобы ограничить длину элемента LOAN_ZIP_CODE
до 5 символов, вы можете использовать для этого xsltproc
, крошечный процессор XSLT-1.0 командной строки Linux.Поэтому используйте следующую таблицу стилей test.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
<!-- identity template -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*" />
</xsl:copy>
</xsl:template>
<!-- Shorten one specific text node to a maximum length of 5 -->
<xsl:template match="LOAN_ZIP_CODE/text()">
<xsl:value-of select="substring(.,1,5)" />
</xsl:template>
</xsl:stylesheet>
и передайте входной XML-файл (здесь с именем file.xml
) в выходной XML-файл (здесь с именем target.xml
), используя xsltproc
с
xsltproc -o target.xml test.xslt file.xml
Вывод:
<LoanAddressDetails>
<LoanAddressDetail>
<LOAN_ADDRESS_TYPE>Mailing</LOAN_ADDRESS_TYPE>
<LOAN_ADDRESS_LINE_1>2197 RIDGEMONT RD</LOAN_ADDRESS_LINE_1>
<LOAN_ADDRESS_LINE_2/>
<LOAN_CITY>GROSSE POINTE WOO</LOAN_CITY>
<LOAN_STATE>MI</LOAN_STATE>
<LOAN_ZIP_CODE>48231</LOAN_ZIP_CODE>
</LoanAddressDetail>
</LoanAddressDetails>
Конечно, вы можете использовать эту команду в скрипте bash.