Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CSV(3)		      User Contributed Perl Documentation		CSV(3)

	   XML::SAXDriver::CSV - SAXDriver for converting CSV files to XML

	     use XML::SAXDriver::CSV;
	     my	$driver	= XML::SAXDriver::CSV->new(%attr);

	   XML::SAXDriver::CSV was developed as	a compliment to	XML::CSV, though it provides a SAX
	   interface, for gained performance and efficiency, to	CSV files.  Specific object attributes
	   and handlers	are set	to define the behavior of the parse() method.  It does not matter where
	   you define your attributes.	If they	are defined in the new() method, they will apply to all
	   parse() calls.  You can override in any call	to parse() and it will remain local to that
	   function call and not effect	the rest of the	object.

XML::SAXDriver::CSV properties
	   Source - (Reference to a String, ByteStream,	SystemId)

	       String -	Contains literal CSV data. Ex (Source => {String => $foo})

	       ByteStream - Contains a filehandle reference.  Ex. (Source => {ByteStream => \*STDIN})

	       SystemId	- Contains the path to the file	containing the CSV data. Ex (Source => {SystemId => '../csv/foo.csv'})

	   Handler - Contains the object to be used as a XML print handler


	       Version - Specifies an XML version for declaration.  Defaults to	'1.0'.

	       Encoding	- Specifies the	endcoding in XML declaration.  Omitted by default.

	       Standalone - Specifies the standalone attribute.	 Omitted by default.

	   DTDHandler -	Contains the object to be used as a XML	DTD handler.
			****There is no	DTD support available at this time.
			I'll make it available in the next version.****

	   SubChar - Specifies the character(s)	to use to substitute illegal chars in xml tag names, that
		     will be generated from the	first row, but setting the Dynamic_Col_Headings.

	   Col_Headings	- Reference to the array of column names to be used for	XML tag	names.

	   Dynamic_Col_Headings	- Should be set	if you want the	XML tag	names generated	dynamically
				  from the first row in	CSV file.  **Make sure that the	number of columns
				  in your first	row is equal to	the largest row	in the document.  You
				  don't	generally have to worry	about if you are submitting valid CSV
				  data,	where each row will have the same number of columns, even if
				  they are empty.

	   Headings_Handler - Should be	used along with	Dynamic_Col_Headings to	provide	a heading
				normalization handler, to conform the headings to the XML 1.0
				specifications.	 If not	provided, a default will be used that only
				works with ASCII chars,	therefore any other character sets need	to
				provide	a custom handler!  The handler sub will	be passed the heading
				string as the first argument.

       Ilya Sterin (

       Originally written by Matt Sergeant, Modified and
       maintained by Ilya Sterin,


perl v5.32.1			  2021-08-27				CSV(3)


Want to link to this manual page? Use this URL:

home | help