Automatic Package Conformance Validation

Information

  • Patent Application
  • 20070168264
  • Publication Number
    20070168264
  • Date Filed
    August 25, 2006
    17 years ago
  • Date Published
    July 19, 2007
    16 years ago
Abstract
Systems and methods for automatic package conformance validation are described. A package is a logical entity that specifies multiple datastreams for use by an application to render pages and resources associated with one or more documents. In one aspect, the systems and methods automatically validate conformance of the package in view of one or more package and document specifications. The specification(s) identify sets of criteria that delineate structural and markup conformance for the package and fixed payload(s) that specify the document(s), resources, etc. The systems and methods validate package and fixed payload(s), and notify a user of whether the package, documents, and/or associated resources passed or failed respective ones of the conformance criteria,
Description

BRIEF DESCRIPTION OF THE DRAWINGS

In the figures, the left-most digit of a component reference number identifies the particular Figure in which the component first appears.



FIG. 1 shows an exemplary system for automatic package conformance validation, according to one embodiment.



FIG. 2 shows an exemplary block diagram of a package, according to one embodiment.



FIG. 3 shows an exemplary hierarchical set of fixed payload specified document parts used to describe various aspects of document content, according to one embodiment.



FIG. 4 shows aspects of an exemplary conformance validation log, according to one embodiment.



FIG. 5 shows further aspects of an exemplary conformance validation log, according to one embodiment.



FIG. 6 shows further aspects of an exemplary conformance validation log, according to one embodiment.



FIG. 7 shows an exemplary procedure for automatic package conformance validation, according to one embodiment.


Claims
  • 1. A method at least partially implemented by a computer, the method comprising: automatically validating conformance of a package and one or more fixed payloads encapsulated by the package, each fixed payload comprising a set of package parts identifying datastreams for use by an application to render a document specified by the fixed payload, a package specification identifying a first set of conformance criteria for the package, a document specification specifying a second set of conformance criteria for the one or more fixed payloads; andpresenting an indication to a user of whether the package and the one or more fixed payloads conform with respective ones of the first and second conformance criteria.
  • 2. The method of claim 1, wherein the package specification is based on Open Packaging Specification Convention.
  • 3. The method of claim 1, wherein the document specification is an Extensible Markup Language Paper Specification.
  • 4. The method of claim 1, wherein the indication further comprises an ordered list of package and fixed payload parts that were evaluated for conformance.
  • 5. The method of claim 1, wherein the indication further comprises a list of any package or fixed payload parts present but not evaluated for conformance.
  • 6. The method of claim 1, wherein automatically validating conformance further comprises: validating conformance of package and fixed payload markup;validating conformance of package and fixed payload structure; andvalidating conformance of any package and fixed payload non-markup resources.
  • 7. The method of claim 1, wherein automatically validating conformance further comprises: reading package part datastreams;for each datastream of the package part datastreams, responsive to reading the datastream, determining whether the datastream represents markup or a binary resource;if the datastream represents markup: verifying conformance of the markup with a markup schema definition; andif the markup complies with the markup schema definition: identifying markup content from parsed markup;if the markup content specifies a relationship, verifying conformance of at least one dependency between package or document parts, the at least one dependency being indicated by the relationship; andif the markup content does not specify a relationship, determining conformance of the markup content based on markup content type.
  • 8. The method of claim 7: wherein the markup schema definition is specified by the package specification when the markup is independent of the one or more fixed payload parts; andwherein the markup schema definition is specified by the document specification when the markup is part of the one or more fixed payload parts.
  • 9. The method of claim 7, wherein markup content type comprises a fixed document sequence, a fixed document, a fixed page, or a binary resource.
  • 10. The method of claim 7, wherein if the binary resource is a font, verifying conformance of the binary resource further comprises verifying conformance of the binary resource based on incoming relationships.
  • 11. The method of claim 7, wherein the content type is a fixed document of one or more fixed documents specified by a payload of the one or more fixed payloads, and wherein determining conformance further comprises; for each fixed document of the one or more fixed documents: verifying conformance of the fixed document and datastream(s) referenced by the fixed document prior to verifying conformance of any next unverified fixed document of the one or more fixed documents, a datastream of the datastream(s) referenced by the fixed document being a fixed page, conformance verification of the fixed page being such that conformance of the fixed page and any binary resource referenced by the fixed page is completed prior to verifying any next fixed page referenced by the fixed document.
  • 12. A computer-readable medium comprising computer-program instructions executable by a processor to implement operations for: discovering datastreams specified by a package comprising one or more fixed payloads:for each datastream of the datastreams, and responsive to discovering the datastream: (a) validating conformance of data specified by the datastream, the data comprising one or more of markup, a non-markup resource, and a relationship indicating a dependency between two or more datastreams of the datastreams; and(b) wherein conformance of the data is validated in view of one or more specifications providing conformance criteria for the package and the one or more fixed payloads, each fixed payload specifying data for an application to render a document specified by the fixed payload; andgenerating a log of implemented package conformance validation operations and associated results for presentation to a user.
  • 13. The computer-readable medium of claim 12, wherein a datastream of the datastreams is external to the package.
  • 14. The computer-readable medium of claim 12, wherein Open Packaging Specification Conventions and Extensible Markup Language Paper Specification specify at least a subset of the conformance criteria.
  • 15. The computer-readable medium of claim 12, wherein generating the log further comprises identifying any discovered datastream that was not validated for conformance.
  • 16. The computer-readable medium of claim 12, wherein the data comprises markup, and wherein validating conformance of the markup comprises: determining whether the markup complies with a schema description of the markup;if the markup complies with the schema description: parsing the markup to identify content associated with the markup; andvalidating conformance of the content based on content type; andif the markup does not conform with the schema description: not parsing the markup; andlogging a corresponding error message in the log.
  • 17. The computer-readable medium of claim 16, wherein the content type is one of a relationship specifying a dependency between package parts or fixed payload parts, a binary resource part, a fixed document part, or a fixed page part.
  • 18. The computer-readable medium of claim 12, wherein computer-program instructions further comprise instructions for: receiving a request from a remote computing device, the request directing a service provided by the computer-program instructions to verify conformance of the package according to the one or more specification or default specifications; andresponsive to receiving the request, discovering the datastreams, validating conformance of the datastreams, and communicating the log to the remote computing device.
  • 19. The computer-readable medium of claim 12, wherein computer-program instructions further comprise instructions for: determining conformance verification parameters, the conformance verification parameters providing one or more of: an identity of the package, an indication of an application to generate the log, a path to an application to parse markup, a name for the log, a path to a package specification, a path to a document specification, a path to a resource dictionary, an indication to delete the package if the package is determined not to be in conformance, an indication to validate only the package and not validate the one or more fixed payloads, an indication to validate only structure of the package, and an indication to not validate binary resource(s).
  • 20. A computing device comprising: a processor; anda memory coupled to the processor, the memory comprising computer-program instructions that when executed by the processor implement operations for: providing a networked service to a requesting computing device coupled the computing device, the networked service for: receiving a request from the requesting computing device;responsive to receiving the request: verifying conformance of multiple datastreams discovered in a package, the conformance of each respective datastream of the multiple datastreams being evaluated based on content type of the respective datastream in view of one or more package, paper, and default specification(s), the package for use by an application to render one or more documents specified by respective ones of the datastreams; andresponsive to verifying the conformance, communicating an indication to the requesting computing device of whether the package was in conformance with the one or more package, paper, and default specification(s).
Provisional Applications (1)
Number Date Country
60743136 Jan 2006 US