Microsoft Receives XML Patent
gsfprez writes "Well, i'm no patent lawyer, but if I'm reading this right, it seems that the basics of XML are being patented by Microsoft. If not the files themselves - at least what most of us would do with XML files. From the abstract: 'Systems, methods and data structures for encompassing scripts written in one or more scripting languages in a single file.' That smacks of what my config files do on my G5 for my G5, if you read it with a biased eye." We noted this was happening earlier, and now it's finally come to pass. While the patent does sound a bit dubious, a Microsoft spokesman was quick to deny that they'd be so bold as to patent XML itself.
What will they do with all of those patents years from now when they have lost, or are about to lose, their monopoly on the desktop after some powerful new competitor emerges? Introducing Microsoft's newest division, MSSource!
Microsoft knows better than to try to patent XML itself. That would not stand up even with the U.S. patent office in its current state. Instead, they will patent many aspects and possible uses of XML so there will be no practical method to use XML in a meaningful way without infringing a Microsoft patent.
You are right to compare their XML claims to what we all do with HTML.
Let's pick their abstract apart:
"Systems, methods and data structures" - yadda yadda yadda
"for encompassing scripts" - a way of storing a script program
"written in one or more scripting languages" - let's say JavaScript and VBScript
"in a single file." - Such as within an html file
"The scripts of a computer system" - as we said, JavaScript and VBScript
"are organized into a single file " - as we said, an html file
"using Extensible Language Markup (XML)." - Ok, xml instead of html - but don't forget xml and html are both specific subsets of sml. We'll continue with the html analogy
"Each script is delimited by a file element" - Give each script a unique internal name
"and the script's instructions" - The JavaScript or VBScript code
"are delimited by a code element within each file element." - The code tag goes inside the script name tag. This is similar to a <param> tag inside an <object> in html. This is a case where xml is cleaner than html, and one of many reasons the world is moving to xml. But we'll continue with the html analogy for now anyway.
"Other information" - attributes
"such as a name of the script" - in html this might be implemented as <script type="text/javascript" name="somename">. In reality, each JavaScript function has its own name, and a programmer refers to the code by the functions.
"and a functional description of the script may also be included in the file" - same as the last snipit, where you might have script type="text/javascript" description="This is a description">. Typically html programmers just put this into comments and documentation.
"using other XML elements to delimit that information." - As stated above, xml is better because of its ability to create tags. But I'm going to continue dragging the html example along.
"The language in which a particular script is written is also included within the XML format." - Similar to the type attribute in <script type="text/javascript"> or the old language attribute in <script language="javascript">
"When a particular script is executed," - When a user browses to a page with JavaScript, or runs in some other shell
"the file is parsed" - yeah, I hope so
"to create a list of the script names" - similar to function names, albeit with some encapsulation
"or of the functional descriptions of the scripts." - Its always nice to have a more human-readable version, especially if users are going to see program names.
"One or more scripts are selected" - On an html page, some JavaScript scripts may run when the page is loaded, others when a form is validated
"and the code for those scripts is extracted from the file" - read the script into memory into some blob text object
"and executed" - interpreted and run the script
"by the appropriate scripting process." JavaScript is done by a JavaScript interpreter, VBScript by a VBScript interpreter, etc.
"The scripting process that executes a particular script" - The JavaScript or VBScript interpreter
"is identified from the scripting extension attribute" - Is identified by the "type" attribute as seen in <script type="text/javascript">"
"that is included in the XML format of the file." - Yeah, this analogy uses html, and we're all slowly moving to an xml world.
In summary: We're all moving to xml for many obvious reasons, and Microsoft has patented one of them. We've all been adding multiple scripts to our html files for years, and there have been pain points. One promise of xml is to have more easily parsed data and meta-data due to the ability to define tags and the use of hierarchical tags instead of a fixed list of attributes. Every html file I've ever written falls into this classification where xml is desired, and this includes my javascript code. We've all been doing this for years within html.
What Microsoft has patented is an obvious extension of current industry practices to anyone skilled in the art, and the patent should not have been granted.