Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Plain SVG: inline and without credits

Inline SVG and no credits

Passing the -inline flag to the new method will remove the xml, DOCTYPE tags.

Passing the -nocredits flag will remove the comment with the credit.

I could not find a way to totally eliminate the xmlns:svg and xmlns:xlink attributes.

use strict;
use warnings;
use SVG;

my $svg= SVG->new(-nocredits => 1, -inline => 1);
print $svg->xmlify();

The resulting SVG (after adding some newlines to make all the rows fit on the screen):


<svg height="100%" width="100%"
  xmlns="http://www.w3.org/2000/svg"
  xmlns:svg="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink" />

Inline SVG and no credit at load time

Alternatively we could set the -inline and -nocredits parameters when we first load the module into memory. That will change the default behaviour of the library and thus in we don't need to pass the flags to the constructor.

use strict;
use warnings;
use SVG (-nocredits => 1, -inline => 1);

my $svg= SVG->new();
print $svg->xmlify();

The resulting SVG is the same as in the prevous case.


<svg height="100%" width="100%"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns:xlink="http://www.w3.org/1999/xlink" />