Update 2009-08-04: United States Patent 7,571,169.
Update 2005-05-31: Added paragraph for United States Patent #6,898,604, XML serialization and deserialization.
Update 2005-03-18: Added paragraph for United States Patent Application 20040210818, covered by Groklaw.
Note: This article was updated 2004-02-12 to include U.S. Patent "XML Based Script Automation."
[January 27, 2004] Applications for patents related to XML processing have been filed by Microsoft with various patent offices worldwide. EP1376387 "Word-Processing Document Stored in a Single XML File" has been filed in the European Patent Office and similarly with the Canadian Intellectual Property Office (CIPO) and Intellectual Property Office of New Zealand (IPONZ). US 20040006744 "System and Method for Validating an XML Document and Reporting Schema Violations" has been filed with US Patent and Trademark Office. Another, US 20030237048, covers a "Word Processor for Freestyle Editing of Well-Formed XML Documents." A Microsoft spokesman Mark Martin is reported to have said in response to questions: "While the XML standard itself is royalty free, nothing precludes a company from seeking patent protection for a specific software implementation that incorporates elements of XML." Acccording to the Microsoft Watch column, "some company watchers claim that the company's patent is attempt to prohibit competing desktop word-processing applications, such as those from Sun Microsystems, Corel and others, from being able to access Microsoft Word 2003 data stored in the XML format."
EP1376387: 'Word-Processing Document Stored in a Single XML File'
European Patent Office. Patent Number: EP1376387. [Register] Publication Date: 2004-01-02. Applicant: Microsoft Corp (US). Application number: EP20030009719 20030430. Date of filing: April 30, 2003. Inventor(s): Krueger Anthony D (US); Jones Brian M (US); Bishop Andrew K (US); Little Robert A (US); Sawicki Marcin (US); Snyder Daniel R (US) Applicant(S): Microsoft Corp (US).
"A word processor including a native XML file format is provided. The well formed XML file fully represents the the word-processor document, and fully supports 100% of the word-processor's rich formatting. There are no feature losses when saving the word-processor document as XML. A published XSD file defines all the rules behind the word-processor's XML file format. Hints may be provided within the XML associated files providing applications that understand XML a shortcut to understanding some of the features provided by the word-processor. The word-processing document is stored in a single XML file. Additionally, manipulation of word-processing documents may be done on computing devices that do not include the word-processor itself." [source]
Claims include "a computer-readable medium having computer-executable components, comprising: a first component for reading a word-processor document stored as a single XML file; a second component that utilizes an XSD for interpreting the word-processor document, and a third component for performing an action on the word-processor document... A method for handling a word-processing document, comprising: parsing the document, wherein the document is contained within a single XML file and includes all of the instructions necessary to display the document according to how a word-processor would display the document; and interpreting the document according to an XSD... A system for creating, interpreting, and modifying a word-processor document stored as as single WPML file, comprising: a WPML file; a validation engine configured to validate the WPML file; and a word processor configured to read a WPML file created in accordance with a schema..."
Summary of the Invention
The present invention is directed at providing a word-processing document in a native XML file format that may be understood by an application that understands XML, or to enable another application or service to create a rich document in XML so that the word-processing application can open it as if it was one of its own documents.
According to one aspect of the invention, a word-processor has a native XML file format. The well formed XML file fully represents the word-processor document, and fully supports the word-processor's rich formatting. Accordingly, one of the goals of such a native XML representation is have no feature losses when saving the word-processor documents in XML according to a defined XSD.
According to another aspect of the invention, there is a published XSD file that defines all the rules behind the word-processor's XML file format. The schema describes the word-processor's XML structure. The schema file mirrors the internal word-processor program while still allowing ease of use. Thus, the schema enables third party services and applications to create XML documents understandable by the word processing application.
According to yet another aspect of the invention, hints are provided within the XML associated files providing applications that understand XML a shortcut to understanding some of the features provided by the word-processor. By using the hints, the applications do not have to know all of the specific details of the internal processing of the word-processor in order to recreate a feature.
According to yet another aspect of the invention, the word-processing document is stored in a single XML file. An application will be able to fully recreate the document from this single XML file. This includes all the images and other binary data that may be present in the document. The invention provides for a way to represent all document data in a single XML file.
According to still yet another aspect of the invention, manipulation of word-processing documents may be done on computing devices that do not include the word-processor itself.
See more complete description via the "esp@cenet database", including (1) description, (2) claims, (3) figures, and (4) original document (PDF, 109 pages). Similarly from epoOnline. Also the archived/unofficial screen-scraped information.
US 20040006744: 'System and Method for Validating an XML Document and Reporting Schema Violations'
United States Patent Application #20040006744. Assignee: Microsoft Corporation. Application publication date: January 8, 2004. "Inventors: Jones, Brian M. (Redmond, WA); Sawicki, Marcin (Kirkland, WA); Little, Robert A. (Redmond, WA)." Patent application filed: June 27, 2002.
Abstract: "A system and method for validating an extensible markup language (XML) document and reporting schema violations in real time. A parallel tree is maintained that includes nodes corresponding to non-native XML elements of the XML document. When changes occur to the XML document, the non-native XML elements corresponding to the changes are marked. The nodes corresponding the marked non-native XML elements are validated against an XML schema that corresponds to the non-native XML markup. The elements and nodes corresponding to errors in the non-native XML markup are then reported to the user according to display indicators in the XML document and the parallel tree."
Summary of the Invention
The present invention is directed at enabling validation of an extensible markup language (XML) document and reporting of schema violations in real time as a user edits the document. A word-processor has an associated extensible markup language (native XML). When a user associates a non-native XML schema file with an XML document, the word-processor uses the non-native XML schema with a validation engine to validate the non-native XML elements in the XML document. As the user inserts non-native XML elements from the schema into the XML document, a parallel tree is maintained by the word processor as an object of the validation engine. The tree includes nodes that correspond to the non-native XML elements inserted into the XML document. The parallel tree assists in preventing the native XML markup from interfering with the non-native XML markup within the XML document. Although the non-native XML markup coexists with the native XML markup within the same XML document, the parallel tree allows the non-native XML markup to be validated separately and independently from the native XML markup.
In one embodiment, each time a non-native XML element is inserted into the XML document, a corresponding node is created in the parallel tree in an appropriate location depending on the context of how the non-native XML element was inserted. Correspondingly, each time the non-native XML element is deleted from the XML document, the corresponding node is deleted from the parallel tree.
In addition to keeping track of the non-native XML elements, the parallel tree is also keeping track of the textual contents of the non-native XML elements. The contents of the non-native XML elements exist in the XML document rather than the parallel tree, but the parallel tree still maintains links to the elements. When needed, the contents are retrieved by the parallel tree for the purpose of the parallel tree validation. The validation process may then validate the parallel tree's structural relationships among the nodes as well as the content type restrictions each node imposes on it's textual content.
The parallel tree reflects the changes in the XML document in real time and allows for real time validation of the non-native XML markup. When an idle moment occurs after a change to the non-native XML markup or the textual contents of the XML document, a sub-tree of the parallel tree corresponding to the region of the XML document where the changes occurred is validated by the validation engine. If there are one or more errors with the change to the non-native XML or the textual contents, the validation engine notifies the word processor of the errors. The word processor then highlights the errors, both within the XML document and within the parallel tree according to user interface instructions for handling such errors.
US 20030237048: 'Word Processor for Freestyle Editing of Well-Formed XML Documents'
United States Patent Application 20030237048. Assignee: Microsoft Corporation. Inventors: Jones, Brian M. (Redmond, WA); Sawicki, Marcin (Kirkland, WA); Wang, Ziyi (Redmond, WA). Published: December 25, 2003. Filed: June 24, 2002.
Abstract: "A word-processor that provides a freestyle-editing environment for editing an XML document while monitoring the XML document for well-formedness. The word processor monitors the XML document to determine if the XML document is well-formed and to automatically correct the XML document to maintain well-formedness."
Summary of the Invention
Briefly stated, this invention is directed to a word-processor that provides a freestyle-editing environment for editing an XML document that monitors the XML document for well-formedness. In one aspect, the invention provides a wordprocessing system that includes a word processor and an XML structure monitor. The word processor is configured to provide a freestyle-editing environment to a user for editing and formatting an XML document. The freestyle-editing environment enables the user to freely edit the XML document while maintaining the XML integrity of the document. The XML well-formedness monitor is configured to determine if a change to the XML document causes it to not be well-formed, and, if so, to automatically correct the XML document to maintain well-formedness.
In another aspect, the XML well-formedness monitor may access predefined XML well-formedness rules for determining whether the XML document is well-formed. The XML well-formedness monitor may also access predefined correction rules for correcting the XML document to maintain well-formedness.
In yet another aspect, the invention is directed to a method for providing a freestyle-editing environment for editing an XML document and monitoring the XML document for well-formedness. In the freestyle-editing environment, a user is allowed to freely edit the XML document, while in the background, the XML integrity of the document is being maintained. The method determines whether the XML document contains at least one well-formedness violation. If so, the method automatically corrects the violation to restore well-formedness.
In still yet another aspect, the invention monitors the XML document in response to a triggering event. The triggering event is configured to reduce interruption while the XML document is being edited.
Canada 2427122: 'Word-Processing Document Stored in a Single XML File that may be Manipulated by Applications that Understand XML'
From the Canadian Patents Database: Patent Document Number 2427122 [CA 2427122]. Filed: April 30, 2003. Open to Public Inspection: December 28, 2003. International Class (IPC): G06F 17/28. Owners (Country): Microsoft Corporation (United States). Applicants (Country): Microsoft Corporation (United States). See the list of claims.
"A word processor including a native XML file format is provided. The well formed XML file fully represents the word-processor document, and fully supports 100% of word-processor's rich formatting. There are no feature losses when saving the word-processor documents as XML. A published XSD file defines all the rules behind the word-processor's XML file format. Hints may be provided within the XML associated files providing applications that understand XML a shortcut to understanding some of the features provided by the word-processor. The word-processing document is stored in a single XML file. Additionally, manipulation of word-processing documents may be done on computing devices that do not include the word-processor itself."
New Zealand Patent 525484
Patent Number: 525484. Current [2004-01] Status: Examination. Patent Type: Patent Convention. Patent Title: "Word-processing document stored in a single XML file that may be manipulated by applications that understand XML." Filed: 24-APR-2003. Applicant / Patentee: Microsoft Corporation. One Microsoft Way, Redmond, Washington 98052, United States of America. See updated information via the Intellectual Property Office of New Zealand (IPONZ)
United States Patent 6,687,897
"Microsoft Acquires United States Patent 6,687,897: XML Based Script Automation." 'Inventor': Olivier Guinart (Redmond, WA). Assignee: Microsoft Corporation. Application number: 727598. Filed: December 1, 2000. Granted: February 3, 2004. Abstract for patent #6,687,897. "Systems, methods and data structures for encompassing scripts written in one or more scripting languages in a single file. The scripts of a computer system are organized into a single file using Extensible Language Markup (XML). Each script is delimited by a file element and the script's instructions are delimited by a code element within each file element. Other information, such as a name of the script and a functional description of the script may also be included in the file using other XML elements to delimit that information. The language in which a particular script is written is also included within the XML format. When a particular script is executed, the file is parsed to create a list of the script names or of the functional descriptions of the scripts. One or more scripts are selected and the code for those scripts is extracted from the file and executed by the appropriate scripting process. The scripting process that executes a particular script is identified from the scripting extension attribute that is included in the XML format of the file..."
See the thread on XML-DEV, with comments by Michael Champion (bis), Bob Wyman, David Megginson, Michael Kay, W. E. Perry, James Anderson, Rick Jelliffe, and others.
United States Patent Application 20040210818
United States Patent Application 20040210818. "Word-processing document stored in a single XML file that may be manipulated by applications that understand XML."
Assignee: Microsoft Corporation. Inventors:Jones, Brian M.; (Redmond, WA); Bishop, Andrew K.; (Redmond, WA); Snyder, Daniel R.; (Bellevue, WA); Sawicki, Marcin; (Kirkland, WA); Little, Robert A.; (Redmond, WA); Krueger, Anthony D.; (Woodinville, WA). October 21, 2004. Filed: June 28, 2002. Abstract: "A word processor including a native XML file format is provided. The well formed XML file fully represents the word-processor document, and fully supports 100% of word-processor's rich formatting. There are no feature losses when saving the word-processor documents as XML. A published XSD file defines all the rules behind the word-processor's XML file format. Hints may be provided within the XML associated files providing applications that understand XML a shortcut to understanding some of the features provided by the word-processor. The word-processing document is stored in a single XML file. Additionally, manipulation of word-processing documents may be done on computing devices that do not include the word-processor itself."
See comments at Groklaw.
United States Patent #6,898,604
United States Patent 6,898,604. XML serialization and deserialization.
Assignee: Microsoft Corporation (Redmond, WA). Inventors: Keith W. Ballinger; Erik B. Christensen; Stefan H. Pharies. Filed June 29, 2001. Abstract: "An object instance is serialized to a serial format, such as an eXtensible Markup Language (XML) document, based on a mapping between an arbitrary annotated source code file and a schema. The arbitrary annotated source code contains at least one programming type that describes a shape of an object instance and the schema describes a format of a document having a serial format. The mapping defines a correspondence between the shape of the object instance and the format of the document having the serial format. Subsequently, an object instance is converted to the serial format by converting public properties, public fields and method parameters of the object instance to a document having the serial format based on the mapping. Once the mapping is defined, an XML document can also be converted to an object instance based on the mapping."
See "Possible Prior Art for Microsoft XML Patent Found," from ZDNet News, and "Microsoft Defends its Patents." Also: "That Microsoft XML Patent," by Tim Bray (Ongoing Blog, June 03, 2005); "Microsoft Slammed Over XML Patent," by Ingrid Marson (ZDNet, May 26, 2005).
Articles in the Press
"Microsoft Seeks XML-Related Patents." By David Becker. From CNET News.com (January 23, 2004) "Microsoft applies for patents that could prevent competing applications from reading documents created with the latest version of Office. XML capabilities have been one of the main selling points for Office 2003. The patents could create a barrier for competing software, such as future versions of OpenOffice and StarOffice, from working with Microsoft's XML format..."
XML-DEV List discussion thread Microsoft files for XML patents. Contributions by Tim Bray, David Megginson, James Anderson, Scott Parnell, Bob Wyman, John Cowan, Doug Hudgeon, Rex Brooks, Claude L (Len) Bullard, etc. January 23-27, 2004.
"Microsoft Justifies Its XML Patent Moves." By Mary Jo Foley. From Microsoft Watch (January 23, 2004). "It's not clear exactly what Microsoft is seeking to patent. But some company watchers claim that the company's patent is attempt to prohibit competing desktop word-processing applications, such as those from Sun Microsystems, Corel and others, from being able to access Microsoft Word 2003 data stored in the XML format..." See "Microsoft's Not-So-Secret Plot to Overthrow XML?"
"Microsoft Files for XML Patents." By John P. Mello Jr. From ECommerce Times, ECT News Network (January 27, 2004). "We were surprised, and I wouldn't say we were happy when we read that Microsoft was applying for patents in Europe and New Zealand,' said Richard Carriere, director of office productivity products at Ottawa-based Corel, which makes the WordPerfect office suite. 'If the open-source community intended to support the Word 2003 XML format, this will throw a wrench into those plans,' observed Helm. 'It closes off a future avenue, but it doesn't mess up their current plans or products'..."
"MS's XML Patent Creates Waves. Objection Likely Once Patent's Intentions Are Clear." By Paul Brislen (Auckland). In ComputerWorld New Zealand (January 27, 2004). "An application by Microsoft for a New Zealand patent governing the use of XML and word processor applications will be objected to just as soon as anyone can see what exactly the patent covers. The New Zealand Open Source Society president, Peter Harrison, says he discovered the patent while researching Microsoft's moves towards licensing the FAT file system. The patent is currently under examination by the Intellectual Property Office (IPONZ) and few details are available... IPONZ's manager of patents and plant variety rights, Maitlan Maltby, says the examination process could still take some time [and that] the current patent law does not include an 'obviousness' clause, unlike some overseas patent laws..."
"Microsoft Files XML Word Patents Worldwide. Words Do Not Fall Into the Void" By Mu. From INQUIRER (January 24, 2004). "Earlier this week we reported that Microsoft had filed a patent relating to word processing and the XML "open" standard in New Zealand. But it isn't just NZ where Microsoft patent lawyers have been busy on the XML front. It transpires that a number of similar applications have been filed in Europe, in the USA and in Canada."
"MS Patenting Use of XML in Word Processing." From O'Reilly Developer News and New Zealand Open Source Society. January 20, 2004. "The New Zealand Open Source Society have uncovered a disturbing patent application. It appears Microsoft is seeking to patent using XML in word processing documents. 'So what else do Microsoft have in wait for us? How about New Zealand patent 525484 - 'Word processing document stored in a single XML file that may be manipulated by applications that understand XML'. Filed on the 24th of April last year and under examination this baby seems to have slipped by peoples attention'..."
"Microsoft Files for XML Patents. Patents wouldn't immediately affect OpenOffice, say analysts." From Linuxworld (January 24, 2004). "In what is being interpreted as either a preemptive move against IBM's plan to migrate to Linux on the desktop, a direct challenge to software vendors who want to interoperate with Word through XML, or just a more general confirmation that it is worried about Open Source, Microsoft last week filed for various XML patents..."
"No Free Lunch: Microsoft Fumbles the Patent Ball." By Steve Gillmor. In eWEEK (January 30, 2004). "Microsoft has coupled royalty-free licensing with its Office XML schema patent filings, but the move may turn out to be very expensive indeed.
"Microsoft Balances Patents, Standards." By David Becker. In CNET News.com (February 3, 2004). "In the past month, Microsoft has applied for patents in Europe and elsewhere to cover how XML-based documents are created in the company's dominant Word software. The applications are indicative of a struggle faced by Microsoft and other companies: They want to profit from their research and innovations, yet standards-based technology has to be freely available on some level to encourage broad adoption and ensure interoperability."
Principal references:
- EP1376387: 'Word-Processing Document Stored in a Single XML File
- US 20040006744: 'System and Method for Validating an XML Document and Reporting Schema Violations'
- US 20030237048: Word Processor for Freestyle Editing of Well-Formed XML Documents
- Patent Offices:
- European Patent Office
- esp@cenet Information Centre. "A free internet service from the European Patent Organisation. Use it to search 45 million patent documents."
- US Patent and Trademark Office. Search for published applications or document numbers, or for patent numbers.
- Canadian Intellectual Property Office (CIPO). See the search page
- Intellectual Property Office of New Zealand (IPONZ)
- See also: "US Federal Trade Commission Report Calls for Patent Law and Policy Reform." News story 2003-11-11.
- "Patents and Open Standards" - General references.