def validate
      errors = []
      parts.each do |part|
        unless part[:schema].nil?
          errors.concat validate_single_doc(part[:schema], part[:doc].to_xml_string)
        end
      end
      errors
    end
def validate
      errors = []
      parts.each do |part|
        unless part[:schema].nil?
          errors.concat validate_single_doc(part[:schema], part[:doc].to_xml_string)
        end
      end
      errors
    end
Validate all parts of the package against xsd schema.
 @return [Array] An array of all validation errors found.
 @note This gem includes all schema from OfficeOpenXML-XMLSchema-Transitional.zip and OpenPackagingConventions-XMLSchema.zip
   as per ECMA-376, Third edition. opc schema require an internet connection to import remote schema from dublin core for dc,
   dcterms and xml namespaces. Those remote schema are included in this gem, and the original files have been altered to
   refer to the local versions.

   If by chance you are able to creat a package that does not validate it indicates that the internal
   validation is not robust enough and needs to be improved. Please report your errors to the gem author.
 @see http://www.ecma-international.org/publications/standards/Ecma-376.htm
 @example
  # The following will output any error messages found in serialization.
  p = Axlsx::Package.new
  # ... code to create sheets, charts, styles etc.
  p.validate.each { |error| puts error.message }