package SRU::Utils::XML; use strict; use warnings; use base qw( Exporter ); our @EXPORT_OK = qw( element elementNoEscape escape stylesheet ); =head1 NAME SRU::Utils::XML - XML utility functions for SRU =head1 SYNOPSIS use SRU::Utils::XML qw( escape ); return escape( $text ); =head1 DESCRIPTION This is a set of utility functions for use with XML data. =head1 METHODS =head2 element( $tag, $text ) Creates an xml element named C<$tag> containing escaped data (C<$text>). =cut sub element { my ($tag, $text) = @_; return '' if ! defined $text; return "<$tag>" . escape($text) . ""; } =head2 elementNoEscape( $tag, $text ) Similar to C, except that C<$text> is not escaped. =cut sub elementNoEscape { my ($tag, $text) = @_; return '' if ! defined $text; return "<$tag>$text"; } =head2 escape( $text ) Does minimal escaping on C<$text>. =cut sub escape { my $text = shift || ''; $text =~ s//>/g; $text =~ s/&/&/g; return $text; } =head2 stylesheet( $uri ) A shortcut method to create an xml-stylesheet declaration. =cut sub stylesheet { my $uri = shift; return qq(); } 1;