From: Subject: Introduction to the Darwin Information Typing Architecture Date: Wed, 28 Mar 2007 21:19:46 -0800 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0018_01C7717E.CFA2A7F0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 This is a multi-part message in MIME format. ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www-128.ibm.com/developerworks/xml/library/x-dita1/ =EF=BB=BF Introduction to the = Darwin Information Typing Architecture
3DIBM=C2=AE 3D""
=
    Country/region [select]      Terms of=20 use
 
3D""=20
3D""
  =20
    
     Home      Products      Services &=20 industry solutions      Support &=20 downloads      My IBM     
<= /TD>
 
developerWorks
In=20 this article:
3D""=20 Ba= ckground
3D""=20 In= formation=20 interchange, tools management, and = extensibility
3D""=20 Ma= in=20 features of the DITA architecture
3D""=20 Th= e=20 topic as the basic architectural unit
3D""=20 Be= nefits=20 of the DITA architecture
3D""=20 DI= TA=20 overview
3D""=20 DI= TA=20 delivery contexts
3D""=20 DI= TA=20 typed topic specializations (infotyped topics)
3D""=20 DI= TA=20 vocabulary specialization (domains)
3D""=20 DI= TA=20 common structures
3D""=20 E= lements=20 designed for specialization
3D""=20 T= he=20 values of specialization
3D""=20 R= ole=20 of content communities in DITA
3D""=20 E= nd=20 notes
3D""=20 N= otices
3D""=20 Resources
3D""=20 About=20 the authors
3D""=20 = Rate=20 this page
3D""=20 3D""=20

Related = links
3D""=20 3D""=20
3D"skip
3D""=20 3D""=20
developerWorks  >  XML  >3D""=20

Introduction to the Darwin Information Typing=20 Architecture

Toward portable technical=20 information

3D""=20
3DdeveloperWorks=20
3D""
3D""=20
Document=20 options
3D""=20 3D""=20

Document options = requiring=20 JavaScript are not=20 = displayed


Rate this=20 page
3D""=20 3D""=20

= Help=20 us improve this=20 = content

Level: Introductory

Don=20 Day (mailto:dond@us.ibm.com?subject=3DIntroduction=20 to the Darwin Information Typing Architecture)IBM=20 Corporation
Michael=20 Priestley (mailto:mpriestl@ca.ibm.com?subject=3DIntroduction=20 to the Darwin Information Typing Architecture)IBM=20 Corporation
David=20 Schell (mailto:dschell@us.ibm.com?subject=3DIntroduction=20 to the Darwin Information Typing Architecture)IBM=20 Corporation

01 Mar 2001
Updated 28 Sep 2005

The Darwin Information Typing Architecture = (DITA) is=20 an XML-based, end-to-end architecture for authoring, = producing,=20 and delivering technical information. This architecture = consists=20 of a set of design principles for creating = "information-typed"=20 modules at a topic level and for using that content in = delivery=20 modes such as online help and product support portals on = the Web.=20 This document is a roadmap for DITA: what it is and how it = applies=20 to technical documentation.

The Darwin Information Typing Architecture (DITA) is an=20 XML-based, end-to-end architecture for authoring, producing, = and=20 delivering technical information. This architecture consists = of a=20 set of design principles for creating "information-typed" = modules at=20 a topic level and for using that content in delivery modes = such as=20 online help and product support portals on the Web.

At the heart of DITA, representing the generic building = block of=20 a topic-oriented information architecture, is an XML = document type=20 definition (DTD) called "the topic DTD." The extensible=20 architecture, however, is the defining part of this design = for=20 technical information; the topic DTD, or any schema based on = it, is=20 just an instantiation of the design principles of the=20 architecture.

This document is a roadmap for the Darwin Information = Typing=20 Architecture: what it is and how it applies to technical=20 documentation. It is also a product of the architecture, = having been=20 written entirely in XML and produced using the principles = described=20 here.

Background

This architecture and DTD were designed by a = cross-company=20 workgroup representing user assistance teams from across = IBM. After=20 an initial investigation in late 1999, the workgroup = developed the=20 architecture collaboratively during 2000 through postings to = a=20 database and weekly teleconferences. The architecture has = been=20 placed on IBM's developerWorks Web site as an alternative = XML-based=20 documentation system, designed to exploit XML as its = encoding=20 format. With the delivery of these significant updates, = which=20 contain enhancements for consistency and flexibility, we = consider=20 the DITA design to be past its prototype stage.


3D""=20
3D""=20
= Back=20 to=20 = top


Information = interchange, tools=20 management, and extensibility

IBM, with millions of pages of documentation for its = products,=20 has its own very complex SGML DTD, IBMIDDoc, which has = supported=20 this documentation since the early 1990s. The workgroup had = to=20 consider from the outset, "Why not just convert IBMIDDoc, or = use an=20 existing XML DTD such as DocBook, or TEI, or XHTML?" The = answer=20 requires some reflection about the nature of technical=20 information.

First, both SGML and XML are recognized as meta languages = that=20 allow communities of data owners to describe their = information=20 assets in ways that reflect how they develop, store, and = process=20 that information. Because knowledge representation is so = strongly=20 related to corporate cultures and community jargon, most = attempts to=20 define a universal DTD have ended up either unused or = unfinished. The ideal for information interchange is = to share=20 the semantics and the transformational rules for this = information=20 with other data-owning communities.

Second, most companies rely on many delivery systems, or = process=20 their information in ways that differ widely from company to = company. Therefore any attempt at a universal tool = set also=20 proves futile. The ideal for tools management is to = base a=20 processing architecture on standards, to leverage the = contributed=20 experience of many others, and to solve common problems in a = broad=20 community.

Third, most attempts to formalize a document description=20 vocabulary (DTD, or schema) have been done as information = modeling=20 exercises to capture the current business practices = of data=20 owners. This approach tends to encode legacy = practices into=20 the resulting DTDs or vocabularies. The ideal for future=20 extensibility in DTDs for technical information (or any=20 information that is continually exploited at the leading = edge of=20 technology) is to build the fewest possible presumptions = about the=20 top-down processing system into the design of the DTD.

In the beginning, the workgroup tried to understand XML's = role in=20 this leading edge of information technology. As the work = progressed,=20 the team became aware that any DTD design effort would have = to=20 account for a plurality of vocabularies, a tools-agnostic = processing=20 paradigm, and a legacy-free view of information structures. = Many=20 current DTDs incorporate ways to deal with some of these = issues, but=20 the breadth of the issues leads to more than just a DTD. To = support=20 many products, brands, companies, styles, and delivery = methods, we=20 had to consider the entire authoring-to-delivery process. = What=20 resulted was a range of recommendations that required us to=20 represent our design, not just as a DTD, but as an = information=20 architecture.


3D""=20
3D""=20
= Back=20 to=20 = top


Main features of the = DITA=20 architecture

As the "Architecture" part of DITA's name suggests, DITA = has=20 unifying features that serve to organize and integrate=20 information:

  • Topic orientation. The highest standard = structure in=20 DITA is the topic. Any higher structure than a topic is = usually=20 part of the processing context for a topic, such as a=20 print-organizing structure or the helpset-like navigation = for a=20 set of topics. Also, topics have no internal hierarchical = nesting;=20 for internal organization, they rely on sections that = define or=20 directly support the topic.=20
  • Reuse. A principal goal for DITA has been to = reduce the=20 practice of copying content from one place to another as a = way of=20 reusing content. Reuse within DITA occurs on two levels:=20
    • Topic reuse. Because of the non-nesting = structure of=20 topics, a topic can be reused in any topic-like context. = Information designers know that when they reuse a topic = in a new=20 information model, the architecture will process it = consistently=20 in its new context.=20
    • Content reuse. The SGML method of declaring = reusable=20 external entities is available for XML users, but this = has=20 several practical limitations in XML. DITA instead leans = toward=20 a different SGML reuse technique and provides each = element with=20 a conref attribute that can point to any other = equivalent=20 element in the same or any other topic. This referencing = mechanism starts with a base element, thus assuring that = a=20 fail-safe structure is always part of the calling topic = (the=20 topic that contains the element with the conref = attribute). The=20 new content is always functionally equivalent to the = element=20 that it replaces.
  • Specialization. The class mechanism in CSS = indicates a=20 common formatting semantic for any element that has a = matching=20 class value. In the same way, any DITA element can be = extended=20 into a new element whose identifier gets added to the = class=20 attribute through its DTD. Therefore, a new element is = always=20 associated to its base, or to any element in its = specialization=20 sequence.=20
    • Topic specialization. Applied to topic = structures,=20 specialization is a natural way to extend the generic = topic into=20 new information types (or infotypes), which in turn can = be=20 extended into more specific instantiations of = information=20 structures. For example, a recipe, a material safety = data sheet,=20 and an encyclopedia article are all potential = derivations from a=20 common reference topic.=20
    • Domain specialization. Using the same = specialization=20 principle, the element vocabulary within a generic topic = (or set=20 of infotyped topics) can be extended by introducing = elements=20 that reflect a particular information domain served by = those=20 topics. For example, a keyword can be extended as a unit = of=20 weight in a recipe, as a part name in a hardware = reference, or=20 as a variable in a programming reference. A specialized = domain,=20 such as programming phrases, can be introduced by = substitution=20 anywhere that the root elements are allowed. This makes = the=20 entire vocabulary available throughout all the infotyped = topics=20 used within a discipline. Also, a domain can be replaced = within=20 existing infotyped topics, in effect hiding the jargon = of one=20 discipline from writers dealing with the content of = another. Yet=20 both sets of topics can be appropriate for the same user = roles=20 of performing tasks or getting reference information. =
  • Property-based processing. The DITA model = provides=20 metadata and attributes that can be used to associate or = filter=20 the content of DITA topics with applications such as = content=20 management systems, search engines, processing filters, = and so on.=20
    • Extensive metadata to make topics easier to = find. The=20 DITA model for metadata supports the standard categories = for the=20 Dublin Core Metadata Initiative. In addition, the DITA = metadata=20 enables many different content management approaches to = be=20 applied to its content.=20
    • Universal properties. Most elements in the = topic DTD=20 contain a set of universal attributes that enable the = elements=20 to be used as selectors, filters, content referencing=20 infrastructure, and multi-language support. In addition, = some=20 elements, whose attributes can serve a range of = specialized=20 roles, have been analyzed to make sure that their = enumerated=20 values provide a rich basis for specialization (which = usually=20 constrains values and never adds to them).
  • Taking advantage of existing tags and tools. = Rather=20 than being a radical departure from the familiar, DITA = builds on=20 well-accepted sets of tags and can be used with standard = XML=20 tools.=20
    • Leveraging popular language subsets. The core = elements in DITA's topic DTD borrow from HTML and XHTML, = using=20 familiar element names like p, ol, ul, and dl within an=20 HTML-like topic structure. In fact, DITA topics can be = written,=20 like HTML for rendering directly in a browser. In more = ambitious=20 designs, DITA topics can be written, like SGML, to be = normalized=20 through processing into a deliverable -- say, XHTML or a = well-formed XML format targeted for a particular = browser's=20 ability to handle XML. Also, DITA makes use of the = popular OASIS=20 (formerly CALS) table model.=20
    • Leveraging popular and well-supported tools. = The XML=20 processing model is widely supported by a number of = vendors. The=20 class-based extension mechanism in DITA translates well = to the=20 design features of the XSLT and CSS stylesheet languages = defined=20 by the World Wide Web Consortium and supported in many=20 transformation tools, editors, and browsers. DITA topics = can be=20 processed by a spectrum of tools ranging from shareware = to=20 custom tailored products, on almost any operating = platform.=20

3D""=20
3D""=20
= Back=20 to=20 = top


The topic as the basic=20 architectural unit

The various information architectures for online = deliverables all=20 tend to focus on the idea of topics as the main design point = for=20 such information. A topic is a unit of information that = describes a=20 single task, concept, or reference item. The information = category=20 (concept, task, or reference) is its information type (or = infotype).=20 A new information type can be introduced by = specialization=20 from the structures in the base topic DTD. Typed topics are = easily=20 managed within content management systems as reusable, = stand-alone=20 units of information. For example, selected topics can be = gathered,=20 arranged, and processed within a delivery context to = provide=20 a variety of deliverables. These deliverables might be = groups of=20 recently updated topics for review, helpsets for building = into a=20 user assistance application, or even chapters or sections in = a=20 booklet that are printed from user-selected search results = or=20 "shopping lists."


3D""=20
3D""=20
= Back=20 to=20 = top


Benefits of the DITA=20 architecture

Through topic granularity and topic type specialization, = DITA=20 brings the following benefits of the object-oriented model = to=20 information sets:

  • Encapsulation. The designer of the topic type = only=20 needs to address a specific, manageable problem domain. = The author=20 only needs to learn the elements that are specific to the = topic=20 type. The implementer of the processing for the topic type = only=20 needs to process elements that are special.=20
  • Polymorphism. Special topic types can be = treated as=20 more generic topic types for common processing.=20
  • Message passing. The class attribute preserves = at all=20 times the derivation hierarchy of an element. At any time, = a topic=20 may be generalized back to any earlier form, and if the = class=20 attributes are preserved, these topics may be = re-specialized. One=20 use of this capability would be to allow two separate = disciplines=20 to merge data at an earlier common part of the = specialization=20 hierarchy, after which they can be transformed into one, = the=20 other, or a brand new domain and set of infotyped topics. =

