Class XMLContentDescriber

  • All Implemented Interfaces:
    IContentDescriber, ITextContentDescriber
    Direct Known Subclasses:
    XMLRootElementContentDescriber, XMLRootElementContentDescriber2

    public class XMLContentDescriber
    extends org.eclipse.core.internal.content.TextContentDescriber
    A content describer for XML files. This class provides basis for XML-based content describers.

    The document is detected by the describer as VALID, if it contains an xml declaration with <?xml prefix and the encoding in the declaration is correct.

    Below are sample declarations recognized by the describer as VALID
    • <?xml version="1.0"?>
    • <?xml version="1.0"
    • <?xml version="1.0" encoding="utf-16"?>
    • <?xml version="1.0" encoding="utf-16?>
    Since:
    org.eclipse.core.contenttype 3.4
    See Also:
    IContentDescriber, XMLRootElementContentDescriber2, "http://www.w3.org/TR/REC-xml *"
    Restriction:
    This class is not intended to be instantiated by clients. Clients should use it to provide their own XML-based describers that can be referenced by the "describer" configuration element in extensions to the org.eclipse.core.runtime.contentTypes extension point.
    • Constructor Detail

      • XMLContentDescriber

        public XMLContentDescriber()
    • Method Detail

      • describe

        public int describe​(java.io.InputStream input,
                            IContentDescription description)
                     throws java.io.IOException
        Description copied from interface: IContentDescriber
        Tries to fill a description for the given contents. Returns an int indicating whether the given stream of bytes represents a valid sample for its corresponding content type. If no content description is provided, this method should perform content type validation.

        The input stream must be kept open, and any IOExceptions while reading the stream should flow to the caller.

        Specified by:
        describe in interface IContentDescriber
        Overrides:
        describe in class org.eclipse.core.internal.content.TextContentDescriber
        Parameters:
        input - the contents to be examined
        description - a description to be filled in, or null if only content type validation is to be performed
        Returns:
        one of the following:
        • VALID
        • INVALID
        • INDETERMINATE
        Throws:
        java.io.IOException - if an I/O error occurs
        See Also:
        IContentDescription, IContentDescriber.VALID, IContentDescriber.INVALID, IContentDescriber.INDETERMINATE
      • describe

        public int describe​(java.io.Reader input,
                            IContentDescription description)
                     throws java.io.IOException
        Description copied from interface: ITextContentDescriber
        Tries to fill a description for the given contents. Returns an int indicating whether the given stream of characters represents a valid sample for this describer's corresponding content type. If no content description is provided, this method should only perform content type validation.

        The stream provided must be kept open, and any IOExceptions while reading it should flow to the caller.

        Specified by:
        describe in interface ITextContentDescriber
        Overrides:
        describe in class org.eclipse.core.internal.content.TextContentDescriber
        Parameters:
        input - the contents to be examined
        description - a description to be filled in, or null if only content type validation is to be performed
        Returns:
        one of the following:
        • VALID
        • INVALID
        • INDETERMINATE
        Throws:
        java.io.IOException - if an I/O error occurs
        See Also:
        IContentDescription, IContentDescriber.VALID, IContentDescriber.INVALID, IContentDescriber.INDETERMINATE