OASIS Unstructured Operation Markup Language eXtended (UOML-X) TC


Q: What is UOML?

The Unstructured Operation Markup Language (UOML) OASIS Standard defines instructions to process documents, i.e., information that can be printed on paper.

Although expressed by XML, UOML is not a document format. It is an interface standard between application software and common platform software called DoCbase Management System (DCMS). Application software operates the document by issuing UOML instructions to DCMS, then DCMS implements operations defined by these instructions. This process is similar to database management system (DBMS), where UOML acts in a role similar to SQL.

UOML is a universally representative operating language for the abstract description of documents, with features including document organization, page description, information safety, index and search, content extraction, font management, plug-in mechanism, and script description, etc. UOML Part 1 only involves page layout and basic document organization; the other functions will be defined in UOML future parts.

UOML was approved as an OASIS Standard in 2008. UOML is vendor-neutral, document-format-neutral, application-neutral, platform-neutral and programming language neutral.

Q: Who uses UOML?

Document application software uses UOML to operate documents, DCMS implements functions defined by UOML.

Q: What is included in UOML part 1 specification?

The UOML Part 1 specification includes instructions to create, retrieve, modify and render documents. These instructions are able to describe arbitrary page layout and organize multiple documents in a tree structure called docbase.

UOML Part 1 is designed to emulate paper functions that don't include any security control functions, interactive functions such as navigation, or search/query functions. These functions will be defined in future parts of UOML. Furthermore, UOML Part 1 does not deal with 3-D or video/audio information.

In addition, UOML Part 1 includes an instruction to get the page bitmap of a specific page. Thus, the application software doesn't need to render the page itself; instead it issues this instruction, then displays/prints the page using the retrieved bitmap.

Q: What is a UOML instruction?

A UOML instruction is a kind of XML document conforming to the UOML standard. It is not used for storage, but as an instruction issued by application software to DCMS, or from DCMS to application software as a return result. This is why we call it a UOML instruction, instead of a UOML document.

UOML Part 1 defines nine UOML instructions: OPEN, CLOSE, INSERT, DELETE, GET, SET, USE, SYSTEM, and RET. Within these instructions, the RET instruction contains the operation result; it is issued by DCMS to application software. The other instructions are issued by application software to DCMS. Detail descriptions of these instructions are referenced in the UOML specification.

Q: What is a UOML document?

'UOML document' is short for 'UOML-accessible document', it refers to a document that can be accessed by issuing UOML instructions.

Q: What is Docbase?

Docbase means document base, the container of mass documents. It is the root level of the UOML document structure. In non-formal occasions, docbase is used as a reference for the Docbase Management System.

Q: What is DCMS (Docbase Management System)?

DCMS, short for DoCbase Management System, is the platform software that implements the function defined by UOML.

Q: What is the abstract document model of UOML?

Just as SQL is based on an abstract relationship model, UOML is based on an abstract document model. This abstract document model is abstracted from paper and can be applied to any document that can be printed on paper. DCMS maps the document to an instance of this model, and a UOML instruction describes an abstract operation on this instance. DCMS maps this abstract operation to corresponding physical operation on the mapped document and executes this physical operation.

Q: What is the relationship between UOML and DCMS?

A diagram of the relationship of UOML with applications and DoCbase Management System(DCMS) is as follows:

Q: Does the UOML document model describe a document format?

The abstract document model is a tree of UOML objects, but it does not describe a document format. It is an abstract model, not a storage format. UOML has no limitations on storage formats; DCMS is free to adopt any storage format.

Q: What is a UOML object?

A UOML object, such as DOCBASE, DOC, PAGE, TEXT, LINE, or IMAGE, is a node of an abstract document model, Within UOML Part 1, three UOML objects (DOCBASE, DOCSET, and DOC) are used for document tree structure, 12 UOML objects (ARC, BEZIER, CIRCLE, ELLIPSE, IMAGE, LINE, RECT, ROUNDRECT, SUBPATH, PATH, TEXT, and CMD) are used for layout description, and eight other UOML objects (PAGE, LAYER, OBJECTSTREAM, METALIST, META, FONTLIST, FONTMAP, and EMBEDFONT) are included.

Q: Where should UOML objects be used?

UOML objects are used as attributes of UOML instructions, not as a part of the document storage format.

Q: Why is the UOML OASIS Standard so concise?

To gain maximum interoperability, UOML is designed for general software programmers who are not document experts. One of the goal of the UOML design is to make the standard as simple as possible, like SQL and GDI. The fact that the specification has only 40 pages proves that this goal has been reached.

Q: Why are there no instructions for navigation, encryption, or three-dimensional and streaming media?

Areas such as document security control and navigation will be introduced in a follow-up part of UOML. Three-dimensional, streaming media-related functions will be introduced as plug-ins.

Q: What is going to be included in subsequent parts of UOML?

UOML Part 2 will include security control functions. Other parts have not been decided by the OASIS UOML-X TC. Potential functions of future parts include extended operation such as navigation and thread, plug-ins, queries, and application collaborations.

Q: Why UOML?

As thousands of document formats exist in the world, it is important to form a standard to accomplish interoperability between different documents. Former attempts have been limited to document storage format standards. Simple formats like TXT cannot meet the needs of the varieties of software; complicated formats like OOXML carry associated research and development costs that few companies can afford or have enough professional personnel to develop. All in all, storage format standards have been proved to be inadequate for the document database industry's interoperability beyond a decade. Now, with the advent of UOML, an operation interface standard provides a better way to achieve document interoperability, like SQL for database industry, and USB for disk industry.

Q: What is UOML's IPR Policy?

UOML is provided under the RF on RAND mode of the OASIS IPR Policy. The UOML IPR policy is royalty free under condition that the software which uses UOML is royalty free. In additional, UOML is free for any application software, includes freeware and commercial products.

Q: What are the differences between UOML and PDF/XPS?

PDF and XPS are storage format standards, while UOML is an operation interface standard.

Q: What are the differences between UOML and ODF/OOXML?

ODF and OOXML are storage format standards, while UOML is an operation interface standard. Furthermore, ODF and OOXML deal with information before typesetting, while UOML deals with information after typesetting.

To a certain extent, UOML can be used to enable interoperation between ODF and OOXML. For example, a person may save an OOXML file to a UOML document by using a free UOML writer; he or she then may use an ODF office suite, which conforms to UOML, to open, view and comment on the file.

Q: What is the UOML Alliance?

The UOML Alliance is an association formed voluntarily by enterprises, units, organizations, and individuals that abide by the UOML OASIS Standard. It aims to achieve document interoperability through the creation and implementation of common standards.