DITA can be considered object-oriented due to:

  • Data and processors that are separated from their = environment=20 and can be chunked to provide behaviors similar to=20 object-orientation (such as override transforms that = modify or=20 redefine earlier behaviors).=20
  • Classification of elements through a sequence of = derivations=20 that are progressively more specific, possibly more = constrained,=20 and always rigidly tied to a consistent processing or = rendering=20 model.=20
  • Inheritance of behaviors, to the extent that new = elements=20 either fall through to behaviors for ancestors in their = derivation=20 hierarchy, or can be mapped to modified processors that = extend=20 previous behaviors.

With discipline and ingenuity, some of the benefits of = topic=20 information sets can be provided through a book DTD. In = particular,=20 techniques for chunking can generate topics out of a book = DTD. In=20 DITA, the converse approach is possible: A book can be = assembled=20 from a set of DITA topics. In both cases, however, the = adaptation is=20 secondary to the primary purpose of the DTD -- that is, if = you are=20 primarily authoring books, it makes the most sense to use a = DTD that=20 is designed for books. If you are primarily authoring = topics, it=20 makes sense to use a DTD that is designed for topics and can = scale=20 to large, processable collections of topics.


3D""=20
3D""=20
= Back=20 to=20 = top


DITA = overview

The Darwin Information Typing Architecture defines a set = of=20 relationships between the document parts, processors, and=20 communities of users of the information. DITA has the = following=20 layers that relate to specific design points expressed in = its core=20 DTD, topic.

Layers in the Darwin Information Typing = Architecture

Delivery = contexts
helpset aggregate printing Web site; information=20 portal
Typed topic=20 structures
topic concept task reference
Specialized = vocabularies=20 (domains) across information types
Typed topic: concept task reference
Included domains: highlighting = software=20 programming user interface
Common = structures
metadata OASIS (CALS) = table

A typed topic -- whether concept, task, or reference -- = is a=20 stand-alone unit of ready-to-be-published information. Above = the=20 typed-topic layer are any processing applications that may = be driven=20 by a superset DTD; below it are the two types of content = models that=20 form the basis of all specialized DTDs within the = architecture.=20 Next, we'll look at each of these layers in more = detail.


3D""=20
3D""=20
= Back=20 to=20 = top


DITA delivery=20 contexts

This domain represents the processing layer for topical=20 information. Topics can be processed singly or within a = delivery=20 context that relates multiple topics to a defined = deliverable.=20 Delivery contexts also include document management systems,=20 authoring units, packages for translation, and more.

delivery = contexts
helpset aggregate printing Web site; information=20 portal

3D""=20
3D""=20
= Back=20 to=20 = top


DITA typed topic = specializations=20 (infotyped topics)

The typed topics represent the fundamental structuring = layer for=20 DITA topic-oriented content. The basis of the architecture = is the=20 topic structure, from which the concept, = task,=20 and reference structures are specialized. = Extensibility to=20 other typed topics is possible through further = specialization.

typed topic=20 structures
topic concept task reference

The four information types (topic, concept, task, and = reference)=20 represent the primary content categories used in the = technical=20 documentation community. Moreover, specialized information = types,=20 based on the original four, can be defined as required.

As a notable feature of this architecture, communities = can define=20 or extend additional information types that represent their = own=20 data. Examples of such content include product support = information,=20 programming message descriptions, and GUI definitions. In = addition=20 to the ability to type topics and define specific content = models=20 therein, DITA also provides the ability to extend tag = vocabularies=20 that pertain to a domain. Domain specialization takes the = place of=20 what had been called "shared structures" in DITA's original=20 design.


3D""=20
3D""=20
= Back=20 to=20 = top


DITA vocabulary = specialization=20 (domains)

Generally, when a set of infotyped topics are used within = a=20 domain of knowledge, such as computer software or hardware, = a common=20 vocabulary is shared across the infotyped topics. However, = the same=20 infotyped topic can be used across domains that have = different=20 vocabularies and semantics. For example, a hardware = reference topic=20 might refer to diagnostic codes while a software reference = topic=20 might refer to error message numbers, with neither domain=20 necessarily needing to expose the other domain's unique = vocabulary=20 to its own writers.

Using the same technique as specialization for topics, = DITA=20 allows the definition of domains of special vocabulary that = can be=20 shared among infotyped topics. Domains can even be elided = entirely,=20 to produce typed topics that have only the core elements. <= SUP>1=20 The vocabulary of a domain can take the form of phrases, = special=20 paragraphs, and lists -- basically anything allowed within a = section, the smallest organizing part of a topic.

specialized = vocabularies=20 (domains) across information types
Typed topic: concept task reference
Included domains: = highlighting = software=20 programming user interface

The basic domains defined as examples for DITA = include:

Domain Elements
highlighting b, u, i, tt, sup, = sub
software msgph, msgblock, msgnum, = cmdname,=20 varname, filepath, userinput, systemoutput
programming codeph, codeblock, option, = var,=20 parmname, synph, oper, delim, sep, apiname, parml, = plentry,=20 pt, pd, syntaxdiagram, synblk, groupseq, groupchoice,=20 groupcomp, fragment, fragref, synnote, synnoteref, = repsep, kwd=20
user interface uicontrol, wintitle, = menucascade,=20 shortcut

By following the rules for specializing a new domain of = content,=20 you can extend, replace, or remove these domains. Moreover, = content=20 specialization enables you to name and extend any = content=20 element in the scope of DITA infotyped topics for a more=20 semantically significant role in a new domain.

To enable specialized vocabulary, you declare a parameter = entity=20 equivalent for every element used in a DTD (such as a topic = or one=20 of its specializations), and then use the parameter entities = instead=20 of literal element tokens within the content models of that = DTD.=20 Later, after entity substitution, because an element's = parameter=20 entity is redefined to include both the original element and = the=20 domain elements derived from that element, anywhere the = original=20 element is allowed, the other derived domain elements are = also=20 allowed. In effect, a domain-agnostic topic can be easily = extended=20 for different domains by simply changing the scope of entity = set=20 inclusions in a front-end DTD "shell" that formalizes the = vocabulary=20 extensions within that typed topic or family of typed = topics


3D""=20
3D""=20
= Back=20 to=20 = top


DITA common=20 structures

One of the design points of DITA has been to exploit the = reuse of=20 common substructures within the world of XML. Accordingly, = the topic=20 DTD incorporates the OASIS table model (known originally as = the CALS=20 table model). It also has a defined set of metadata that = might be=20 shared directly with the metadata models of quite different = DTDs or=20 schemas.

common = structures
metadata OASIS (CALS) = table

The metadata structure defines document control = information for=20 individual topics, higher level processing DTDs, or even for = HTML=20 documents that are associated to the metadata as sidefiles = or as=20 database records.

The table structure provides presentational semantics for = body-level content. The OASIS/CALS table display model is = supported=20 in many popular XML editors.


3D""=20
3D""=20
= Back=20 to=20 = top


Elements designed for=20 specialization

DITA provides a rich base for specialization because of = the=20 general design of elements used in its archetype-like topic = DTD.

For example, a section in the base topic DTD can contain = both=20 text and element data. However, a section can be specialized = to=20 eliminate PCDATA, yielding an element-only content model = similar to=20 the body level of most DTDs. Specialized another way, a = section can=20 eliminate most block-like elements and thus be characterized = as a=20 description for definitions, field labels, parts, and so = forth.

With DITA, an effort has been made to select element = names that=20 are popular or that are common with HTML. Some semantic = names have=20 been borrowed from industry DTDs that support large SGML = libraries,=20 such as IBMIDDoc and DocBook.

The attribute lists within the topic DTD reflect this = design=20 philosophy. For example, one of the "universal attributes" = (which=20 appear on most elements) is importance, which = defines=20 values for weightings or appraisals that are often used as=20 properties in specialized elements. This attribute shows up = in=20 several elements of the task topic specialization with only = two=20 allowed values out of the original set: "optional' and = "required."=20 In other domains, the elements are more appropriately ranked = as=20 "high" or "low" -- again values that are provided at the = topic=20 level.


3D""=20
3D""=20
= Back=20 to=20 = top


The values of=20 specialization

A company that has specific information needs can define=20 specialized topic types. For example, a product group might = identify=20 three main types of reference topic: messages, utilities, = and APIs.=20 By creating a specialized topic type for each type of = content, the=20 product architect can ensure that each type of topic has the = appropriate content. In addition, the specialized topics = make=20 XML-aware search more useful, because users can make = fine-grained=20 distinctions. For example, a user could limit a search for=20 xyz only in messages or only in APIs. A user could = also=20 search for xyz across reference topics in = general.

Rules govern how to specialize safely: Each new = information type=20 must map to an existing one, and must be more restrictive in = the=20 content that it allows. With such specialization, new = information=20 types can use generic processing streams for translation, = print, and=20 Web publishing. Although a product group can override or = extend=20 these processes, they get the full range of existing = processes by=20 default, without any extra work or maintenance.

A corporation can have a series of DTDs that represent a=20 consistent set of information descriptions, each of which = emphasizes=20 the value of specialization for those new information = types.


3D""=20
3D""=20
= Back=20 to=20 = top


Role of content = communities in=20 DITA

The technical documentation community that designed this=20 architecture defined the basic architecture and shared = resources.=20 The content owned by specified communities (within or = outside of the=20 defining community) can reuse processors, styles, and other = features=20 already defined, but those communities are responsible for = defining=20 their unique business processes based on the data that they = manage.=20 They can manage data by creating a further specialization = from one=20 of the base types.

The following figure represents how communities, as = content=20 owners at the topic level, can specialize their content = based on the=20 core architecture.



Figure 1. = Relationship of specialized communities to the base=20 architecture
3D"Relationship

In this figure, the overlap represents the common = architecture=20 and tools shared between content-owning communities that use = this=20 information architecture. New communities that define typed=20 documents according to the architecture can then use the = same tools=20 at the outset, and refine their content-specific tools as=20 needed.


3D""=20
3D""=20
= Back=20 to=20 = top


End = notes

1In the original design of DITA, all of the = shared=20 vocabulary had been made global to all information types by = being=20 defined in the topic DTD, which had two undesireable = effects:

  • New vocabulary could not be added without increasing = the size=20 of the core DTD.=20
  • Certain domain-specific vocabulary could not be = prohibited for=20 DTDs specialized for a different domain.

3D""=20
3D""=20
= Back=20 to=20 = top


Notices

The information provided in this document has not been = submitted=20 to any formal IBM test and is distributed "AS IS," without = warranty=20 of any kind, either express or implied. The use of this = information=20 or the implementation of any of these techniques described = in this=20 document is the reader's responsibility and depends on the = reader's=20 ability to evaluate and integrate them into their operating=20 environment. Readers attempting to adapt these techniques to = their=20 own environments do so at their own risk.

=C2=A9 Copyright International Business Machines Corp., = 2002. All=20 rights reserved.


3D""=20
3D""=20
= Back=20 to=20 = top


