| Extensible framework for handling different mark up language parsers and generators in a computing device -> Monitor Keywords |
|
Extensible framework for handling different mark up language parsers and generators in a computing deviceRelated Patent Categories: Electrical Computers And Digital Processing Systems: Multicomputer Data Transferring, Distributed Data Processing, Processing AgentExtensible framework for handling different mark up language parsers and generators in a computing device description/claimsThe Patent Description & Claims data below is from USPTO Patent Application 20070124362, Extensible framework for handling different mark up language parsers and generators in a computing device. Brief Patent Description - Full Patent Description - Patent Application Claims FIELD OF THE INVENTION [0001] This invention relates to a method of and apparatus for handling text and binary mark up languages. The invention finds application in a computing device. Its advantages are especially valuable for a resource constrained mobile computing device, i.e. a battery powered, portable device in which there are power and memory constraints, but are relevant to other kinds of computing devices, such as desktop PCs, set top boxes etc. DESCRIPTION OF THE PRIOR ART [0002] Mark-up language is a set of codes in a text or binary file that enable a computing device to format the text for correct display or printing. A client (i.e. any process that requests a service from another process) in a software system creates mark-up language using a `generator`. It reads and interprets mark-up language using a `parser`. [0003] In the prior art, parsers and generators have been specific to certain kinds of mark-up languages. For example, a client could use an XML (extensible mark-up language) parser to interpret and handle XML files; it could use a separate WBXML (WAP binary XML) parser to interpret and handle WBML files. In recent years, there has been a proliferation of different mark-up languages; the conventional approach has been to deploy in device ROM several separate fully functioning parsers for each mark up language that the device needs to parse. This inevitably takes up valuable ROM space; as there may need to be an instantiation of each parser at the same time, valuable RAM may also be occupied. [0004] Furthermore, in the prior art, the client talks directly to the XML parser and the separate WBXML parser. Also, when the client needs to generate mark-up language format files, there could be an XML generator and a separate WBXML generator. Again, the client would talk directly to each generator. Clients therefore have had to be hard-coded to handle and talk directly with these specific kinds of parsers and generators; in practice, this has meant that clients are either extremely complex if they need to handle several different mark up language formats (further increasing the demand on both ROM and also RAM memory) or else they are restricted to a single mark-up language format. SUMMARY OF THE PRESENT INVENTION [0005] The present invention is a computing device programmed with a client that can operate with a parser or generator for both text and binary mark up languages; the client uses a unique integer value that can be interpreted in an index of elements, attributes and attribute values needed to describe a particular type of mark-up document, the index mapping that unique integer value not only (a) to a token associated with predefined element, attribute or attribute value to enable a token based mark up language to be handled but also (b) to a string associated with a predefined element, attribute or attribute value to enable to enable a string based mark up language to be handled. [0006] In one implementation, the text mark up language is XML and the binary mark up language is WBXML. The invention in effect provides for there to be a common API to parse binary (e.g. WBXML) as well as text (e.g. XML) mark-up language. This greatly simplifies the implementation of clients. Further, clients that require parsing of different mark-up languages will require less memory, as they will communicate with only one common API to parse both binary and text mark-up languages. Also, clients will not need to know what the source document is (i.e. text or binary) as the APIs are the same. Appendix C discusses this approach in more detail. [0007] Hence, a core technical advantage offered by the present invention is that it reduces device memory requirements; this in turn can lead to faster loading of code and/or less use of virtual memory. These advantages are especially useful in mobile computing devices, where techniques that lower memory requirements, reduce power consumption and extend battery life are very valuable. The term `mobile computing device` should be expansively construed to cover mobile telephones, smartphones, personal organisers, wireless information device and any other kind of portable, mobile computing device. But these advantages are also valuable in fixed computing devices such as PCs, set top boxes, games consoles etc. and can lead directly to lower BOM (bill of material) costs because of the lower memory requirements. [0008] In an implementation, there is a table of mappings of each of the tokens to each of the strings that is created and each mapping is given one of the unique integer values. Two lists of unique integer values are created: one indexed on tokens and the other indexed on the index of the position of a string in a string pool table. The two indexed lists are for performance, so that we can quickly find a token from an index and vice versa. [0009] Another feature is that an extensible framework can be deployed that accepts one or more mark-up language parsers and/or generators, each implemented as plug-ins to the framework, with different plug-ins enabling different kinds of mark up languages to be handled by the device. A namespace plug-in to the extensible framework sets-up all the elements, attributes and attribute values for a namespace. The index that maps the unique integer value to both the tokens and strings is encapsulated in the namespace plug-in and therefore is insulated from the client, parser and generator. [0010] The extensible framework is an API (which term includes a set of APIs) that enables different types of mark-up parsers and generators to be included in the framework by means of the parser/generator plug-ins. A plug-in is a replaceable item of executable code that provides specific services to a loosely coupled application that can load or invoke it at run-time; it can therefore extend the framework at run-time (i.e. there is no need to recompile or change the framework for a plug-in to work). [0011] The extensible framework approach has many advantages over the conventional approach of hard-coding clients to specific parsers and generators. Because of the extensible plug-in design, it is possible to allow new kinds of parsers and generators to be loaded onto a device after that device has been shipped to an end-user. The only requirement is that they are implemented as plug-ins that are compatible with the extensible framework. This is especially useful in the context of mark up language parsers and generators since there are many potential languages that might need to be handled by a device but it is impractical to hard-code the capability to handle all of these when the device is designed because of the memory overhead. [0012] Also, since new mark up languages (or extensions/variants to existing languages, including new schemas) are frequently developed, the ability to extend an existing design of computing device to handle these new or extended languages is very useful. The extensible framework may be a stand alone application or may form part of a device operating system: if the latter, a particular version of the operating system that includes the extensible framework can be developed and included in device ROM for a broad range of computing devices: this version will be able to handle different kinds of mark up languages when appropriate parser/generator plug-ins are used. BRIEF DESCRIPTION OF THE DRAWINGS [0013] The present invention will be described with reference to the accompanying drawings, in which: [0014] FIG. 1 is a schematic block diagram of an extensible framework for handling mark up languages; a parser, generator, client and four further plug-ins are shown; [0015] FIG. 2 is a schematic block diagram of a client parsing using a DTD validator and auto-corrector; [0016] FIG. 3 is a schematic block diagram of a client using a generator with a DTD validator and auto-corrector; [0017] FIG. 4 is a class diagram for the extensible framework; [0018] FIG. 5 is a class diagram of a WBXML parser used to parse SyncML; [0019] FIG. 6 is a sequence diagram for a parser and generator session; [0020] FIG. 7 is a sequence diagram showing DTD validation and auto-correction; Continue reading about Extensible framework for handling different mark up language parsers and generators in a computing device... Full patent description for Extensible framework for handling different mark up language parsers and generators in a computing device Brief Patent Description - Full Patent Description - Patent Application Claims Click on the above for other options relating to this Extensible framework for handling different mark up language parsers and generators in a computing device patent application. ### 1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored. 3. Each week you receive an email with patent applications related to your keywords. Start now! - Receive info on patent apps like Extensible framework for handling different mark up language parsers and generators in a computing device or other areas of interest. ### Previous Patent Application: Systems and methods for processing audio using multiple speech technologies Next Patent Application: Instrument-based distributed computing systems Industry Class: Electrical computers and digital processing systems: multicomputer data transferring or plural processor synchronization ### FreshPatents.com Support Thank you for viewing the Extensible framework for handling different mark up language parsers and generators in a computing device patent info. IP-related news and info Results in 0.8393 seconds Other interesting Feshpatents.com categories: Qualcomm , Schering-Plough , Schlumberger , Seagate , Siemens , Texas Instruments , 174 |
* Protect your Inventions * US Patent Office filing
PATENT INFO |
|