2.8. Configuring the Fixed-Length Reader
- To configure the fixed-length reader, modify the http://www.milyn.org/xsd/smooks/fixed-length-1.3.xsd configuration namespace as shown below:
<?xml version="1.0"?> <smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:fl="http://www.milyn.org/xsd/smooks/fixed-length-1.3.xsd"> <!-- Configure the Fixed length to parse the message into a stream of SAX events. --> <fl:reader fields="firstname[10],lastname[10],gender[1],age[2],country[2]" skipLines="1" /> </smooks-resource-list>
Here is an example input file:#HEADER Tom Fennelly M 21 IE Maurice Zeijen M 27 NL
Here is the event stream that will be generated:<set> <record> <firstname>Tom</firstname> <lastname>Fennelly</lastname> <gender>M</gender> <age>21</age> <country>IE</country> </record> <record> <firstname>Maurice</firstname> <lastname>Zeijen</lastname> <gender>M</gender> <age>27</age> <country>NL</country> </record> </set>
- Define the string manipulation functions as shown below:
<?xml version="1.0"?> <smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:fl="http://www.milyn.org/xsd/smooks/fixed-length-1.3.xsd"> <!-- Configure the fixed length reader to parse the message into a stream of SAX events. --> <fl:reader fields="firstname[10]?trim,lastname[10]trim.capitalize,gender[1],age[2],country[2]" skipLines="1" /> </smooks-resource-list>
- You can also ignore these fields if you choose:
<?xml version="1.0"?> <smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:fl="http://www.milyn.org/xsd/smooks/fixed-length-1.3.xsd"> <fl:reader fields="firstname,$ignore$[2],age,$ignore$[10]" /> </smooks-resource-list>