Going to the USPTO website and typing
aclm/(Schematron) into the advanced search field shows US patents that mention Schematron in their actual claims (the core of the patent). Here is the result:
I have briefly gone through the patents, and here are my preliminary comments. US Patents are frequently written so that the novel stage is buried down the list, or generalized to reduce the chance of having gaps that some other tricky patent can take over. So it is quite possible that I have missed the innovative step. I expect I will look over some of these in more detail. While I think some are silly (#7) and some do not have any actual techniques (#6) it is only #1 that gets my goat as an obvious idea that encrouches on Schematron.
|1||9,146,908||Patent on Schematron interpreted directly, not compiled through XSLT. This patent is full of positive untruths in its justification. The people who filed it should be ashamed. IBM|
|2||9,128,999||Schematron is added in a claim to cover form validation. This is not a novel step, and I hope just added to prevent trolls. IBM|
|3||8,914,370||A patent that you can classify documents by looking only looking for variation where the schema allows variation. Mentions Schematron along with other schema languages. IBM|
|4||8,880,557||A patent that you can divide XML documents into branches for optimal multi-core processing by using Schema info. Mentions Schematron along with other schema languages. IBM|
|5||8,515,999||Patent to convert JSON to XML and then use XML tools (XML Schemas and Schematron) to validate. Really? Can you really get a patent by saying “Convert X to XML and then validate the XML?” IBM|
|6||8,347,276||You have a “unified” document, like a Word document that can express both intended formatting rules and business rules. The business analyst writes rules in natural language. The technical analyst decorates this with executable rules, such as XPaths.
The system may do some NLP to help. The system converts the unified document into Schematron, XSLT, Java etc. The system runs the tests and combines the boolean results, and formats and collects the formatted fragments.
|7||8,078,961||Validate SGML documents by translating them to XML and using XML validation including Schematron. This patent was filed about 5 years after I provided this facility in Topologi products. Xerox|
|8||7,720,969||Validation of image metadata in XML using XML validation including Schematron. Cannon|
|9||7,707,493||Validation of rendered documents (after formatting) using XML validation tools like Schematron. Xerox|
|10||7,278,096||Patent on automatically updating values (including adding sibling nodes) to documents based on validation results, specifically including Schematron. Most significantly, this is an Open Innovation Network patent. I think it is good news for XML QuickFix. It seems to have an effective filing date of 2001, which means, I think, that it takes the teeth out of us-7240279.|
|11||7,058,886||Declarative validation of XML and generating a linked result, including using a server and Schematron. I think this was one of the CommerceOne patents, sold to JGR Acquisitions which turned out to be Novell, which then assigned them into the IBM, Novell, Philips, Red Hat, and Sony patent pool called Open Innovation Network. 2001 filing.|
|12||7,036,072||Declarative updates of a document, including using Schematron for business rules validation, in multiple stages. The patent still says JGR, so I don’t know if it part of Open Innovation Network patent pool.|
There are 50 other patents that mention Schematron, but in the specification rather than the claims.
I see IBM continues to make untrue statements about Schematron: this time in patent 9,329,860 they claim that Schematron cannot express that all elements are supposed to be optional. They conflate Josh Lubell’s Schematron Design Rules with Schematron Rules themselves, I think. But Schematron can easily say for example
<assert test="count(*) = count(A) + count(B) + count(C)">This element can contain only A, B and C elements, but all are optional</assert> .
Patent 8,214,421 is utterly nutty, as far as I can see. It is a patent on using validation to check conformance to a standard rather than comparison against a reference implementation. It is now 40 since SGML was standardized, enabling testing of documents against a schema (DTD). Yee Gods!