Yet another example of something we made for the public benefit being patented a couple of years later.
Patent 7,058,886 Method and apparatus for declarative error handling and presentation.
What is it? The present invention includes a method and device for generic searching across document types. A further aspect of the present invention is indexing and searching XML documents using an HTML interface generated by a declarative transformation.
1. A method for error processing and reporting during validation of a business document in a client-server environment, the method including: accessing a first self-describing, structured document having a document type; validating the first document against a schema corresponding to the document type; generating a second self-describing, structured document including, for any detected errors, at least one error identifier; and a path specification identifying a node within the first self-describing structured document corresponding to the detected error; applying a declarative transformation to the first and second documents, producing a user interface character string, including a plurality of path specification for nodes in the first document; and values for nodes in the first document; and at least one error message corresponding to the at least one error identifier; and transmitting the user interface character string.
2. The method of claim 1, wherein the schema is compliant with any version of a SOX standard.
3. The method of claim 2, further including validating the first document against a set of business processing rules and generating a third self-describing, structured document, wherein the declarative transformation is further applied to the third document.
Further claims cover the cases where the transformation is XSLT, the input is XML and the output is HTML.
12. A method for error processing and reporting during validation of a business document in a client-server environment, the method including: accessing a first self-describing, structured document having a document type; validating the first document against a set of business processing rules applicable to the document type and an intended recipient of the first document; generating a second self-describing, structured document including, for any detected errors, at least one error identifier; and a path specification identifying a node within the first self-describing structured document corresponding to the detected error; applying a declarative transformation to the first and second documents, producing a user interface character string, including a plurality of path specification for nodes in the first document; and values for nodes in the first document; and at least one error message corresponding to the at least one error identifier; and transmitting the user interface character string.
13. The method of claim 12, wherein the business processing rules are Schematron-compliant.
and again for the specific cases of XSLT, XML and HTML.
The patent was filed for in Dec 18, 2001 and granted June 6, 2006.
If readers care too look at the page for Schematron-report they will note the date 1999-11-1, and that I and Academia Sinica are the copyright holders of the source code, under an open source license (Artistic License.) Schematron report was largely David Carlisle (of MathML fame)'s work: allowing a hyperlinked validation report. The old Topologi Schematron validator that was available free from our website, and used by many schools, used it for example.
So what does Schematron-report to? You take any XML document (including business documents) in any environment (including client server: if you are using HTML it is rather difficult not be client-server isn't it?), you run it against Schematron rules (Schematron has both assert rules for validation and report elements for finding patterns) and it generates a series of HTML frames: one is the input document converted to HTML (with ids added), and the other is a list of messages with links to the original nodes.
Or take the Schematron Conformance Test system of early 2001, which became SVRL. This was a simple sytem and schema that processes an XML document according to a Schematron schema or ruleset, and generates an output XML document including paths.
Note also that Schematron by early 2001 had the concept of phases, because different people might be interested in different aspects. (I gave a talk on this general subject at XML 2002 concentrating on the division of labour aspects of progressive validation.)
So it is very difficult for me to see the originality in this patent. I note that the patent application does not cite any Schematron, even though it mentions it explicitly. I was pleased to see that the patent examiner did look at one Schematron article off their own bat (Ogbuji, Chimezie, "Validationg XML with Schematron" which was an XML.COM article: in one of O'Reilly's periodic fits of madness, they changed all the URLs so it is unavailable a the URL given. Tim Berners-Lee said that Cool URLs don't change: O'Reilly does not believe it has any cool URLs, on their behaviour.)
But all the parts of it seem to have pre-existed in well-publicized software or material a couple of years before the patent was filed.
Why is the USPTO granting patents which merely take general-purpose technologies and apply them for one purpose?
- Schematron can be used with any XML document (or, indeed, any structured document: it has been used with SGML, HTML, RDF as well): why would specifiying "business document" in particular be any reason for making it patentable?
- Business documents are not an imaginative leap into a new class of documents, they are just a subset of "document" in general. Schematron allows phases so that the report will contain only the information needed for some purpose: why is specifying that this may be an "intended recipient" any reason that it should be patentable? Customized validation by user is just one of any number of customized filterings that may apply. I invented the phase mechanism in Schematron: I studied economics at University: Adam Smith's pin factory is something that known to every educated person, especially economists; phases are merely Smith's a feature to implement Smiths basic specialization and division of labour idea, which is based on different people needing different information. There is no originality to customization of validation/reporting by intended recipient in 2001.
The good news? I see that this patent is included in those of the Patent Commons. But that this patent was granted shows IMHO that the USPTO has not had adequate procedures or criteria (or whatever). It may be that there is just too much information out there now. In which case, if it is indeed so difficult to be sure, why are they still granting any patents?
The USPTO is rather showing itself, in the way it has failed to look at prior art (and this may go right back to its mission statement for all I know, I have no reason to blame examiners or individuals), to be the enemy of the public good. Why should anyone do any work for the public good, have any public spirit, try to work cooperatively, be involved in any volunteer standards work, if that work can then be taken up by any would-be mini-monopolist and patented at an over-worked, under-critical, and perhaps myopic patent office of a foreign country (i.e., the US, a country notorious for its bullying international policy on IPR)?
Patents could go away and the world would not suffer much. Markets would adjust. Business would go on. Standards could not go away without the collapse of our society. Volunteerism is the core of both the standards and the Free and Open Software movements (both corporate and individual volunteerism). The patent system seems to be actively antagonistic to standards and volunteerist development of software.