Class XmlReportAbstract

  • All Implemented Interfaces:
    LocalizableReport, Report
    Direct Known Subclasses:
    XmlReportImpl, XmpReportImpl

    public abstract class XmlReportAbstract
    extends MasterReport
    Abstract class to generate a report in XML. It collects the information needed for the report and provides helper methods to generate proper XML. In order to generate a specific XML, the generateReport method should be provided in a derived class.
    • Field Detail

      • out

        protected java.io.PrintWriter out
      • epubCheckName

        protected java.lang.String epubCheckName
      • epubCheckVersion

        protected java.lang.String epubCheckVersion
      • epubCheckDate

        protected java.lang.String epubCheckDate
      • generationDate

        protected java.lang.String generationDate
      • creationDate

        protected java.lang.String creationDate
      • lastModifiedDate

        protected java.lang.String lastModifiedDate
      • identifier

        protected java.lang.String identifier
      • titles

        protected java.util.Set<java.lang.String> titles
      • creators

        protected final java.util.Set<java.lang.String> creators
      • contributors

        protected final java.util.Set<java.lang.String> contributors
      • subjects

        protected final java.util.Set<java.lang.String> subjects
      • publisher

        protected java.lang.String publisher
      • rights

        protected final java.util.Set<java.lang.String> rights
      • date

        protected java.lang.String date
      • mediaTypes

        protected final java.util.Set<java.lang.String> mediaTypes
      • formatName

        protected java.lang.String formatName
      • formatVersion

        protected java.lang.String formatVersion
      • pagesCount

        protected long pagesCount
      • charsCount

        protected long charsCount
      • language

        protected java.lang.String language
      • embeddedFonts

        protected final java.util.Set<java.lang.String> embeddedFonts
      • refFonts

        protected final java.util.Set<java.lang.String> refFonts
      • references

        protected final java.util.Set<java.lang.String> references
      • hasEncryption

        protected boolean hasEncryption
      • hasSignatures

        protected boolean hasSignatures
      • hasAudio

        protected boolean hasAudio
      • hasVideo

        protected boolean hasVideo
      • hasFixedLayout

        protected boolean hasFixedLayout
      • hasScripts

        protected boolean hasScripts
      • errors

        protected final java.util.List<CheckMessage> errors
      • fatalErrors

        protected final java.util.List<CheckMessage> fatalErrors
      • doc

        private org.w3c.dom.Document doc
      • currentEl

        private org.w3c.dom.Element currentEl
      • namespaceURI

        private java.lang.String namespaceURI
      • namespaces

        private java.util.Map<java.lang.String,​java.lang.String> namespaces
    • Constructor Detail

      • XmlReportAbstract

        public XmlReportAbstract​(java.io.PrintWriter out,
                                 java.lang.String ePubName,
                                 java.lang.String versionEpubCheck)
    • Method Detail

      • initialize

        public void initialize()
        Description copied from interface: Report
        Called when a report if first created
      • message

        public void message​(Message message,
                            EPUBLocation location,
                            java.lang.Object... args)
        Description copied from interface: Report
        Called when a violation of the standard is found in epub.
        Parameters:
        message - The message being reported
        location - location information for the message
        args - Arguments referenced by the format string for the message.
      • info

        public void info​(java.lang.String resource,
                         FeatureEnum feature,
                         java.lang.String value)
        Description copied from interface: Report
        Called when when a feature is found in epub.
        Parameters:
        resource - name of the resource in the epub zip container that has this feature or null if the feature is on the container level.
        feature - a keyword to know what kind of feature has been found
        value - value found
      • getNameFromPath

        protected java.lang.String getNameFromPath​(java.lang.String path)
      • generateReport

        public abstract int generateReport()
        Method to implement effective report generation.
        Returns:
        errorCode
      • setNamespace

        public void setNamespace​(java.lang.String uri)
      • addPrefixNamespace

        public void addPrefixNamespace​(java.lang.String prefix,
                                       java.lang.String uri)
      • generate

        public int generate()
        Description copied from interface: Report
        Called to create a report after the checks have been made
      • capitalize

        protected java.lang.String capitalize​(java.lang.String in)
      • makeElement

        private org.w3c.dom.Element makeElement​(java.lang.String name)
      • makeAttribute

        private org.w3c.dom.Attr makeAttribute​(KeyValue<java.lang.String,​java.lang.String> kv)
      • startElement

        protected void startElement​(java.lang.String name,
                                    java.util.List<KeyValue<java.lang.String,​java.lang.String>> attrs)
      • startElement

        protected void startElement​(java.lang.String name,
                                    KeyValue<java.lang.String,​java.lang.String>... attrs)
      • startElement

        protected void startElement​(java.lang.String name)
      • endElement

        protected void endElement​(java.lang.String name)
      • generateElement

        protected void generateElement​(java.lang.String name,
                                       java.lang.String value)
      • generateElement

        protected void generateElement​(java.lang.String name,
                                       java.lang.String value,
                                       KeyValue<java.lang.String,​java.lang.String>... attrs)
      • generateElement

        protected void generateElement​(java.lang.String name,
                                       java.lang.String value,
                                       java.util.List<KeyValue<java.lang.String,​java.lang.String>> attrs)
      • correctToUtf8

        protected static java.lang.String correctToUtf8​(java.lang.String inputString)
        Make sure the string contains valid UTF-8 characters
        Parameters:
        inputString -
        Returns:
        escaped String
      • fromTime

        protected static java.lang.String fromTime​(long time)
        Transform time into ISO 8601 string.