Class XMLInputHandler

  • All Implemented Interfaces:
    SquiggleInputHandler

    public class XMLInputHandler
    extends java.lang.Object
    implements SquiggleInputHandler
    A SquiggleInputHandler that handles XSLT transformable XML documents. This implementation of the SquiggleInputHandler class handles XML files by looking for the first <?xml-stylesheet ... ?> processing instruction referencing an xsl document. In case there is one, the transform is applied to the input XML file and the handler checks that the result is an SVG document with an SVG root.
    Version:
    $Id: XMLInputHandler.java 1831635 2018-05-15 13:33:47Z ssteiner $
    • Field Detail

      • XVG_MIME_TYPES

        public static final java.lang.String[] XVG_MIME_TYPES
      • XVG_FILE_EXTENSIONS

        public static final java.lang.String[] XVG_FILE_EXTENSIONS
      • ERROR_NO_XML_STYLESHEET_PROCESSING_INSTRUCTION

        public static final java.lang.String ERROR_NO_XML_STYLESHEET_PROCESSING_INSTRUCTION
        See Also:
        Constant Field Values
      • ERROR_TRANSFORM_OUTPUT_NOT_SVG

        public static final java.lang.String ERROR_TRANSFORM_OUTPUT_NOT_SVG
        See Also:
        Constant Field Values
      • ERROR_TRANSFORM_PRODUCED_NO_CONTENT

        public static final java.lang.String ERROR_TRANSFORM_PRODUCED_NO_CONTENT
        See Also:
        Constant Field Values
      • ERROR_TRANSFORM_OUTPUT_WRONG_NS

        public static final java.lang.String ERROR_TRANSFORM_OUTPUT_WRONG_NS
        See Also:
        Constant Field Values
      • ERROR_RESULT_GENERATED_EXCEPTION

        public static final java.lang.String ERROR_RESULT_GENERATED_EXCEPTION
        See Also:
        Constant Field Values
      • XSL_PROCESSING_INSTRUCTION_TYPE

        public static final java.lang.String XSL_PROCESSING_INSTRUCTION_TYPE
        See Also:
        Constant Field Values
      • PSEUDO_ATTRIBUTE_TYPE

        public static final java.lang.String PSEUDO_ATTRIBUTE_TYPE
        See Also:
        Constant Field Values
      • PSEUDO_ATTRIBUTE_HREF

        public static final java.lang.String PSEUDO_ATTRIBUTE_HREF
        See Also:
        Constant Field Values
    • Constructor Detail

      • XMLInputHandler

        public XMLInputHandler()
    • Method Detail

      • getHandledMimeTypes

        public java.lang.String[] getHandledMimeTypes()
        Returns the list of mime types handled by this handler.
        Specified by:
        getHandledMimeTypes in interface SquiggleInputHandler
      • getHandledExtensions

        public java.lang.String[] getHandledExtensions()
        Returns the list of file extensions handled by this handler
        Specified by:
        getHandledExtensions in interface SquiggleInputHandler
      • accept

        public boolean accept​(java.io.File f)
        Returns true if the input file can be handled by the handler
        Specified by:
        accept in interface SquiggleInputHandler
      • accept

        public boolean accept​(ParsedURL purl)
        Returns true if the input URI can be handled by the handler
        Specified by:
        accept in interface SquiggleInputHandler
        Parameters:
        purl - URL describing the candidate input
      • accept

        public boolean accept​(java.lang.String path)
        Return true if the resource with the given path can be handled.
      • checkAndPatch

        protected void checkAndPatch​(org.w3c.dom.Document doc)
        This method checks that the generated content is SVG. This method accounts for the fact that the root svg's first child is the result of the transform. It moves all its children under the root and sets the attributes
      • extractXSLProcessingInstruction

        protected java.lang.String extractXSLProcessingInstruction​(org.w3c.dom.Document doc)
        Extracts the first XSL processing instruction from the input XML document.