{
    "content": [
        {
            "type": "text",
            "text": "# Image::Info::SVG (perldoc)\n\n## NAME\n\nImage::Info::SVG - SVG support for Image::Info\n\n## SYNOPSIS\n\nuse Image::Info qw(imageinfo dim);\nmy $info = imageinfo(\"image.svg\");\nif (my $error = $info->{error}) {\ndie \"Can't parse image info: $error\\n\";\n}\nmy $title = $info->{SVGTitle};\nmy($w, $h) = dim($info);\n\n## DESCRIPTION\n\nThis modules supplies the standard key names except for BitsPerSample, Compression, Gamma,\nInterlace, LastModificationTime, as well as:\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS**\n- **FILES**\n- **COMPATIBILITY**\n- **SEE ALSO**\n- **NOTES**\n- **AUTHOR**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Image::Info::SVG",
        "section": "",
        "mode": "perldoc",
        "summary": "Image::Info::SVG - SVG support for Image::Info",
        "synopsis": "use Image::Info qw(imageinfo dim);\nmy $info = imageinfo(\"image.svg\");\nif (my $error = $info->{error}) {\ndie \"Can't parse image info: $error\\n\";\n}\nmy $title = $info->{SVGTitle};\nmy($w, $h) = dim($info);",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 19,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "FILES",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "COMPATIBILITY",
                "lines": 19,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "NOTES",
                "lines": 15,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 8,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Image::Info::SVG - SVG support for Image::Info\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use Image::Info qw(imageinfo dim);\n\nmy $info = imageinfo(\"image.svg\");\nif (my $error = $info->{error}) {\ndie \"Can't parse image info: $error\\n\";\n}\nmy $title = $info->{SVGTitle};\n\nmy($w, $h) = dim($info);\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This modules supplies the standard key names except for BitsPerSample, Compression, Gamma,\nInterlace, LastModificationTime, as well as:\n\nImageDescription\nThe image description, corresponds to <desc>.\n\nSVGImage\nA scalar or reference to an array of scalars containing the URI's of embedded images (JPG or\nPNG) that are embedded in the image.\n\nSVGStandAlone\nWhether or not the image is standalone.\n\nSVGTitle\nThe image title, corresponds to <title>\n\nSVGVersion\nThe URI of the DTD the image conforms to.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "processfile()\n$info->processfile($source, $options);\n\nProcesses one file and sets the found info fields in the $info object.\n",
                "subsections": []
            },
            "FILES": {
                "content": "This module requires either XML::LibXML::Reader or XML::Simple.\n",
                "subsections": []
            },
            "COMPATIBILITY": {
                "content": "Previous versions (until Image-Info-1.28) used XML::Simple as the underlying parser. Since\nImage-Info-1.29 the default parser is XML::LibXML::Reader which is much more faster,\nmemory-efficient, and does not rely on regular expressions for some aspects of XML parsing. If\nfor some reason you need the old parser, you can force it by setting the variable\n@Image::Info::SVG::PREFERMODULE as early as possible:\n\nuse Image::Info;\n@Image::Info::SVG::PREFERMODULE = qw(Image::Info::SVG::XMLSimple Image::Info::SVG::XMLLibXMLReader);\n\nThe variable $Image::Info::SVG::USINGMODULE can be queried to see which parser is in use (after\nImage::Info::SVG is required).\n\nSince 1.3850 processing of XML external entities (XXE) is not done anymore for security reasons\nin both backends (Image::Info::SVG::XMLLibXMLReader and Image::Info::SVG::XMLSimple).\nControlling XXE processing behavior in XML::Simple is not really possible (see\n<https://rt.cpan.org/Ticket/Display.html?id=83794>), so as a workaround the underlying SAX\nparser is fixed to XML::SAX::PurePerl which is uncapable of processing external entities — but\nunfortunately it is also a slow parser.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "Image::Info, XML::LibXML::Reader, XML::Simple, XML::SAX::PurePerl\n",
                "subsections": []
            },
            "NOTES": {
                "content": "For more information about SVG see <http://www.w3.org/Graphics/SVG/>\n\nRandom notes:\n\nColors\n# iterate over polygon,rect,circle,ellipse,line,polyline,text for style->stroke: style->fill:?\n#  and iterate over each of these within <g> too?! and recurse?!\n# append <color>'s\n# perhaps even deep recursion through <svg>'s?\nColorProfile <color-profile>\nRenderingIntent ?\nrequiredFeatures\nrequiredExtensions\nsystemLanguage\n",
                "subsections": []
            },
            "AUTHOR": {
                "content": "Jerrad Pierce <belg4mit@mit.edu>/<webmaster@pthbb.org> wrote the original code based on\nXML::Simple\n\nSlaven Rezic <srezic@cpan.org> wrote the code using XML::LibXML::Reader\n\nThis library is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself.\n",
                "subsections": []
            }
        }
    }
}