Resources

  • IBM donated DITA to the OASIS standards organization in = March=20 of 2004, where it is now managed by the OASIS DITA = Technical=20 Committee (http://www.oasis-open= .org/committees/dita/).=20 In April of 2005, OASIS approved Version 1.0 of the DITA=20 specification, which consists of the following = documents:

    • OASIS Darwin Information Typing Architecture (DITA) = Language=20 Specification: http:/= /xml.coverpages.org/DITAv10-OS-LangSpec20050509.pdf=20
    • OASIS Darwin Information Typing Architecture (DITA)=20 Architectural Specification: http:/= /xml.coverpages.org/DITAv10-OS-ArchSpec20050509.pdf=20
    • A consolidated .zip file with all specifications, = DTDs, and=20 Schemas is publicly available in the documents section = of the=20 OASIS DITA Technical Committee site: = http://www.oasis-open.org/committees/download.php/12091/cd2.zip=20

    A reference implementation toolkit for both the = developerWorks=20 and OASIS 1.0 versions of the DITA DTDs/Schemas is = available at=20 the DITA Open Toolkit project site on SourceForge: http://dita-ot.sourceforge.net/<= /A>.=20 The DITA Open Toolkit supercedes all previous versions = published=20 on developerWorks, the last version of which was commonly = called=20 "dita132".


  • Find out more about DITA in a companion article, Specializing=20 topic types in DITA, which outlines how to implement = DITA=20 specialization (developerWorks, updated September = 2005).

  • Read Erik Hennum's article Specializing=20 domains in DITA, which shows you how to leverage the=20 extensible DITA DTD to describe new domains of information = (developerWorks, updated September 2005).

  • Find out how to join the discussion in the DITA=20 forum, moderated by Don Day and Michael = Priestley.

  • Go directly to the DITA=20 forum.

  • Download=20 the latest DITA DTDs, stylesheets, and sample=20 documents.

  • Refer to the DITA=20 FAQ set (developerWorks, updated September = 2005).

  • Get some background on the topic of information = architecture=20 at the Argus=20 Center for Information Architecture or the 10=20 Questions about Information Architecture = site.

3D""=20
3D""=20
= Back=20 to=20 = top


About the=20 authors

3D""=20

3D""

Besides his main work as husband, father, and cat = lover,=20 Don designs and supports publishing tools for IBM's=20 Information Development community and has represented = IBM on=20 the W3C XSL and CSS Working Groups. He has B.A.s in = English=20 and Journalism and an M.A. in Technical and = Professional=20 Communication from New Mexico State University. You = can=20 contact Don at mailto:dond@us.ibm.com?cc=3D.


3D""=20

3D""

Michael Priestley is an information developer for = the IBM=20 Toronto Software Development Laboratory. He has = written=20 numerous papers on subjects such as hypertext = navigation,=20 singlesourcing, and interfaces to dynamic documents. = He is=20 currently working on XML and XSL for help and = documentation=20 management. You can reach Michael at mailto:mpriestl@ca.ibm.com?cc=3D= .


3D""=20

3D""

Dave Schell is IBM's chief strategist and tools = lead in=20 support of its technical writing (User Technology) = community.=20 You can reach Dave at mailto:dschell@us.ibm.com?cc=3D<= /A>.



3D""=20
3D""=20
= Back=20 to=20 = top


Rate = this=20 page

3D""=20

Please take a moment to complete this form to = help us=20 better serve you.

3D""=20

3D""=20
Yes No Don't = know
 
3D""=20
3D""=20

3D""=20
 
3D""=20
3D""=20

3D""=20
1 2 3 4 5
Not
useful
3D""=20 3D""=20 3D""=20 Extremely
useful
 
=
3D""=20
3D""=20
3D""=20

3D""=20
= Back=20 to=20 = top


3D""

    About = IBM      Privacy      Contact
------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/t/ibm-logo.gif R0lGODlhbgA0ALMAAAAAAP///zxZdxMaIbi4uLe3t1paWnNzc3JyckBAQAAAAAAAAAAAAAAAAAAA AAAAACH5BAAAAAAALAAAAABuADQAAAT/UMhJq7046827r0MojmRpnmiqrmxLAnAsz3Rt33iu73zv /8CgcEgsGo/IpHLJbDqf0Kh0Sq1ar9is9lcIeL9gcAHQDZvDhMOMcAaraYe2GMqWgwmAuv38hunb eDRldoFbhoeIiT9/dmODe2djeZB9MHGQhU2McmObkF+BnmGSMY9ymYqpqquJZziMM6YBCDN2fZdt pFauN6ZrZjSEMaJeqKzHyMlSvDbEzDJ7eLKjWc+Cn8U1fG5huKDK4OHiR9a/2LoxZtKAAGboVOUy zsDB1O286uP6+/w38aVhzIGpd8cPmnQHsfyD4UuGrEr3CgLwFqCPu34YMy4xwPHItDN4W+btYXhq 2DeEuWYYiLGyiMhsL9lNSmnpS6VGMlYaSKBTIxSdLVv6bNKzJ5GYnbCZ6UNMFxtUOHOyNPLxYsw7 lapCJRiJBkehQ8OKHUu2rNmzaNOqXcu2rdstEQAAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/c.gif R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/t/cl-bullet.gif R0lGODlhAgAIAIAAAP///yk9ayH5BAEAAAAALAAAAAACAAgAAAIFhI8WGwUAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/t/left-nav-corner.gif R0lGODlhiAATAIAAAMjX4////ywAAAAAiAATAAACPYSPqcvtD6OctNqLs968+w+G4kiW5omm6sq2 7gvH8kzX9o3n+s73/g8MCoebAPGYCBiRSOWSOXQ+oUBpoAAAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/t/rl-bullet.gif R0lGODlhAgAIAIAAAP///2ZmZiH5BAEAAAAALAAAAAACAAgAAAIFhI8WGwUAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www-128.ibm.com/developerworks/i/dw.gif R0lGODlhwAASAMQAAAAAAP///+NdKO95Su+Sa+2XdffDrfXFsvfRwvvo4OdRGOFRGeFRGuVoOOdp Oed0R+l/VuuLZu+ihPGulPO5o/nc0femjP3z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAA wAASAAAF/2AgjmRpmkuqrmzrvnAsz3Rt3/h87jyZ/8CgcEjE9Y67onLJbDKR0JIzhSgoJ5Np6iBR NRDd1DdCeyAeWlZ0LZoGwkQEIn1IqCQBe6oQQM8gARBpK2xsTm9Kcml4DVsijQsHFzWAgoMphYZD EhcBF3hhDwciFWhcKgIIZKKkfooLrAEVZLBgCZ4TAikCFJ0JVgsFCBOfDwHAFxOICxcHsKOytMLE EpUpEwiNxJ4UukSZmkCgCxCdXQIXFQ28Fw29dwHr6eu9jYro6ryB5CJdeBRULgjCQwbPhQKNLgA0 BqGCM2MF8NHbZxBhJXaC+HQBBEcIuHA5FKrQuIDRrmIBaP85LBnvZBdFJlMkcAYI4LUAsI6pgKlz ix1OJScxirlgJktggCJUuOAHjzcsRT6CtJEUFSIEnyRoTTDHqDEyWLVunaPoVQo8/Gjxg4BnglgE ONGOjIeAZp86C8yy3JsCUCdnYvJMsBRV6poc1lRcTSBWqxWnxKgwbmyl7Bx4a1VUAtXYH04vb5a9 EakXrVx+yVJ6weYJ2BDDU2c06JmzCwU9Z60IGJ1lwe0VEirP+a0CL8e5DfhAWhDBM4sEt/xI0knc J9+0eS/oeuBHwNIUCgYoUPADdmwZCSp4G9WFJD9g0CC5BySc+TJjG/PoEpB+wWzA6AB0WgoUeAJP ALpEcB/BIqdZ00AzCygDiTIpWGCBAeTlYN55MDxwAWNYLVMgBcRUoIKClxEYAInpUHHZiCXq4hdj CTC1RwC2tHPdjTblZKKKLKp3XWIEPchYgb0RYIABDpS34WE2NOCYABAsx5YEavW1XF9aqcWdCg90 qVlKBWi1pZTBedMAYbtUuQIEfqQQJpZeEEalN+Q0IkCZEsQZnnhOPhnFJUUkRuihOggKJaI/GMro o2oougYDlFZq6aWYZqrpppx26umnoIYqqqchAAA7 ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/icons/d_bold.gif R0lGODlhEAAQAIABAFyBp////yH5BAEAAAEALAAAAAAQABAAAAIXjI+py+2PgIRBAmqf3W5fPWHU SJYmVQAAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/rules/blue_rule.gif R0lGODlhAQABAIAAAJixxAAAACwAAAAAAQABAAACAkQBADs= ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/icons/u_bold.gif R0lGODlhEAAQAIABAFyBp////yH5BAEAAAEALAAAAAAQABAAAAIXjI+py+2fADSgwood3i9f+0nT SJbmUwAAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www-128.ibm.com/developerworks/xml/library/x-dita1/Venn1.gif R0lGODlhrAFjAff/AP///wgIAJyczoSEY0pKOcbGnP//zs7OzikpIaWlhHNzWufntc7O57W1zufn zufn72NjSiEhGJSUc9bWpTk5KbW1jLW11hgYEBAQEK2tzoyMc1paQt7ezvf3xu/vxt7e78bGzvf3 zvf392trWt7etUJCOb29nMbG3q2t1hAQCAgICKWlzoyMa4SEa1JSQkpKQs7OpcbGpdbWzjExKa2t hHt7Y3NzY+/vvefnvdbW5729zu/vzu/v9+fn92trUmNjUpyce5SUe97erdbWrUJCMTk5Mb29lLW1 lL293rW13lpaSvf3/8bG562t3qWl1q2tjNbW7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAArAFjAQAI/wABCBxI sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN mzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtevCJTx4PBj7AIrZsx/I 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 ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/rules/gray_rule.gif R0lGODlhAQABAIAAAMzMzAAAACwAAAAAAQABAAACAkQBADs= ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://stats.www.ibm.com/rc/images/uc.GIF?R=noscript R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/t/search.gif R0lGODlhRwASAOYAAP///1VVVQkJCQYGBgQEBC0tLUpKSjg4OBAQECcnJzIyMj4/Pg0NDENERBEQ EBQUFD8+Px0dHQwMDSoqKysrKzIzMhgYGD4+Ph0cHS4tLSIiIhkYGDk4OCsqKzIyM0lKShQUFUNE QysrKhAREAMEBElKSRUUFERDRB0dHA0NDUNDRDg5OQQEAy0uLTIzMysqKkRERCMjIiIjIwwNDTg4 OT8/PygnJxERERgZGERDQxkZGBgYGT4+PwwNDAMEAyIiIzMzMyorKyIjIjk5OBwdHUREQyMjIw0M DAAAABgZGSMiIhUVFUpJST8/Pjg5OCcoJxAQET8+PkNDQy4uLicoKCcnKB0cHAwMDEpJSg0MDTEx MTY2NkZGRhQVFC8vLywsLAQDBC0tLklJSSorKkxMTE9PT0pKSVJSUjs7Ozk4OSMiI0BAQDk5OTMz MhkZGRwcHSoqKhUUFTM0MxARERkYGTMyMz4/PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAAAAAAALAAAAABHABIAAAf/gEgBg4SFhoeIiYqLjIRIZ2YlBkxMBpYlH5eZBpiam5iblpyipKKd nB+hpZVYlZ1mWGdlJyEqJ1IwIQ27ug0qvQ29Kr+7wycnRQ05yDm5yMrAwr/HyTlFOb8w2s0wJzBl ZBd2EAsQ5gs1POQ1Tevq6E3l8AsLF/XkUeUQ9hfn6evxyPGDkC/KBR71eFzox4OMmAMHaKw4wIHD ChoULw6xiJHjkIw0PqY54ASiyYokIXI8AABASIojS5o8MNEkG4hDxHDxoICnggoufnoIWgFI0JYA fgIBqrSCgqcePLT5ybTnUKEti1a1+vOpAhcV6nhwqoCLlCkFCrRImyFti7Zs/1u+BZC2AFy2a+2G qZshbwa4LVry7cu27t66eQtIWZOgCpUETxJItiE5AeUELStTRgogARUbnCVnHo0Uc2gbTy5Xllzl CZUqk9dciCFDww8NGmTEwK1bgxDdSHe3BA7ghxEhRjS0VMIZaW/lAHy3PJ5ciRIhtNXI+GH8hxI1 F9AQwRCBfAQU5a2gJ7/eSksMzQGQb46iJYrx9tO/j9AywngMGKB3HhERFOgfCm+gcQAOFliQxAY7 4KCDBRFOuAEOAFDYkgUtSWjBBhu0tAGHAOjQIYgdTrjDhiFmCKKDEzq4Ax0PukHhBhxsAQIIXcRh wgMmLPEAkEKCECRSRTYHZP9zILT0o5GcPdDSA00C8OSTXQwJApVD/vjAFkCM4ICYDiBg5g1QnFkm AmiqueYNDqw5JplmmjnnmWmyGWedc5Y5R5lljoCAoAjIocURDEhwRAozSCABA4k+GimkjkLaQ6UM 9NDDogykwOgVjXKaAqaYXrppCp3OAOoMnfbAQBZZzDCDFl4IYOutuOaq66689urrr7d6McUAxBZr 7LHIJqvsssw2W+wUXxAgrbQsSEsCCdZOe2222koLRrUs+DAtuASEay22BKBLwLflikuAu9LCS8AX SFDQgQgUvBDEBC+I0AG/+AL8b7/2AlxwBxRMQMEYQVCwL8IKC2zwvxNA7DAOBSIoHMQYFMAxgb9I BAIAOw== ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.ibm.com/i/v14/buttons/submit.gif R0lGODlheAAVANUAAP///1yBpypIaY6it1h9ozVVeTJSdTtdgsnR2nyXs1Z7oEFcekxwllR4nmJ4 kT5hhkltksTM1S1MblJ2nDZYezhafpWrwk5ymFB0mkFlikZqj0tulCxLbC5OcGaHqtPd51d1lSxJ aitKa87Y4jBQcniLoCpJakdrkI6esKu3xEpjf6K1yF19nb7N3C9PcUNmjExnhICWrFp/pVJujH+U q0tsjq26x7K/zqe7zztWda+7yXGLp3KRsYOfu7TB0EBjiCH5BAAAAAAALAAAAAB4ABUAQAb/QIBw +MH1PApPYjUaOp/QqHRKrVqv2GGCwbh4vYzNSXioUAoGEskBDbgDVXd2KAfU5/g8YmZIdyQiAoKD gyoIeYiJiosAHzwEkJAKDRMYDCcaGQ8HIIeMn6ChADsPpZsHZWdCf4GDbE9vdbJwdrSzQre1uLSi vQARKA4LIQsOKBG+ycp5LTwyMpKUFwwQGiw+y9naQyMN3t/eExdiL5tmBQWe2+uhmBrvGlMkfxwi HLC8dLb7b/r9/btqAWRXBUEZM2f6uOjAwQQhQSGQOeGVq+K+gLoy3iGIxQaMVg8LpeBIUtQHCwGi NcAwbUCTkjAVtfAQKZo4cj9q3IjJM4uFjQYKFEiadDOTOQo0eiqdsgIDhglQobLcAKBcKjQGBija uBQUCwgbwlKNknChhAX46FDhioetUhAvXmSYK2VePUFoJ8bSh9Fi34sZuwqxgApVhXN9AAAKiWKK X42AH7tVGuMM1oUcQoQUVCLKXn+zBkqmOJmnjgUuJDTcLCjHSMGwnyAooTlkiBLqYgsOAgA7 ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.ibm.com/common/v14/table.css TABLE.data-table-1 TD { PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; = VERTICAL-ALIGN: top; PADDING-TOP: 4px } TABLE.data-table-1 TH { PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; = VERTICAL-ALIGN: top; PADDING-TOP: 4px } TABLE.data-table-1 TH { BACKGROUND: #efefef } TABLE.data-table-2 { MARGIN-TOP: 1px } TABLE.data-table-2 TD { BORDER-BOTTOM: #ccc 1px solid } TABLE.data-table-2 TH.tb-row { BORDER-BOTTOM: #ccc 1px solid } TABLE.data-table-2 TD { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; VERTICAL-ALIGN: top; = PADDING-TOP: 4px } TABLE.data-table-2 TH { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; VERTICAL-ALIGN: top; = PADDING-TOP: 4px } TABLE.data-table-2 TH { BACKGROUND: #c8d7e3 } TABLE TH.tb-row { FONT-WEIGHT: normal; BACKGROUND: #fff } TABLE.data-table-1 { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 0px solid; BORDER-LEFT: = #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid } TABLE.data-table-1 CAPTION { PADDING-LEFT: 6px; BACKGROUND: #3c5f84; PADDING-BOTTOM: 4px; = PADDING-TOP: 3px; TEXT-ALIGN: left } TABLE.data-table-2 CAPTION { PADDING-LEFT: 6px; BACKGROUND: #3c5f84; PADDING-BOTTOM: 4px; = PADDING-TOP: 3px; TEXT-ALIGN: left } TABLE.data-table-3 CAPTION { PADDING-LEFT: 6px; BACKGROUND: #3c5f84; PADDING-BOTTOM: 4px; = PADDING-TOP: 3px; TEXT-ALIGN: left } TABLE.data-table-2 CAPTION { BORDER-BOTTOM: #fff 1px solid } TABLE.data-table-1 CAPTION EM { COLOR: #fff } TABLE.data-table-2 CAPTION EM { COLOR: #fff } TABLE.data-table-3 CAPTION EM { COLOR: #fff } TABLE.v14-gray-table-border TABLE.data-table-1 { BORDER-RIGHT: #ccc 0px solid; BORDER-TOP: #ccc 0px solid; BORDER-LEFT: = #ccc 0px solid; BORDER-BOTTOM: #ccc 0px solid } TABLE.data-table-1 TD.no-padding { PADDING-RIGHT: 0px; PADDING-LEFT: 0px } TABLE.data-table-1 TD.ntb { BORDER-TOP-WIDTH: 0px } TABLE TR.alt-row TD { BACKGROUND: #eee } TABLE TR.alt-row TH.tb-row { BACKGROUND: #eee } TABLE.data-table-3 TD { PADDING-RIGHT: 0px; PADDING-LEFT: 6px; VERTICAL-ALIGN: top; = PADDING-TOP: 4px } TABLE.data-table-3 TH { PADDING-RIGHT: 0px; PADDING-LEFT: 6px; VERTICAL-ALIGN: top; = PADDING-TOP: 4px } TABLE.data-table-3 TH { FONT-WEIGHT: bold } TABLE.data-table-3 TD { PADDING-RIGHT: 5px } TABLE.data-table-3 { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 0px solid; BORDER-LEFT: = #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid } TABLE.data-table-1 .imgleft { PADDING-LEFT: 5px; MARGIN-RIGHT: 5px } P.dtnf { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } TH.numeric { TEXT-ALIGN: right } TD.numeric { TEXT-ALIGN: right } TABLE.data-table-1 CAPTION.header-1 { BACKGROUND: #98b1c4 } TABLE.data-table-2 CAPTION.header-1 { BACKGROUND: #98b1c4 } TABLE.data-table-3 CAPTION.header-1 { BACKGROUND: #98b1c4 } TABLE.data-table-1 CAPTION.header-2 { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BACKGROUND: = #eee; BORDER-LEFT: #ccc 1px solid } TABLE.data-table-2 CAPTION.header-2 { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BACKGROUND: = #eee; BORDER-LEFT: #ccc 1px solid } TABLE.data-table-1 CAPTION.header-2 EM { COLOR: #000 } TABLE.data-table-2 CAPTION.header-2 EM { COLOR: #000 } TABLE.data-table-3 CAPTION.header-2 EM { COLOR: #000 } A.dtable-alink { PADDING-RIGHT: 5px; PADDING-LEFT: 15px; FONT-WEIGHT: bold; BACKGROUND: = url(//www.ibm.com/i/v14/icons/fw_bold.gif) no-repeat 0px 4px; = PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px } A.dtable-alink:link { TEXT-DECORATION: none } A.dtable-alink:visited { TEXT-DECORATION: none } A.dtable-alink:hover { TEXT-DECORATION: underline } DIV.dtable-bullet-list UL { PADDING-RIGHT: 10px; PADDING-LEFT: 0px; MARGIN: 0px } DIV.dtable-bullet-list LI { PADDING-RIGHT: 0px; PADDING-LEFT: 7px; BACKGROUND: = url(//www.ibm.com/i/v14/bullets/bk-bullet.gif) no-repeat; = PADDING-BOTTOM: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.ibm.com/common/v14/main.css #print-masthead { DISPLAY: none } .cty-tou { BACKGROUND: #2f4e6f; WHITE-SPACE: nowrap } .cty-tou-div { COLOR: #293d6b; WHITE-SPACE: nowrap } .masthead-phone { COLOR: #293d6b; WHITE-SPACE: nowrap } .spacer { COLOR: #98b1c4; WHITE-SPACE: nowrap } .cty-tou-border { BACKGROUND: #3c5f84 } .mbbg { BACKGROUND: #000 } .country { COLOR: #c8d7e3; WHITE-SPACE: nowrap } .upper-masthead-corner { BACKGROUND-POSITION: 100% 100%; BACKGROUND-IMAGE: = url(//www.ibm.com/i/v14/t/upper-nav-cnr.gif); BACKGROUND-REPEAT: = no-repeat } EM.caution { FONT-WEIGHT: bold; TEXT-TRANSFORM: uppercase; FONT-STYLE: normal } A.ur-link:link { COLOR: #c8d7e3; WHITE-SPACE: nowrap; TEXT-DECORATION: none } A.ur-link:visited { COLOR: #c8d7e3; WHITE-SPACE: nowrap; TEXT-DECORATION: none } A.ur-link:hover { COLOR: #c8d7e3; WHITE-SPACE: nowrap; TEXT-DECORATION: underline } .input { BACKGROUND: #eee } .input-local { BACKGROUND: #eee } TD.blbg { BORDER-TOP: #99afc4 2px solid; BACKGROUND: #c8d7e3; BORDER-BOTTOM: = #99afc4 1px solid; WHITE-SPACE: nowrap } A.masthead-mainlink:link { COLOR: #293d6b; WHITE-SPACE: nowrap; TEXT-DECORATION: none } A.masthead-mainlink:visited { COLOR: #293d6b; WHITE-SPACE: nowrap; TEXT-DECORATION: none } A.masthead-mainlink:hover { COLOR: #293d6b; WHITE-SPACE: nowrap; TEXT-DECORATION: underline } #left-nav-angle { BACKGROUND-POSITION: 100% 100%; BACKGROUND-IMAGE: = url(//www.ibm.com/i/v14/t/left-nav-angle.gif); BACKGROUND-REPEAT: = no-repeat } .bbg { WHITE-SPACE: nowrap; BACKGROUND-COLOR: #000 } .dbg { BACKGROUND-COLOR: #fff } .mbg { PADDING-LEFT: 4px; BORDER-BOTTOM: white 1px solid; BACKGROUND-COLOR: = #c8d7e3 } TH.mbg { PADDING-LEFT: 4px; BORDER-BOTTOM: white 1px solid; BACKGROUND-COLOR: = #98b1c4 } TH.mbg A.nav:link { COLOR: #fff } TD.hil { BORDER-BOTTOM: white 1px solid; BACKGROUND-COLOR: #fff } TH.hil { PADDING-LEFT: 4px; BORDER-BOTTOM: white 1px solid; BACKGROUND-COLOR: = #98b1c4 } TH.hil A.nav:link { COLOR: #fff } .hil { PADDING-LEFT: 4px; BACKGROUND-COLOR: #fff } .lbg { VERTICAL-ALIGN: top; BACKGROUND-COLOR: #c8d7e3 } TD.left-nav { VERTICAL-ALIGN: top; BACKGROUND-COLOR: #c8d7e3 } TR.left-nav-child TD { VERTICAL-ALIGN: top; BACKGROUND-COLOR: #c8d7e3 } TR.left-nav-last { VERTICAL-ALIGN: top; BACKGROUND-COLOR: #c8d7e3 } .v14-graphic-tab-lblue-table { VERTICAL-ALIGN: top; BACKGROUND-COLOR: #c8d7e3 } TH.left-nav-overview { BACKGROUND: #98b1c4 } TD.left-nav-overview { BACKGROUND: #98b1c4 } .v14-graphic-tab-dblue-table { BACKGROUND: #98b1c4 } TD.left-nav-highlight { BACKGROUND: #fff; VERTICAL-ALIGN: top } TR.left-nav-child-highlight TD { BACKGROUND: #fff; VERTICAL-ALIGN: top } TD.left-nav { BORDER-TOP: white 1px solid } TD.left-nav-highlight { BORDER-TOP: white 1px solid } TR.left-nav-last TD { BORDER-TOP: white 1px solid } TR.rlinks TD { VERTICAL-ALIGN: top } A.rlinks:link { COLOR: #666; TEXT-DECORATION: none } A.rlinks:visited { COLOR: #666; TEXT-DECORATION: none } A.rlinks:hover { COLOR: #666; TEXT-DECORATION: underline } A.rlinks-red:link { COLOR: #f00; TEXT-DECORATION: none } A.rlinks-red:visited { COLOR: #f00; TEXT-DECORATION: none } A.rlinks-red:hover { COLOR: #f00; TEXT-DECORATION: underline } A.mainlink:link { COLOR: #fff; WHITE-SPACE: nowrap; TEXT-DECORATION: none } A.mainlink:visited { COLOR: #fff; WHITE-SPACE: nowrap; TEXT-DECORATION: none } A.mainlink:hover { COLOR: #fff; WHITE-SPACE: nowrap; TEXT-DECORATION: underline } A.parent:link { COLOR: #666; TEXT-DECORATION: none } A.parent:visited { COLOR: #666; TEXT-DECORATION: none } A.parent:hover { COLOR: #666; TEXT-DECORATION: underline } .left-nav-corner { BACKGROUND-POSITION: 100% 100%; BACKGROUND-IMAGE: = url(//www.ibm.com/i/v14/t/left-nav-corner.gif); BACKGROUND-REPEAT: = no-repeat } A.left-nav-overview:link { COLOR: #fff; TEXT-DECORATION: none } A.left-nav-overview:visited { COLOR: #fff; TEXT-DECORATION: none } A.left-nav-overview:hover { COLOR: #fff; TEXT-DECORATION: underline } A.left-nav:link { COLOR: #293d6b; TEXT-DECORATION: none } A.left-nav:visited { COLOR: #293d6b; TEXT-DECORATION: none } A.left-nav:hover { COLOR: #293d6b; TEXT-DECORATION: underline } A.nav:link { COLOR: #293d6b; TEXT-DECORATION: none } A.nav:visited { COLOR: #293d6b; TEXT-DECORATION: none } A.nav:hover { COLOR: #293d6b; TEXT-DECORATION: underline } A.left-nav-child:link { COLOR: #293d6b; TEXT-DECORATION: none } A.left-nav-child:visited { COLOR: #293d6b; TEXT-DECORATION: none } A.left-nav-child:hover { COLOR: #293d6b; TEXT-DECORATION: underline } TD.upper-masthead-divider { BACKGROUND-POSITION: 50% 50%; BACKGROUND-IMAGE: = url(//www.ibm.com/i/v14/t/upper-masthead-divider.gif); = BACKGROUND-REPEAT: no-repeat } TD.masthead-divider { BACKGROUND-POSITION: 50% 60%; BACKGROUND-IMAGE: = url(//www.ibm.com/i/v14/t/masthead-divider.gif); BACKGROUND-REPEAT: = no-repeat } TD.footer-divider { BACKGROUND-POSITION: 50% 50%; BACKGROUND-IMAGE: = url(//www.ibm.com/i/v14/t/footer-divider.gif); BACKGROUND-REPEAT: = no-repeat } BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; = PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #000; PADDING-TOP: 0px } FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } TH { TEXT-ALIGN: left } FIELDSET { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } .nowrap { WHITE-SPACE: nowrap } H2 { COLOR: #666 } B.related { COLOR: #666 } B.rlinks { COLOR: #666 } .fnt { COLOR: #666 } .greytextbld { COLOR: #666 } .greytext { COLOR: #666 } #v14-body-table P#subtitle { COLOR: #666 } #v14-pop-mast H1 { BACKGROUND: #000; COLOR: #fff; WHITE-SPACE: nowrap } A:link { COLOR: #5c81a7 } A:visited { COLOR: #969 } A:hover { COLOR: #5c81a7 } .tbgc { BACKGROUND-COLOR: #069 } .gbg { BACKGROUND-COLOR: #ccc } .lgray { BACKGROUND-COLOR: #ccc } .bluebullet { COLOR: #069 } TD.bbl { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/bullets/bl-bullet.gif); = WIDTH: 6px; BACKGROUND-REPEAT: no-repeat } TD.dbl { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/bullets/dbl-bullet.gif); = WIDTH: 6px; BACKGROUND-REPEAT: no-repeat } TD.bkl { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/bullets/bk-bullet.gif); = WIDTH: 6px; BACKGROUND-REPEAT: no-repeat } .dkgd { BACKGROUND-COLOR: #996 } .hdgd { COLOR: #fff } .sth { COLOR: #fff } .popup_title { COLOR: #fff } .mdgd { BACKGROUND: #cc9; COLOR: #663 } .flgd { BACKGROUND: #f7f7e7 } .dgbg { BACKGROUND-COLOR: #999 } A.fbox:link { COLOR: #5c81a7; TEXT-DECORATION: none } A.fbox:visited { COLOR: #969; TEXT-DECORATION: none } A.fbox:hover { COLOR: #5c81a7; TEXT-DECORATION: underline } A.bctl:link { COLOR: #999; TEXT-DECORATION: none } A.bctl:visited { COLOR: #999; TEXT-DECORATION: none } A.bctl:hover { COLOR: #999; TEXT-DECORATION: underline } .tbdark { BACKGROUND: #a3aab0 } .tbwhite { BACKGROUND: #fff; WHITE-SPACE: nowrap } .tbimage1 { BACKGROUND-IMAGE: url(//www.ibm.com/i/v11/tabs/tbimage1.gif); = WHITE-SPACE: nowrap } .tbimage2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/v11/tabs/tbimage2.gif) } A.tbmainlink:link { COLOR: #333; WHITE-SPACE: nowrap; TEXT-DECORATION: none } A.tbmainlink:visited { COLOR: #333; WHITE-SPACE: nowrap; TEXT-DECORATION: none } A.tbmainlink:hover { COLOR: #333; WHITE-SPACE: nowrap; TEXT-DECORATION: underline } A.tablink:link { COLOR: #333; TEXT-DECORATION: none } A.tablink:visited { COLOR: #333; TEXT-DECORATION: none } A.tablink:hover { COLOR: #333; TEXT-DECORATION: underline } A.tablinkblue:link { TEXT-DECORATION: none } A.tablinkblue:visited { TEXT-DECORATION: none } A.tablinkblue:hover { TEXT-DECORATION: underline } A.texttabselectlink:link { COLOR: #333; TEXT-DECORATION: none } A.texttabselectlink:visited { COLOR: #333; TEXT-DECORATION: none } A.texttabselectlink:hover { COLOR: #333; TEXT-DECORATION: underline } A.toclink:link { TEXT-DECORATION: none } A.toclink:visited { TEXT-DECORATION: none } A.toclink:hover { TEXT-DECORATION: underline } A.tocselectlink:link { COLOR: #333; TEXT-DECORATION: none } A.tocselectlink:visited { COLOR: #333; TEXT-DECORATION: none } A.tocselectlink:hover { COLOR: #333; TEXT-DECORATION: underline } .v14-graphic-tab-selected { WHITE-SPACE: nowrap; BACKGROUND-COLOR: #c8d7e3 } .v14-graphic-tab-unselected { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_dmpttn.gif); = WHITE-SPACE: nowrap } TD.v14-tab-hlrt { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_hlrt.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #c8d7e3 } TD.v14-tab-hlrt-end { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_hlrt_end.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #c8d7e3 } TD.v14-tab-hllt { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_hllt.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #c8d7e3 } TD.v14-tab-dmrt { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_dmrt.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #5c81a7 } TD.v14-tab-dmrt-end { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_dmrt_end.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #5c81a7 } .v14-graphic-tab-selected2 { WHITE-SPACE: nowrap; BACKGROUND-COLOR: #c8d7e3 } .v14-graphic-tab-unselected2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_dmpttn2.gif); = WHITE-SPACE: nowrap } TD.v14-tab-hlrt2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_hlrt2.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #c8d7e3 } TD.v14-tab-hlrt-end2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_hlrt_end2.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #c8d7e3 } TD.v14-tab-hllt2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_hllt2.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #c8d7e3 } TD.v14-tab-dmrt2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_dmrt2.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #5c81a7 } TD.v14-tab-dmrt-end2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/v14/tabs/tab_dmrt_end2.gif); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #5c81a7 } .v14-ttd { COLOR: #98b1c4 } A.v14-tab-link-selected:link { COLOR: #005077; BACKGROUND-COLOR: #c8d7e3; TEXT-DECORATION: none } A.v14-tab-link-selected:visited { COLOR: #005077; BACKGROUND-COLOR: #c8d7e3; TEXT-DECORATION: none } A.v14-tab-link-selected:hover { COLOR: #000; BACKGROUND-COLOR: #c8d7e3; TEXT-DECORATION: none } A.v14-tab-link-unselected:link { COLOR: #fff; BACKGROUND-COLOR: #5c81a7; TEXT-DECORATION: none } A.v14-tab-link-unselected:visited { COLOR: #fff; BACKGROUND-COLOR: #5c81a7; TEXT-DECORATION: none } A.v14-tab-link-unselected:hover { COLOR: #dce8f2; BACKGROUND-COLOR: #5c81a7; TEXT-DECORATION: none } A.v14-text-tab-select-link:link { COLOR: #000; TEXT-DECORATION: none } A.v14-text-tab-select-link:visited { COLOR: #000; TEXT-DECORATION: none } A.v14-text-tab-select-link:hover { COLOR: #000; TEXT-DECORATION: underline } A.v14-text-tab-unselect-link:link { COLOR: #5c81a7; TEXT-DECORATION: none } A.v14-text-tab-unselect-link:visited { COLOR: #5c81a7; TEXT-DECORATION: none } A.v14-text-tab-unselect-link:hover { COLOR: #5c81a7; TEXT-DECORATION: underline } TD.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:link { COLOR: #293d6b; TEXT-DECORATION: none } TR.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:link { COLOR: #293d6b; TEXT-DECORATION: none } TD.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:visited { COLOR: #293d6b; TEXT-DECORATION: none } TR.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:visited { COLOR: #293d6b; TEXT-DECORATION: none } TD.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:hover { COLOR: #293d6b; TEXT-DECORATION: underline } TR.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:hover { COLOR: #293d6b; TEXT-DECORATION: underline } .tblue { BACKGROUND: #98b1c4; COLOR: #fff } .tdblue { BACKGROUND: #3c5f84; COLOR: #fff } .tgray { BACKGROUND: #999; COLOR: #fff } .tgreen { BACKGROUND: #ccc; COLOR: #333 } .medbluetitlebar { COLOR: #fff; BACKGROUND-COLOR: #69c } .medgraytitlebar { COLOR: #fff; BACKGROUND-COLOR: #999 } .lightgraytitlebar { COLOR: #666; BACKGROUND-COLOR: #eee } .whitetitlebar { COLOR: #666; BACKGROUND-COLOR: #fff } .subtitle { COLOR: #666 } TD.v14-header-1 { BACKGROUND: #3c5f84; COLOR: #fff } TH.v14-header-1 { BACKGROUND: #3c5f84; COLOR: #fff } TD.v14-header-2 { BACKGROUND: #98b1c4; COLOR: #fff } TH.v14-header-2 { BACKGROUND: #98b1c4; COLOR: #fff } TD.v14-header-1-small { BACKGROUND: #98b1c4; COLOR: #fff } TH.v14-header-1-small { BACKGROUND: #98b1c4; COLOR: #fff } TD.v14-header-2-small { BACKGROUND: #ccc; COLOR: #333 } TH.v14-header-2-small { BACKGROUND: #ccc; COLOR: #333 } TD.v14-header-3 { BACKGROUND: #999; COLOR: #fff } TH.v14-header-3 { BACKGROUND: #999; COLOR: #fff } TD.v14-header-3-small { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: = #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid } TH.v14-header-3-small { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: = #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid } TD.v14-header-4 { BACKGROUND: #ccc; COLOR: #333 } TH.v14-header-4 { BACKGROUND: #ccc; COLOR: #333 } TD.v14-header-4-small { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BACKGROUND: = #eee; BORDER-LEFT: #ccc 1px solid; COLOR: #000; BORDER-BOTTOM: #ccc 1px = solid } TH.v14-header-4-small { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BACKGROUND: = #eee; BORDER-LEFT: #ccc 1px solid; COLOR: #000; BORDER-BOTTOM: #ccc 1px = solid } TD.v14-header-5 { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BACKGROUND: = #eee; BORDER-LEFT: #ccc 1px solid; COLOR: #000; BORDER-BOTTOM: #ccc 1px = solid } TH.v14-header-5 { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BACKGROUND: = #eee; BORDER-LEFT: #ccc 1px solid; COLOR: #000; BORDER-BOTTOM: #ccc 1px = solid } TD.gradient_bar { BACKGROUND-POSITION: 100% 100%; BACKGROUND-IMAGE: = url(//www.ibm.com/i/v14/rules/gradient_bar.gif); BACKGROUND-REPEAT: = repeat-y } .small-price { COLOR: #f60 } .price { COLOR: #f60 } .error { COLOR: #f00 } EM.error { FONT-STYLE: normal } EM.caution { FONT-STYLE: normal } .graytext { COLOR: #666 } .smgraytext { COLOR: #666 } .lggraytitle { COLOR: #666 } .divider { COLOR: #666 } .bct { COLOR: #ccc } .ast { COLOR: #f30 } .dgray { BACKGROUND-COLOR: #999 } .vlgray { BACKGROUND-COLOR: #eee } .tvgray { BACKGROUND: #eee; COLOR: #000 } A.bs:link { COLOR: #069; TEXT-DECORATION: none } A.bs:visited { COLOR: #969; TEXT-DECORATION: none } A.bs:hover { COLOR: #069; TEXT-DECORATION: underline } A.close:link { COLOR: #fff; TEXT-DECORATION: underline } A.close:visited { COLOR: #fff; TEXT-DECORATION: underline } A.close:hover { COLOR: #fff; TEXT-DECORATION: underline } A.smallplainlink:link { COLOR: #5c81a7; TEXT-DECORATION: none } A.smallplainlink:visited { COLOR: #969; TEXT-DECORATION: none } A.smallplainlink:hover { COLOR: #5c81a7; TEXT-DECORATION: underline } .dotted { BACKGROUND-IMAGE: url(//www.ibm.com/i/dotted.gif); BACKGROUND-COLOR: = #fff } .ibmSurveyCVM .v14-header-2-small { BACKGROUND: #999; COLOR: #fff! important } .ibmSurveyCVM .no-padding { BACKGROUND-COLOR: #ffc! important } .ibmSurveyCVM .smallplainlink { COLOR: #666! important } .flashtext { LEFT: -3000px; WIDTH: 500px; POSITION: absolute } TD.why-ibm { BACKGROUND: url(//www.ibm.com/i/v14/mod/bg-why-ibm.gif) #fff repeat-y = 100% 0%; BORDER-BOTTOM: #e8e8e8 1px solid } #v14-body-table TD.why-ibm P { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 10px; MARGIN: = 0px; PADDING-TOP: 5px } #v14-body-table TD.why-ibm-rv P { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 10px; MARGIN: = 0px; PADDING-TOP: 5px } #v14-body-table TD.why-ibm P.is-branding { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 8px; = LINE-HEIGHT: 1.4em; PADDING-TOP: 5px } #v14-body-table TD.why-ibm-rv P.is-branding { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 8px; = LINE-HEIGHT: 1.4em; PADDING-TOP: 5px } TD.why-ibm-rv { BACKGROUND: #4b4b4b; BORDER-BOTTOM: #454545 1px solid } TD.why-ibm-rv P { COLOR: #fff } TD.why-ibm-rv P A:link { COLOR: #fff } TD.why-ibm-rv P A:visited { COLOR: #fff } TD.why-ibm-rv P A:hover { COLOR: #fff } TD.why-ibm H2 { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-WEIGHT: bold; FONT-SIZE: = small; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #000; PADDING-TOP: 4px } TD.why-ibm-rv H2 { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-WEIGHT: bold; FONT-SIZE: = small; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #000; PADDING-TOP: 4px } TD.why-ibm-rv H2 { COLOR: #fff } TD.v14-header-1-small H2 { COLOR: #fff } TD.scm-bg { BACKGROUND: url(//www.ibm.com/i/v14/t/add-website-bg.gif) repeat-x } .gen-intfce-nvyblue { COLOR: #293d6b } .gen-intfce-drkblue { COLOR: #3c5f84 } .gen-intfce-blue { COLOR: #5c81a7 } .gen-intfce-violet { COLOR: #996699 } .gen-intfce-mdblue { COLOR: #98b1c4 } .gen-intfce-plblue { COLOR: #c8d7e3 } .gen-intfce-blk { COLOR: #000 } .gen-intfce-drkestgry { COLOR: #333 } .gen-intfce-drkgry { COLOR: #666 } .gen-intfce-mdgry { COLOR: #999 } .gen-intfce-gry { COLOR: #ccc } .gen-intfce-ltgry { COLOR: #eee } .gen-intfce-white { COLOR: #fff } .lu-red { COLOR: #ff0000 } .lu-brtorng { COLOR: #ff3300 } .lu-orng { COLOR: #ff6600 } TD.tbl-plblue { COLOR: #c8d7e3 } TD.tbl-ltblue { COLOR: #dfe8ef } TD.tbl-smkwhite { COLOR: #ebebeb } TD.tbl-ghstwhite { COLOR: #f6f6f6 } TD P.last-updated { TEXT-ALIGN: right } ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.ibm.com/common/v14/screen.css BODY { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } TD { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } TH { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } FONT { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } UL { MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: = 2px } OL { MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: = 2px } H1 { FONT-WEIGHT: normal; FONT-SIZE: 25px; MARGIN: 0px; FONT-FAMILY: = arial,sans-serif } H2 { FONT-WEIGHT: normal; FONT-SIZE: 14px; MARGIN: 0px; FONT-FAMILY: = arial,sans-serif } H3 { FONT-WEIGHT: bold; FONT-SIZE: 22px; FONT-FAMILY: arial,sans-serif } H4 { FONT-SIZE: 18px; FONT-FAMILY: arial,sans-serif } P.fnt SUP { FONT-SIZE: 8px; VERTICAL-ALIGN: top } TD.blbg { HEIGHT: 22px } TD.upper-masthead-divider { HEIGHT: 17px } #v14-body-table P#subtitle { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 11px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 2px; FONT-FAMILY: = verdana,arial,sans-serif } #v14-body-table P#subtitle EM { FONT-STYLE: normal } #v14-h-tasks TABLE TD { FONT-SIZE: 10px; PADDING-BOTTOM: 4px } #v14-h-tasks TABLE TH { FONT-SIZE: 10px; PADDING-BOTTOM: 4px } TABLE.data-table-1 TD { FONT-SIZE: 10px; PADDING-BOTTOM: 4px } TABLE.data-table-1 TH { FONT-SIZE: 10px; PADDING-BOTTOM: 4px } TABLE.data-table-2 TD { FONT-SIZE: 10px; PADDING-BOTTOM: 4px } TABLE.data-table-2 TH { FONT-SIZE: 10px; PADDING-BOTTOM: 4px } TABLE.data-table-3 TD { FONT-SIZE: 11px; PADDING-BOTTOM: 4px } TABLE.data-table-3 TH { FONT-SIZE: 11px; PADDING-BOTTOM: 4px } TABLE.data-table-3 TD A.fbox:link { FONT-SIZE: 11px } TABLE.data-table-3 TD A.fbox:visited { FONT-SIZE: 11px } TABLE.data-table-3 TD A.fbox:hover { FONT-SIZE: 11px } #v14-pop-mast H1 { PADDING-RIGHT: 6px; FONT-WEIGHT: normal; FONT-SIZE: 16px; MARGIN: 0px; = LINE-HEIGHT: 1.1em; FONT-FAMILY: arial,helvetica,sans-serif } .left-nav-child-highlight IMG { FLOAT: right; MARGIN-RIGHT: 0px } .left-nav-child IMG { FLOAT: right; MARGIN-RIGHT: 0px } .rlinks IMG { FLOAT: right; MARGIN-RIGHT: 0px } TD.left-nav { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TD.left-nav-overview { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TH.left-nav-overview { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TR.left-nav-child TD { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TD.left-nav-highlight { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TR.left-nav-child-highlight TD { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TD.left-nav { PADDING-RIGHT: 5px; PADDING-LEFT: 4px } TD.left-nav-overview { PADDING-RIGHT: 5px; PADDING-LEFT: 4px } TH.left-nav-overview { PADDING-RIGHT: 5px; PADDING-LEFT: 4px } TD.left-nav-highlight { PADDING-RIGHT: 5px; PADDING-LEFT: 4px } TR.left-nav-child TD { PADDING-RIGHT: 4px } TR.left-nav-child-highlight TD { PADDING-RIGHT: 4px } TD.related { PADDING-RIGHT: 5px; PADDING-LEFT: 4px; PADDING-BOTTOM: 3px } TR.rlinks TD { PADDING-RIGHT: 4px; PADDING-BOTTOM: 2px } .bullet-spacer { PADDING-RIGHT: 4px } IMG.pbl { MARGIN-TOP: 7px; MARGIN-BOTTOM: 10px } TR.bullet-list TD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; = VERTICAL-ALIGN: top; PADDING-TOP: 0px } TR.bullet-list TD IMG { PADDING-RIGHT: 4px; FLOAT: right } TR.no-padding TD IMG { PADDING-RIGHT: 0px } .mbbg { BACKGROUND: url(//www.ibm.com/i/v14/t/masthead-bg.gif) #000 repeat-x } .masthead-phone { FONT-WEIGHT: bold } TD.lbg { FONT-WEIGHT: bold } TD.hil { FONT-WEIGHT: bold } .mbg { FONT-WEIGHT: bold } .input { WIDTH: 130px } A.bs:link { FONT-SIZE: 9px; FONT-FAMILY: verdana,arial,sans-serif } A.bs:visited { FONT-SIZE: 9px; FONT-FAMILY: verdana,arial,sans-serif } A.bs:hover { FONT-SIZE: 9px; FONT-FAMILY: verdana,arial,sans-serif } .spacer { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .smgraytext { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .small { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .cty-tou-div { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .country { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.ur-link:link { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.ur-link:visited { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.ur-link:hover { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .masthead-phone { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .input { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .input-local { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.rlinks:link { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.rlinks:visited { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.rlinks:hover { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.rlinks-red:link { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.rlinks-red:visited { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.rlinks-red:hover { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.highlight:link { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.highlight:visited { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.highlight:hover { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.nav:link { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.nav:visited { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.nav:hover { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.left-nav-child:link { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.left-nav-child:visited { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.left-nav-child:hover { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .divider { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .bct { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .bctl { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.smallplainlink:link { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.smallplainlink:visited { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.smallplainlink:hover { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.close:link { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.close:visited { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } A.close:hover { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } .fnt { FONT-SIZE: 10px; FONT-FAMILY: verdana,arial,sans-serif } B.related { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.left-nav:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.left-nav:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.left-nav:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.left-nav-overview:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.left-nav-overview:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.left-nav-overview:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.mainlink:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.mainlink:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.mainlink:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.masthead-mainlink:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.masthead-mainlink:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.masthead-mainlink:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } .small-price { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-tab-link-selected:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-tab-link-selected:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-tab-link-selected:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-tab-link-unselected:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-tab-link-unselected:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-tab-link-unselected:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-1-small { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-1-small { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-2-small { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-2-small { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-3-small { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-3-small { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-4-small { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-4-small { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } .sth { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } .iform { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } .iformwh { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.v14-text-tab-unselect-link:link { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.v14-text-tab-unselect-link:visited { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.v14-text-tab-unselect-link:hover { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.tablink:link { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.tablink:visited { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.tablink:hover { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.tablinkblue:link { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.tablinkblue:visited { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.tablinkblue:hover { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.toclink:link { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.toclink:visited { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.toclink:hover { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.fbox:link { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.fbox:visited { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } A.fbox:hover { FONT-SIZE: 11px; FONT-FAMILY: verdana,arial,sans-serif } .medbluetitlebar { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } .medgraytitlebar { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } .lightgraytitlebar { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } .whitetitlebar { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.tbmainlink:link { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.tbmainlink:visited { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.tbmainlink:hover { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.texttabselectlink:link { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.texttabselectlink:visited { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.texttabselectlink:hover { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.tocselectlink:link { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.tocselectlink:visited { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.tocselectlink:hover { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } .tblue { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } .tdblue { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } .tgray { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } .tgreen { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } .price { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-1 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-1 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-2 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-2 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-3 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-3 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-4 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-4 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TD.v14-header-5 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TH.v14-header-5 { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-text-tab-select-link:link { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-text-tab-select-link:visited { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } A.v14-text-tab-select-link:hover { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: = verdana,arial,sans-serif } TABLE.data-table-1 CAPTION EM { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-STYLE: normal; FONT-FAMILY: = verdana,arial,sans-serif } TABLE.data-table-2 CAPTION EM { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-STYLE: normal; FONT-FAMILY: = verdana,arial,sans-serif } TABLE.data-table-3 CAPTION EM { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-STYLE: normal; FONT-FAMILY: = verdana,arial,sans-serif } .greytextbld { FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: = verdana,arial,sans-serif } .hdgd { FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: = verdana,arial,sans-serif } .mdgd { FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: = verdana,arial,sans-serif } .mstagline { FONT-WEIGHT: bold; FONT-SIZE: 13px; FONT-FAMILY: = verdana,arial,sans-serif } A.parent:link { FONT-SIZE: 10px; VERTICAL-ALIGN: top; FONT-FAMILY: = verdana,arial,sans-serif } A.parent:visited { FONT-SIZE: 10px; VERTICAL-ALIGN: top; FONT-FAMILY: = verdana,arial,sans-serif } A.parent:hover { FONT-SIZE: 10px; VERTICAL-ALIGN: top; FONT-FAMILY: = verdana,arial,sans-serif } BODY > TABLE:first-child TD IMG { DISPLAY: block } IMG.display-img { DISPLAY: block } .title1 { FONT-SIZE: 25px; FONT-FAMILY: arial,sans-serif } .lggraytitle { FONT-SIZE: 24px } .tvgray { FONT-WEIGHT: bold; FONT-FAMILY: verdana,arial,sans-serif } .title { FONT-SIZE: 25px; FONT-FAMILY: arial,sans-serif } .subtitle { FONT-SIZE: 15px; FONT-FAMILY: arial,sans-serif } .boldtitle { FONT-SIZE: 24px; FONT-FAMILY: "Arial Black",arial,sans-serif } .smalltitle { FONT-WEIGHT: bold; FONT-SIZE: 15px; FONT-STYLE: normal; FONT-FAMILY: = arial,sans-serif } #v14-body-table P#newstitle EM { FONT-WEIGHT: bold; FONT-SIZE: 15px; FONT-STYLE: normal; FONT-FAMILY: = arial,sans-serif } .pagesubtitle { FONT-SIZE: 15px; LINE-HEIGHT: 18px; FONT-FAMILY: arial,sans-serif } .pagetitle { FONT-SIZE: 24px; LINE-HEIGHT: 24px; FONT-FAMILY: "Arial = Black",arial,sans-serif } .popup_title { FONT-SIZE: 16px; FONT-FAMILY: arial,sans-serif } TD.v14-header-1-small { PADDING-BOTTOM: 4px; PADDING-TOP: 4px } TH.v14-header-1-small { PADDING-BOTTOM: 4px; PADDING-TOP: 4px } TD.v14-header-2-small { PADDING-BOTTOM: 4px; PADDING-TOP: 4px } TH.v14-header-2-small { PADDING-BOTTOM: 4px; PADDING-TOP: 4px } TD.v14-header-3-small { PADDING-BOTTOM: 3px; PADDING-TOP: 3px } TH.v14-header-3-small { PADDING-BOTTOM: 3px; PADDING-TOP: 3px } TD.v14-header-4-small { PADDING-BOTTOM: 3px; PADDING-TOP: 3px } TH.v14-header-4-small { PADDING-BOTTOM: 3px; PADDING-TOP: 3px } TD.v14-header-5 { PADDING-BOTTOM: 3px; PADDING-TOP: 3px } TH.v14-header-5 { PADDING-BOTTOM: 3px; PADDING-TOP: 3px } TD.v14-header-1 { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TH.v14-header-1 { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TD.v14-header-2 { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TH.v14-header-2 { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TD.v14-header-3 { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TH.v14-header-3 { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TD.v14-header-4 { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TH.v14-header-4 { PADDING-BOTTOM: 4px; PADDING-TOP: 3px } TD.v14-header-1 { PADDING-LEFT: 6px } TH.v14-header-1 { PADDING-LEFT: 6px } TD.v14-header-1-small { PADDING-LEFT: 6px } TH.v14-header-1-small { PADDING-LEFT: 6px } TD.v14-header-2 { PADDING-LEFT: 6px } TH.v14-header-2 { PADDING-LEFT: 6px } TD.v14-header-2-small { PADDING-LEFT: 6px } TH.v14-header-2-small { PADDING-LEFT: 6px } TD.v14-header-3 { PADDING-LEFT: 6px } TH.v14-header-3 { PADDING-LEFT: 6px } TD.v14-header-4 { PADDING-LEFT: 6px } TH.v14-header-4 { PADDING-LEFT: 6px } TD.v14-header-3-small { PADDING-LEFT: 5px } TH.v14-header-3-small { PADDING-LEFT: 5px } TD.v14-header-4-small { PADDING-LEFT: 5px } TH.v14-header-4-small { PADDING-LEFT: 5px } TD.v14-header-5 { PADDING-LEFT: 5px } TH.v14-header-5 { PADDING-LEFT: 5px } TD.gradient_bar { PADDING-LEFT: 6px; PADDING-BOTTOM: 3px; PADDING-TOP: 2px } .imgpaddingright { PADDING-RIGHT: 6px } .imgpaddingtop { PADDING-TOP: 6px } #v14-body-table P { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 8px; PADDING-TOP: = 5px } TABLE.v14-gray-table-border { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 0px solid; BORDER-LEFT: = #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid } TABLE.v14-gray-table-border P { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } TABLE.v14-gray-table-border TABLE { MARGIN-LEFT: 5px; MARGIN-RIGHT: 5px } TD.no-padding TABLE { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } TD.no-padding TABLE TD P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } TD.left-nav-spacer { VERTICAL-ALIGN: top; HEIGHT: 22px } TD.left-nav-spacer IMG { PADDING-TOP: 4px } * HTML TD.left-nav-spacer IMG { PADDING-TOP: 3px } TR.left-nav-spacer TD { PADDING-BOTTOM: 4px; VERTICAL-ALIGN: top; PADDING-TOP: 4px } TABLE.v14-list-spacing TD { PADDING-BOTTOM: 3px; PADDING-TOP: 2px } TABLE.v14-list-spac-wbg-no TD { PADDING-BOTTOM: 5px; PADDING-TOP: 1px } TABLE.v14-list-spac-wbg-toc TD { PADDING-BOTTOM: 3px; PADDING-TOP: 3px } TABLE.v14-list-spac-wbg-no TD { PADDING-TOP: 3px } TD.v14-graphic-tab-lblue-table TD { PADDING-TOP: 3px } TABLE.v14-list-spac-wbg-toc TR.bullet-list TD { PADDING-BOTTOM: 6px; PADDING-TOP: 0px } TABLE.v14-list-spac-wbg-no TR.bullet-list TD { PADDING-BOTTOM: 6px; PADDING-TOP: 0px } TABLE.v14-list-spacing TR.bullet-list TD { PADDING-BOTTOM: 6px; PADDING-TOP: 0px } .esbp { PADDING-BOTTOM: 8px } .ipt { PADDING-TOP: 4px } .gbp { PADDING-BOTTOM: 9px; PADDING-TOP: 5px } .spl { PADDING-LEFT: 5px } TD.npl P { PADDING-LEFT: 0px } TD.espl P { PADDING-LEFT: 9px! important } TD.npb P { PADDING-BOTTOM: 0px! important } TD.nlbp P { PADDING-LEFT: 0px! important; PADDING-BOTTOM: 0px! important } TD.iltbp { PADDING-LEFT: 7px; PADDING-BOTTOM: 8px; PADDING-TOP: 8px } TD.ntb P { FONT-SIZE: 11px } .imgleft { PADDING-RIGHT: 5px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; PADDING-TOP: 7px } TABLE.v14-gray-table-border .imgleft { PADDING-LEFT: 5px } TD.v14-header-1-small H2 { FONT-WEIGHT: bold; FONT-SIZE: 10px; FONT-FAMILY: = verdana,arial,sans-serif } TD.text-tab-link-section { LINE-HEIGHT: 1.6em } TD.inc-prof { PADDING-TOP: 1px } .shrinky { BORDER-RIGHT: #666 1px solid; BORDER-TOP: #666 1px solid; DISPLAY: = none; Z-INDEX: 9; BORDER-LEFT: #666 1px solid; BORDER-BOTTOM: #666 1px = solid; POSITION: absolute } .displaycode { MARGIN-TOP: 0px; FONT-SIZE: 11px; MARGIN-BOTTOM: 0px; FONT-FAMILY: = Andale Mono, Lucida Console, Monaco, fixed, monospace } .boldcode { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Andale Mono, Lucida = Console, Monaco, fixed, monospace } .code-outline { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #ccc 1px = solid; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px solid; = BACKGROUND-COLOR: #eeeeee } ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.ibm.com/common/v14/print.css #print-masthead { DISPLAY: block } .bbg { DISPLAY: none! important } .mbbg { DISPLAY: none! important } .blbg-border { DISPLAY: none! important } .blbg { DISPLAY: none! important } #navigation { DISPLAY: none! important } #right-nav { DISPLAY: none! important } .bctl { DISPLAY: none! important } .bct { DISPLAY: none! important } .lgray { DISPLAY: none! important } .no-print { DISPLAY: none! important } TD.v14-graphic-tab-lblue-table { DISPLAY: none! important } TR.v14-graphic-tab-lblue-table TD { BACKGROUND-COLOR: #fff } TD.v14-graphic-tab-dblue-table { BORDER-TOP: #000 1px solid; BACKGROUND-COLOR: #fff } .v14-graphic-tab-selected { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } .v14-graphic-tab-selected2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } .v14-graphic-tab-unselected { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } .v14-graphic-tab-unselected2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-hlrt { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-dmrt { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-hllt { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-dmrt-end { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-hlrt-end { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-hlrt2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-dmrt2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-hllt2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-dmrt-end2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } TD.v14-tab-hlrt-end2 { BACKGROUND-IMAGE: url(//www.ibm.com/i/c.gif); BACKGROUND-COLOR: #fff } A.v14-tab-link-selected:link { FONT-WEIGHT: bold; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff; TEXT-DECORATION: = none } A.v14-tab-link-selected:visited { FONT-WEIGHT: bold; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff; TEXT-DECORATION: = none } A.v14-tab-link-selected:hover { FONT-WEIGHT: bold; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff; TEXT-DECORATION: = none } A.v14-tab-link-unselected:link { FONT-WEIGHT: normal; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff; TEXT-DECORATION: = underline } A.v14-tab-link-unselected:visited { FONT-WEIGHT: normal; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff; TEXT-DECORATION: = underline } A.v14-tab-link-unselected:hover { FONT-WEIGHT: normal; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff; TEXT-DECORATION: = underline } BODY { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } P { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } B { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } .tdblue { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } .tdblue { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } .tgray { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } .small { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } .fnt { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } .price { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.why-ibm-rv P { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.why-ibm-rv P A:link { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.why-ibm-rv P A:visited { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.why-ibm-rv P A:hover { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.why-ibm-rv H2 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.v14-header-1 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TH.v14-header-1 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.v14-header-2 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TH.v14-header-2 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.v14-header-3 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TH.v14-header-3 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TD.v14-header-4 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TH.v14-header-4 { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TABLE.data-table-1 TH { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } TABLE.data-table-2 TH { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = BACKGROUND-COLOR: #fff } #content-table { WIDTH: 510px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-3-1 P { WIDTH: 218px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-3-2 P { WIDTH: 218px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-4-1 P { WIDTH: 143px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-4-2 P { WIDTH: 143px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-4-3 P { WIDTH: 143px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-3-1 { WIDTH: 218px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-3-2 { WIDTH: 218px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-4-1 { WIDTH: 143px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-4-2 { WIDTH: 143px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } #content-4-3 { WIDTH: 143px; COLOR: #000; FONT-FAMILY: "Times New = Roman",Garamond,sans-serif; BACKGROUND-COLOR: #fff } TD { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif } TD.v14-header-1 { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } TH.v14-header-1 { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } TD.v14-header-2 { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } TH.v14-header-2 { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } TD.v14-header-3 { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } TH.v14-header-3 { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } TD.v14-header-4 { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } TH.v14-header-4 { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } A.v14-text-tab-select-link:link { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: none } A.v14-text-tab-select-link:visited { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: none } A.v14-text-tab-select-link:hover { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: none } TR.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:link { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: underline } TR.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:visited { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: underline } TR.v14-graphic-tab-lblue-table A.v14-text-tab-unselect-link:hover { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: underline } A.v14-text-tab-unselect-link:link { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: underline } A.v14-text-tab-unselect-link:visited { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: underline } A.v14-text-tab-unselect-link:hover { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,serif; = TEXT-DECORATION: underline } A.smallplainlink:link { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } A.smallplainlink:visited { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } A.smallplainlink:hover { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } A:link { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } A:visited { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } A:hover { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } A.fbox:link { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } A.fbox:visited { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } A.fbox:hover { COLOR: #000; FONT-FAMILY: "Times New Roman",Garamond,sans-serif; = TEXT-DECORATION: underline } TABLE.v14-gray-table-border { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } TABLE.v14-gray-table-border P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } TABLE.v14-gray-table-border TABLE { MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px } BODY { FONT-SIZE: 11pt } #content { FONT-SIZE: 11pt } #content-3-1 { FONT-SIZE: 11pt } #content-3-2 { FONT-SIZE: 11pt } #content-4-1 { FONT-SIZE: 11pt } #content-4-2 { FONT-SIZE: 11pt } #content-4-3 { FONT-SIZE: 11pt } P { FONT-SIZE: 11pt } B { FONT-SIZE: 11pt } .tdblue { FONT-SIZE: 11pt } .tdblue { FONT-SIZE: 11pt } .tgray { FONT-SIZE: 11pt } .small { FONT-SIZE: 11pt } .fnt { FONT-SIZE: 11pt } .price { FONT-SIZE: 11pt } TD { FONT-SIZE: 11pt } TD.v14-header-1 { FONT-SIZE: 11pt } TH.v14-header-1 { FONT-SIZE: 11pt } TD.v14-header-2 { FONT-SIZE: 11pt } TH.v14-header-2 { FONT-SIZE: 11pt } TD.v14-header-3 { FONT-SIZE: 11pt } TH.v14-header-3 { FONT-SIZE: 11pt } TD.v14-header-4 { FONT-SIZE: 11pt } TH.v14-header-4 { FONT-SIZE: 11pt } A.v14-tab-link-selected:link { FONT-SIZE: 11pt } A.v14-tab-link-selected:visited { FONT-SIZE: 11pt } A.v14-tab-link-selected:hover { FONT-SIZE: 11pt } A.v14-tab-link-unselected:link { FONT-SIZE: 11pt } A.v14-tab-link-unselected:visited { FONT-SIZE: 11pt } A.v14-tab-link-unselected:hover { FONT-SIZE: 11pt } A.v14-text-tab-select-link:link { FONT-SIZE: 11pt } A.v14-text-tab-select-link:visited { FONT-SIZE: 11pt } A.v14-text-tab-select-link:hover { FONT-SIZE: 11pt } A.v14-text-tab-unselect-link:link { FONT-SIZE: 11pt } A.v14-text-tab-unselect-link:visited { FONT-SIZE: 11pt } A.v14-text-tab-unselect-link:hover { FONT-SIZE: 11pt } A.smallplainlink:link { FONT-SIZE: 11pt } A.smallplainlink:visited { FONT-SIZE: 11pt } A.smallplainlink:hover { FONT-SIZE: 11pt } A:link { FONT-SIZE: 11pt } A:visited { FONT-SIZE: 11pt } A:hover { FONT-SIZE: 11pt } A.fbox:link { FONT-SIZE: 11pt } A.fbox:visited { FONT-SIZE: 11pt } A.fbox:hover { FONT-SIZE: 11pt } TABLE.data-table-1 TD { FONT-SIZE: 10pt } TABLE.data-table-1 TH { FONT-SIZE: 10pt } TABLE.data-table-2 TD { FONT-SIZE: 10pt } TABLE.data-table-2 TH { FONT-SIZE: 10pt } ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www-128.ibm.com/developerworks/js/dwcss14.js if((navigator.appName =3D=3D "Microsoft Internet Explorer") && = (parseInt(navigator.appVersion) >=3D 4 = )){if((navigator.appVersion.indexOf("Macintosh"))!=3D = -1){document.write('');}else if = ((navigator.userAgent.indexOf(" Opera ") !=3D -1) || = (navigator.userAgent.indexOf("Opera/") !=3D -1)){document.write('');}else if ((navigator.appVersion.indexOf('MSIE 6')) = !=3D -1){document.write('');}else{document.write('');}}=0A= else if ((navigator.appName =3D=3D "Netscape") && = (parseInt(navigator.appVersion) >=3D = 4)){if((navigator.appVersion.indexOf("Macintosh"))!=3D = -1){document.write('');}else if = ((navigator.appName =3D=3D "Netscape") && = (parseInt(navigator.appVersion) >=3D 5)){document.write('');}else if ((navigator.appVersion.indexOf('X11')) = !=3D -1){document.write('');}else if = ((navigator.userAgent.indexOf(" Opera ") !=3D -1) || = (navigator.userAgent.indexOf("Opera/") !=3D -1)){document.write('');}else{document.write('');}}=0A= else{document.write('');} ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.ibm.com/common/v14/detection.js if((navigator.appName =3D=3D "Microsoft Internet Explorer") && = (parseInt(navigator.appVersion) >=3D 4 ) && (navigator.platform =3D=3D = "Win32") && (navigator.userAgent.indexOf(" Opera ") =3D=3D -1) && = (navigator.userAgent.indexOf("Opera/") =3D=3D -1)){=0A= if ((navigator.appVersion.indexOf('MSIE 6')) !=3D -1 || = (navigator.appVersion.indexOf('MSIE 7')) !=3D -1){=0A= document.write('');=0A= }=0A= else{=0A= document.write('');=0A= }=0A= }=0A= // Surfaid dummy function for preloading=0A= function sa_onclick(p1, p2) { return true; }=0A= =0A= ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www-128.ibm.com/developerworks/js/dropdown.js =0A= // Common redirect function=0A= // Dropdown field must be named "url"=0A= function ibmCommonDropdown(form) {=0A= var value;=0A= if (typeof(form) =3D=3D "object" && typeof(form.url) =3D=3D "object") {=0A= value =3D (form.url[form.url.selectedIndex]).value;=0A= if (value && value !=3D "#") {=0A= window.location.href =3D value;=0A= }=0A= return false;=0A= }=0A= else {=0A= return true;=0A= }=0A= }=0A= ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www-128.ibm.com/developerworks/email/grabtitle.js // Used for dW e-mail to a friend function=0A= // Grab only the title from the entire document.title value=0A= function dWSplitChar(ch, str) {=0A= var start =3D 0;=0A= var splits =3D new Object;=0A= var end;=0A= var i =3D 0;=0A= while (start < str.length) {=0A= end =3D start;=0A= while (end < str.length &&=0A= ch.indexOf(str.charAt(end)) < 0) {=0A= end++;=0A= }=0A= splits[i++] =3D str.substring(start,end);=0A= start =3D end + 1;=0A= }=0A= splits.length =3D i;=0A= return splits;=0A= }=0A= =0A= function getTitle(){=0A= var j=3D0;=0A= var titlestring=3D"";=0A= var splitfields =3D dWSplitChar(':', document.title);=0A= if (splitfields.length>2) {=0A= for (j=3D2;j" //output +=3D "
" //output +=3D "" //output +=3D "" //output +=3D "" //output +=3D "
" //output +=3D "" //output +=3D "" //this.document.write(output) //this.document.emailIt.submit(); //emailWindow.document.close() =20 = window.location.assign("https://www.ibm.com/developerworks/secure/email-i= t.jsp?subject=3D" + escape(justTitle) + "&url=3D" + = escape(document.location.href) + "&body=3D" + escape(emailAbstract)); } =20 // close subwindow, including ugly workaround for IE3 function closeWindow() { if (isIE3) { // if window is already open, nothing appears to happen // but if not, the subwindow flashes momentarily (yech!) emailWindow =3D = window.open("","subwindow","HEIGHT=3D200,WIDTH=3D200") =20 } =20 if (emailWindow && !emailWindow.closed) { emailWindow.close() } =20 } =20 ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: 7bit Content-Location: http://www-128.ibm.com/developerworks/js/dwplugin.js function errorMsg() { alert("Your browser doesn't support the plugin."); } function addEngine(name,ext,cat,type) { if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")) { window.sidebar.addSearchEngine( "http://www-128.ibm.com/developerworks/js/"+name+".src", "http://www-128.ibm.com/developerworks/i/"+name+"."+ext, name, cat ); } else { errorMsg(); } } ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www-128.ibm.com/developerworks/js/ajax1.js /*=0A= * Returns an new XMLHttpRequest object, or false if the browser=0A= * doesn't support it=0A= */=0A= function newXMLHttpRequest() {=0A= =0A= var xmlreq =3D false;=0A= =0A= // Create XMLHttpRequest object in non-Microsoft browsers=0A= if (window.XMLHttpRequest) {=0A= xmlreq =3D new XMLHttpRequest();=0A= } else if (window.ActiveXObject) {=0A= =0A= try {=0A= // Try to create XMLHttpRequest in later versions=0A= // of Internet Explorer=0A= =0A= xmlreq =3D new ActiveXObject("Msxml2.XMLHTTP");=0A= } catch (e1) {=0A= =0A= // Failed to create required ActiveXObject=0A= =0A= try {=0A= // Try version supported by older versions=0A= // of Internet Explorer=0A= =0A= xmlreq =3D new ActiveXObject("Microsoft.XMLHTTP");=0A= =0A= } catch (e2) {=0A= =0A= // Unable to create an XMLHttpRequest by any means=0A= xmlreq =3D false;=0A= }=0A= }=0A= }=0A= =0A= return xmlreq;=0A= }=0A= =0A= /*=0A= * Returns a function that waits for the specified XMLHttpRequest=0A= * to complete, then passes it XML response to the given handler = function.=0A= * req - The XMLHttpRequest whose state is changing=0A= * responseXmlHandler - Function to pass the XML response to=0A= */=0A= function getReadyStateHandler(req, responseXmlHandler) {=0A= // Return an anonymous function that listens to the XMLHttpRequest = instance=0A= return function () {=0A= // alert("in getReadyStateHandler: " + req.readyState + " : " + = req.status);=0A= // If the request's status is "complete"=0A= if (req.readyState =3D=3D 4) {=0A= =0A= // Check that we received a successful response from the server=0A= if (req.status =3D=3D 200) {=0A= =0A= // Pass the XML payload of the response to the handler function.=0A= //responseXmlHandler(req.responseXML);=0A= responseXmlHandler(req.responseText); =0A= =0A= } else {=0A= =0A= // An HTTP problem has occurred=0A= // alert("HTTP error "+req.status+": "+req.statusText);=0A= }=0A= }=0A= }=0A= }=0A= ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www-128.ibm.com/developerworks/js/searchcount.js var globalQuery;=0A= =0A= /*=0A= * Find out if there are any search results for the given query=0A= */=0A= function searchQuery(query) {=0A= globalQuery =3D query; =0A= var req =3D newXMLHttpRequest(); =0A= if (req) {=0A= req.onreadystatechange =3D getReadyStateHandler(req, = processSearchResults);=0A= req.open("GET", = "http://www-128.ibm.com/developerworks/search/SearchRouter.jsp?query=3D" = + query, true);=0A= req.send("");=0A= }=0A= }=0A= =0A= =0A= /*=0A= * If there are results, print the html=0A= */=0A= function processSearchResults(result) {=0A= var contents =3D document.getElementById("contents"); =0A= if (result !=3D null && result > 0 && contents !=3D null) { =0A= var displayQuery =3D globalQuery;=0A= displayQuery =3D displayQuery.replace(/\+/g, " ");=0A= displayQuery =3D unescape(displayQuery);=0A= contents.innerHTML =3D "
3D\"\"

More dW content related to: = "+displayQuery+"

3D\"\"
";=0A= }=0A= }=0A= =0A= =0A= ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.ibm.com/common/v14/pmh.js // $Id: pmh.js,v 1.11 2007/03/22 21:36:23 krusch Exp $=0A= // Copyright (c) 2006 IBM Corporation=0A= // Owner: Corporate Webmaster (NUS_N_NIWWW)=0A= document.write('3D""');=0A= =0A= // Survey invitation=0A= function ibmSurveySelect() {=0A= var dc =3D document.cookie;=0A= var prefix =3D 'ibmSurvey=3D';=0A= =0A= var begin =3D dc.indexOf(prefix);=0A= var now =3D new Date();=0A= if (begin =3D=3D -1 || (begin > 0 && dc.indexOf("; " + prefix) =3D=3D = -1)) {=0A= if (window.location.href.indexOf(".ibm.com") > 0) {=0A= document.cookie =3D prefix + now.getTime().toString() + "; path=3D/; = domain=3D.ibm.com";=0A= }=0A= }=0A= }=0A= ibmSurveySelect();=0A= =0A= // List of patterns for inclusion and exclusion from search keyword = tracking=0A= // The first matching rule applies (true =3D track, false =3D don't = track)=0A= var ibmSearchTermRules =3D new Array(=0A= [ "/support/au/", false ],=0A= [ "//www.ibm.com/(.+/)?au/", true ],=0A= [ "/businesscenter/smb/(dk|fi|no|se)/", true ]=0A= );=0A= if (typeof RegExp !=3D 'undefined' && typeof(encodeURIComponent) !=3D = 'undefined' && typeof(document.forms['search-form']) =3D=3D 'object') {=0A= for (var ibmSearchTermRule =3D 0; ibmSearchTermRule < = ibmSearchTermRules.length; ibmSearchTermRule++) {=0A= =0A= var ibmSearchTermRegexp =3D new = RegExp(ibmSearchTermRules[ibmSearchTermRule][0]);=0A= if (ibmSearchTermRegexp.test(window.location.href)) {=0A= if (ibmSearchTermRules[ibmSearchTermRule][1]) {=0A= document.forms['search-form'].onsubmit =3D function () {=0A= if (typeof sa_onclick =3D=3D 'function' && typeof sa_gif =3D=3D = 'string')=0A= sa_onclick("http://www.ibm.com/search/term/" + = encodeURIComponent(document.forms['search-form'].q.value) + "/?re=3D" + = encodeURIComponent(window.location.href));=0A= return true;=0A= };=0A= }=0A= break;=0A= }=0A= }=0A= }=0A= =0A= // Load OpenSearch description and feeds for compatible browsers=0A= function ibmSearchOpensearchLink() {=0A= if (typeof document.createElement !=3D 'undefined') {=0A= var head =3D document.getElementsByTagName('head');=0A= if (head.length > 0) {=0A= if (typeof window.external =3D=3D 'object' &&=0A= window.external && =0A= typeof window.external.AddSearchProvider !=3D 'undefined' &&=0A= window.location.hostname.indexOf('.ibm.com') !=3D -1) {=0A= var link =3D document.createElement('link');=0A= link.setAttribute('rel', 'search');=0A= link.setAttribute('type', 'application/opensearchdescription+xml');=0A= link.setAttribute('href', = 'http://www.ibm.com/search/opensearch/description.xml');=0A= link.setAttribute('title', 'IBM Search');=0A= head[0].appendChild(link);=0A= }=0A= =0A= // Restrict feeds to UTF-8 encoded searches=0A= if = (window.location.href.toLowerCase().indexOf('//www.ibm.com/search/?') = !=3D -1 &&=0A= window.location.href.toLowerCase().indexOf('en=3Dutf') !=3D -1) {=0A= var link =3D document.createElement('link');=0A= link.setAttribute('rel', 'alternate');=0A= link.setAttribute('type', 'application/rss+xml');=0A= link.setAttribute('href', = 'http://www.ibm.com/fscripts/search/opensearch/search.fcgi' + = window.location.search + '&format=3Drss&startIndex=3D1');=0A= link.setAttribute('title', document.title + ' (RSS)');=0A= head[0].appendChild(link);=0A= =0A= var link =3D document.createElement('link');=0A= link.setAttribute('rel', 'alternate');=0A= link.setAttribute('type', 'application/atom+xml');=0A= link.setAttribute('href', = 'http://www.ibm.com/fscripts/search/opensearch/search.fcgi' + = window.location.search + '&format=3Datom&startIndex=3D1');=0A= link.setAttribute('title', document.title + ' (ATOM)');=0A= head[0].appendChild(link);=0A= }=0A= }=0A= }=0A= }=0A= ibmSearchOpensearchLink();=0A= ------=_NextPart_000_0018_01C7717E.CFA2A7F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.ibm.com/common/stats/stats.js // Copyright (c) 2002, 2003, 2004 by IBM Corporation=0A= sa_gif =3D "//stats.www.ibm.com/rc/images/uc.GIF";=0A= sa_domain =3D "";=0A= sa_ver =3D "1.28";=0A= sa_click=3D"";s_7=3Ddocument;s_k=3D"undefined";function = s_l(){s_3=3D"";s_g=3D"";s_4=3D"SESSION_ID";s_5=3D"";s_6=3Dnew = Date();s_c=3DMath.random().toString().substring(2,10)+s_6.getTime().toStr= ing();if(s_4){s_1=3Ds_7.cookie;if((s_9=3Ds_1.indexOf(s_4))!=3D-1){s_h=3Ds= _9+s_4.length+1;s_8=3Ds_1.indexOf(";",s_h);if(s_8=3D=3D-1)s_8=3Ds_1.lengt= h;s_5=3Descape(s_4+"=3D"+s_1.substring(s_h,s_8));}}s_e=3D(typeof(screen)=3D= =3Ds_k||screen=3D=3Dnull)?'0x0x0':screen.colorDepth+"x"+screen.width+"x"+= screen.height;s_b=3D"?"+sa_ver+"&"+"&"+"&"+(sa_click?escape(sa_click):esc= ape(location))+"&"+(sa_click?escape(location):escape(s_7.referrer))+"&"+s= _5+"&"+"&"+"&"+s_6.getTimezoneOffset()+"&"+s_e+"&"+s_7.images.length.toSt= ring()+"&"+((typeof(SA_Title)=3D=3Ds_k||SA_Title=3D=3Dnull)?"":escape(SA_= Title))+"&"+((typeof(SA_Message)=3D=3Ds_k||SA_Message=3D=3Dnull)?"":escap= e(SA_Message))+"&"+s_c;if(typeof(s_7.s_2)=3D=3Ds_k||s_7.s_2=3D=3Dnull){s_= 7.s_2=3Dnew Image();}s_7.s_2.src=3Dsa_gif+s_b;}=0A= function = sa_onclick(s_n,s_6){window.SA_Title=3D(typeof(SA_Title)=3D=3Ds_k||SA_Titl= e=3D=3Dnull)?"media_file":escape(SA_Title);sa_click=3Ds_n;if(!(typeof(s_6= )=3D=3Ds_k||s_6=3D=3Dnull)){window.SA_Message=3Ds_6;}if((navigator.appNam= e.indexOf("Netscape")!=3D-1)){setTimeout("s_l()",0);}else{s_l();}return(t= rue);}=0A= if(typeof(s_7.s_2)=3D=3Ds_k||s_7.s_2=3D=3Dnull){s_l();}=0A= ------=_NextPart_000_0018_01C7717E.CFA2A7F0--