`
`
`
`
`
`Merrill Communications LLC
`d/b/a Merrill Corporation
`Exhibit 1006 pt. 4
`
`
`
`POET Content
`Management
`Suite
`
`I Information life cycle
`
`I Object data base
`
`I Content management system components
`
`© 1 99 8 THE XML HANDBO OK Th1
`
`
`
`Chapter __ _.;
`
`17
`
`• • • nfonnacion in general, and written content in particular, has a
`cycle. Managing it has always been a challenge, and the chal(cid:173)
`lS mcreasmg.
`
`21.1 1 Managing the inforn1ation life
`cycle
`
`The information content life cycle varies widely, depending on the type of
`information being presented. For example, a newspaper might be published
`on a daily basis. The information it contains is extremely time sensitive in
`the first iteration of its lif:e cycle as breaking news.
`The content of a newspaper becom.es important again as it is archived for
`historical purposes and placed in knowledge bases for research purposes. In
`a newspaper's second cycle, the presentation of information moves from
`paper-based delivery
`to electronic delivery. The information may be
`indexed and cross-referenced as an aid to reseuch that never existed in its
`
`<D l lJ lJ ~ T 11 1·: X M I. 11 1\ :-.. .. 11 n l 1 ( 1 I<
`
`1~•\ 1
`
`365
`
`
`
`366
`
`CHAPTER 27 I POET CONTENT MANAGEMENT SUITE
`
`paper-based form . The actual content of the newspaper i not chang d, but
`the information might be reused in a condensed or edited future repcinr.
`A mecUcal dictionary has yet another life cycle. Its information needs to
`be timely, but is nor as time-sensitive as a newspaper. Medical terms change,
`but trad itionally this type of publication has a fairly long life cycle. Many
`terms need ro change before a reader feels the need to reinvest in a newer
`edition of the dictionary. A typical print life cycle for such a dictionary can
`be as long as four years. Ir is very expensive to reprint and manage su b. a
`large body of information.
`
`21. 1. 1 Changes to the information life cycle
`
`Information life cycles change over time as new media and technologies
`change the business model of information deuvery. The magazine indusrry
`i a good example of how technology can affect the delivery and creation of
`information.
`Magazines like Time and Newsweek were revolutionary in the way they
`created an entirely new format for di eminaring the news. Technology
`helped make it possible to prim magazines on a weekly basis. The prolifera(cid:173)
`tion of special interest magazines such as Mens Health, and Outside Maga(cid:173)
`zine are a direct resuJt of the capabilities of deskcop publishing and more
`efficient national distribution channels.
`
`21.1.2 The World Wide Web has changed the
`rules
`
`Very few change in the history of information deuvery have been as pro(cid:173)
`found as the creation and rise of the World W ide Web. The Web has, in a
`very short period of cjme, forced us co radkalJy rethink the information life
`cycle.
`Essentially, there are now two differem - y t complem nrary -life cycles,
`one for print delivery and one for elecrronic. The changes that the Web has
`pawned go beyond just life c:ycle management. Information is no longer
`presented in a single format: e.g. n wspaper, magazine) manual, dictionaty,
`encyclopedia.
`Information needs to be able to change its presentation depending on
`context. Is the information being presented in an electronic or print
`
`© 1 998 THE XML H AND B OO K ™
`
`
`
`2 7 . 1
`
`I MAN A G IN G T H E
`
`I N F 0 R MA T I 0 N L I F E c y c L E
`
`367
`
`medium? Is the information supplemental or being cross-referenced from
`some other body of information?
`For example: In our medical dictionary scenario, medical definitions
`might be available on-line to insurance claims adjusters who need ro look
`up terms. Or, it might be available in the context of other medical publi a(cid:173)
`tions like a drug gu.ide.
`The print life cycle for a medical dictionary might never be less than 4
`years, bur rhe life cycle of the same publication on the World Wide Web or
`CD-ROM might be far shorter. Web customers would mo t Likely ub(cid:173)
`scribe to this information and would want the most up-to-date information
`at all times. Most likely the same publication will have more than one dis(cid:173)
`tribution medium and a complex life cycle to manage.
`Managing today's information requires more flexibility than traditional
`document management systems can provide. XML provides the appropri(cid:173)
`ate notation for storing and editing information over its entire life cycle.
`What is needed are new tools and paradigms for managing and enabling
`XML content.
`
`21. 1.J Object-oriented components
`
`The new paradigm for content management with XML is "components".
`Document components are logical, hierarchical divisions of a document.
`Through parsing, XML documents are automatically broken down into a
`componem object structure. In a content management ystem, component
`0bjecrs can be edited, v rsioned, and shared independ ntly of the docu(cid:173)
`rnenr that contains them.
`Why are document components more powerful than monolithic docu(cid:173)
`ments? By brealcing a document down into components pieces of a ingle
`document can be managed a if they were objects. This allows authors to
`work collahoratively on pieces of a large document while man.aging the
`document li fe cycle through version control.
`Document components can be nested inside one another according to
`the natural structure of the documem itself. By reading the document type
`definition (DTD), a contenr management system has the necessary infor(cid:173)
`mation needed to create document components according to user-defined
`parameters.
`
`©1 9 98 TH E XML HANDBOO K TM
`
`
`
`368
`
`CHAPTER 27 I POET CONTENT MANAGEMENT SUITE
`
`Document (ver. 1)
`
`Chapter 1 (ver. 0)
`
`Chapter 2 (ver. 0)
`' .... .......... .......... ,, .... ··:
`Chapter 3 (ver. 0)
`
`· ·1
`
`Chapter 3 (ver. 1)
`
`I
`
`< ·-~ 'I __ C_h_a-pt-er- 3----,
`
`ct•CIIfn
`
`' - - - - - - '
`
`Figure 27-1 Nested document components.
`
`As seen in Figure 27-1, a "document" component can contain "chapter"
`components. (These components correspond to elements in the XML doc(cid:173)
`ument.)
`
`A checkout can occur at any level in the hierarchy. Multiple clients can
`check out different components in the same large document for collabora(cid:173)
`tive authoring.
`
`The component structure of a document looks very much like a table of
`contents would. Chapters might contains sections and subsections, tables
`and figures.
`
`Components present the user with a logical view of the document as
`opposed to a storage-based view of a document. It is not necessary to care
`how the document is actually stored, whether it be in files or in a database.
`The most important view of a document is one that reflects the semantic
`structure of the document itself. Components allow us access to the wo dd
`ofXML structured content in a way never before possible.
`
`21.2 1 The POET Content Management
`Suite
`
`One approach to managing document life cycles with content management
`is the POET Content Management Suite (POET CMS).
`
`©1998 T HE XML HAND BO OK™
`
`
`
`2 7. 2
`
`I THE P 0 E T C 0 NT EN T MAN AGE MEN T SUITE
`
`369
`
`tJ.t.l POET CMS components
`
`The architecture and components of POET CMS are shown in Figure 27-2.
`
`~ ~~
`~ I NSAPioriSAPI ~ WebServer
`
`I POETWeb
`
`XMLISGML
`Graphics
`Documents
`PTML Templates
`
`Iii
`I POETContent M e
`
`1..
`
`·~ Database
`
`Web Browser
`
`)(Ml./SGML
`Graphics
`D~cumams
`pTML Templates
`
`POET Content
`Client
`
`Content SDK
`
`CustomXML
`Application
`
`Content SDK
`
`\
`
`~d~
`
`I
`
`t TCPIIP
`~..--_.,, ! 1---S- erver -
`I Verity Indexing
`I Services
`, ~======~
`I
`I
`I I
`
`Figure 27-
`
`2 POET Content Management Suite .
`
`27.2.1.1
`
`p OET Content Server
`
`The POET
`Content Server provides the full functionality of the POET
`Object Server
`database product. However, it is optimized for content access
`and includes
`a suite of tools for administering the database.
`The produ ct is packaged with a content-enabled version of the POET
`wt-b Factory
`server plug-in. It uses server-side templates to dynamically
`assemble and
`deliver the latest content to the Web or the corporate intranet.
`It can deliver
`HTML, XML, other documents, and graphics, directly from
`a POET data base.
`
`@]998 THE X ML HANDBOOKTM
`
`
`
`3 7 0
`
`CHAPTER 27 I POET CONTENT MANAGEMENT SUITE
`
`27.2.1.2
`
`POET Content Client
`
`The POET Content Client provides an immediately deployable solution to
`managing content in an editorial or delivery environment. The product is a
`Win95/NT end-user application that provides project management, ver(cid:173)
`sion control, document component exploration, viewing, querying and
`component sharing functionality.
`
`27.2.1.3
`
`POET Content SDK
`
`The POET Content SDK is a development environment with several appli(cid:173)
`cation programming interfaces (API).
`The High-lev L Af>l provides an interface for performing common ta ks
`such as imp rring and validating documents, checking comp n nrs in and
`out, managing folders and proj cts, pressing ditions aod deliveri.ng con(cid:173)
`tent.
`The Navigation API provides object-oriented abstractions for traversing,
`accessing, and querying XML elements, attributes, and components, as well
`as common graphic and non-XML document files.
`The ActiveX API provides ready-made tree, list and query controls for
`embedding in an application, either without programming, by scripting
`with VBScript and JavaScript, or by interfacing with C++ or Java.
`
`21.2.2 The POET CMS Architecture
`
`The POET Content Management Suite architecture allows different types of
`client to access the database at one time. Editors can use the Coutent Client
`interface while reviewers are viewing the latest draft in Web browsers. Cus(cid:173)
`tom applications can run at the same time. A single server can access many
`different databases at once, and a single client can access many different
`servers.
`
`© 1998 THE XML HAN D DOOKTM
`
`
`
`27.2 I THE POET CONTENT MANAGEMENT SUITE
`
`371
`
`21.2.J Using POET CMS
`
`27.2.1.1
`
`Server-side content management
`
`Content management requires control. A database server needs to provide
`control over concurrent access by multiple clients, management of transac(cid:173)
`tions, user rights, and multi-threaded queries.
`Moreover, a content server must be able to address the challenges of
`structured documents effectively. Fine-grained control of locking and ver(cid:173)
`sioning is necessary.
`It is tight control of the database that enables flexibility for users.
`For example, the POET Content Server can operate in editorial and deliv(cid:173)
`ery environments concurrently. Users can edit and manage versions on the
`same system and database that is being used for delivery to the Web or the
`corporate intranet. Approved editions can be delivered at the same time
`that new content and versions of the documents are being created.
`Moreover, access can be controlled so that different people can access dif(cid:173)
`ferent versions. Web users on the public Internet might only get formally
`released material, while intranet users might see the most recent version of
`the information.
`
`27.2.3.2 Client-side editing and viewing
`
`The POET Content Client provides a familiar explorer-style interface for
`managing document components. Documents and components are stored
`as objects that can be organized into folders, dragged and dropped between
`projects, checked in and out, viewed, edited, and queried. The product pro(cid:173)
`vides the security and power of a traditional version control system with the
`added power of hierarchical component versioning.
`Let's take a closer look at a few of its functions.
`
`Version control
`In Figure 27-3 the main window shows the database for a very large docu(cid:173)
`ment, Taber's Cyclopedic /YfedicaL Dictionary. In the left-hand window pane
`is an explorer-style view of the database. Folders and publications can be
`viewed ju t as if they were on the file sy tern.
`
`©1998 THE XML HANDBOOKTM
`
`
`
`372
`
`CHAPTER 27 I POET CONTENT MANAGEMENT SUITE
`
`In the case of XML documents, like this one, the document itself is not
`the smallest unit that can be browsed. Clicking on a document will reveal a
`new world of document components. Th.is particular document is broken
`up imo me user-defined component levels "MAINENTRY" and "SUBEN(cid:173)
`TRY', which are elements of rhe dictionary.
`
`1111 Eile
`
`ll.uer~ )!iew ~mow !!~
`
`"'#Change
`
`iii!Folder
`
`~Edrtion K'Dele!e
`
`0 <SUBnlTRY> aneurysm r111edle
`Q <SUBENTRY> aspirating needle
`0 <SUBENTRY> atraumatic needle
`0 <SUBENTRY> cataract needle
`""
`
`Dr rewDb 5 0 pen [•b
`
`~Checkc·u! El.Chechn ~Undo
`0 <MAINENTRY> necrose
`~ <MAIN ENTRY> necrosis
`I · 0 <MAl N ENTRY> necrotic
`
`~- 0 <MAINENTRY> necrotomy
`I' 0 <SUBENTRY> '"'"'"~;m
`
`0 <MAINENTRY> need
`e <MAlNENTRY> neede
`0 <SUBENTRY> aspirating
`0 <SUBENTRY> alraumati•
`- 0 <S UBENTRY> cataract t
`· D <SUBENTRY> discission
`0 <SUBENTRY> Hagedorr,
`0 <SUBENTRY> hypoderrr
`0 <SUBENTRY> knfe nee
`0 <SUBENTRY> ll!l"LlMB rr
`0 <SUBENTRY> Oblilolor
`0 <SUBENTRY> Reverdin'
`0 <S UBENTRY> scalp veit
`D <SUBENTRY> stop neec
`0 <MAINENTRY> needle·stick
`
`~ .!.og
`
`Tas k completed success fully
`
`OK
`
`Con eel
`
`Q.~ference ...
`
`Figure 27-3 Component database w ith version selection dialog.
`
`Right-clicking on the elecr d component, in this case the MAlNEN(cid:173)
`TRY "needle" pops up a menu from which variou actions can be taken
`(Figure 27-4). Clicking on ' hange Version' brings up the "Available Ver(cid:173)
`sions" dialog that we saw in Figme 27-3, from wl1icb a specifi ver ion of
`rh.e componenr can be selected. Versions arc listed along with th. la t acti n
`perf~ rmed on them and the user who performed th action.
`
`~) 1 99H THE X ML HA ND ~O O K'"'
`
`
`
`27 . 2
`
`j TH E POE T CON T ENT M ANA G EMENT S U I TE
`
`373
`
`I
`
`I , , I , ·
`
`, I I
`
`u:ll file Q.uery Y:iew Yl!indow
`
`0 New Db ~Open Db l (51 checkout
`
`l:ielp
`
`£roperties
`
`~uery I ~ ~iew I ~ .B_rowse I
`@J Report
`
`Figrn·e 27-4 Right -click action menu in POET CMS.
`
`Checking out a component
`1 he right-click menu offers other actions a weH, including the possibility
`of checking-out th componenr in order co edit it. In Figmc 27-5, the
`MAINENTRY "neck" in d1 medical di tionary has been ch ked om. Tt
`and its subcomponents appear in red to indicate that they are checked out
`and cannot b m dified by another user until they are checked back in.
`check Olll. All od1 r component arc stili available for modi6cati n by other
`users.
`
`<D I ~ ~ 8 T II 1·: X M L
`
`I-1 II N ll 11 " () '
`
`I •11
`
`
`
`374
`
`CHAPTER 27 I POET CONTENT MANAGEMENT SUITE
`
`I <a I
`[• .. EJo a- lf- lll.- u.-,
`D Now Db ~Open Db -'J ,:;i,cheokoc.• Eloched:"' ~Und>l
`i , <LE1TER> 1101
`~r ~ ·~: .-
`
`•' ~ <MAINENTRY> NecalOI
`~ ~~NENTRY> neco!ltoriatis
`
`II <SUBENTRY> anatomical neck of the humerui
`~ <SUBENTRY> neck of the femur
`~ <SUBENTRY> M~lung's neck
`~ <SUBENTRY> neck of the mandible
`00 <SU BENTRY> $Ufgieo!ll neck of the humerus
`§1 <SUBENTRY> neck of lhe loath
`~ <SUBENTRY> neck of the uterus
`~ <SUBENTRY> webbed neck
`~ <SUBENTRY> wry neck
`D <MA!NENTRY> neck conformer
`0 <MAINENTRY> neck lighting relle>~
`0 <MAINENTRY> necr·
`0 <MAINENTAY> necrectomy
`D <MAINENTAY> necro
`l.if" <MAINENTRY> necrobiosis
`'I ~uery I ~ ~ow I ~ .ll.rowve I
`
`I
`
`00 Log
`Checking out component .
`
`.fict-.ang~
`
`i0Fo!1:r
`
`ii:JEd~IO'l
`
`Jtoeret~ ~Up
`
`l!l Ia-
`I !! <SUOEtn AV> -nrmc;ol nook ol tholnomonn
`[I) <SUBENTRY> neck of the femur
`~<SUBENTRY> Madelung's neck
`~<SUBENTRY> neck of lhe mandible
`~<S U BENTRY> SlJ'gical neck ol the OOmerus
`lr! <SUBENTRY> neck of lhelool.h
`~ <SUBENTRY> neck ollhe uterus
`...J ~ <SUBENTRY> webbed neck
`~<SUBENTRY> wry neck
`
`L•><Auoan
`Clloo~Oiof
`Checkout
`Checkout
`Checkout
`Checkout
`Checkout
`Checkout
`Checkout
`Checkout
`
`O~<o.
`·~
`riCibo<tl!
`nobod.Y
`nobody
`nobody
`nobody
`nobody
`nobod.Y
`nobody
`
`.=.l ••
`
`Task COJI'Ipleted successfully
`Checked out compon ent neck: ( 0-0-562863-13lv 0) to C: 'TEHP, neck sgfk
`
`Figure 27-5 Checked-out components.
`
`Sharing a component
`A component can be shared by holding down the CTRL-SHIFT keys and
`dragging it into another project folder. All changes made to the component
`will be reflected in both projects.
`In Figure 27-6 the component "Executable unit properties" is being
`shared with the "Technical Manuals" folder, as indicated by the curved
`arrow in the cursor.
`
`© 1 9 9 R T H E X M L H A N D B 0 0 K 1M
`
`
`
`2 7 . 2
`
`THE POET CON T E NT MAN AGEME N T SU ITE
`
`375
`
`, SGML NavigaiOJ -(sgmldalabase.sdb:l]
`Wll file Query ~1ew ~1ndow !::!elp
`1
`0 New Db ~Open Db
`\ e.checko,Jt ' ,;ll [ ,, ·· J .,,
`
`,;9 C:\projects\wildflower\testdatabase\sgmldatabase.sdb at LOCAL
`rtJ llillJ GrephiC$
`l'fJ tm1J
`~~~White Papers
`·
`:_ 0 Wildflower Pro mmer's Guide.rtf
`l~l 6'J WildflowerProgrammersGuide sgm
`,.(£]
`
`El ~ <BOOK> BOOK
`~ <CH.I>.PTER> High level interface
`0 <SECT1 > The Wildflower High Level Programming
`0 < S E CT1 > application objects
`0 <SE CT 1 > Reporting logs
`0 <S ECT1 > executable units
`! 0 <S ECT1 >sample import program
`13 : ~~~~~~~~~r~i~~f-J~~·rti~sj
`It : $ <SECT2> expott properties
`$ ~ <SECT 2> Properties for check in
`f!: ~ <SECT2> Check·out properties
`
`~ Log
`
`? Query I~
`
`f!~Stop
`
`~Report
`
`Figru·e 27-6 Sharing a component
`
`Viewing a document
`An object, such as an XML (or full SGML) component, graphic object, or
`word processing document, can be viewed by dragging it onto the browser
`toolbar. Depending on the object type, the browser will either view it
`directly or launch an external program to view it.
`
`(() I ') ') K T II li X M L
`
`I I ll N ll ll L) () K TM
`
`
`
`376
`
`CHAPTER 27 I POET CONTENT MANAGEMENT SUITE
`
`In Figure 27-7 we see the Sofiquad Panorama viewer in the bottom win(cid:173)
`dow, viewing the component "microscope".
`
`0 dAAINENTAY> mb01hinkl
`0 <MAINENTR'(> flliC I Uicelou~
`~· <MAINENTRY>~
`0 <SUBENTRY> binocul~r rric:ro1 cope
`I D <SUBENTRY> compooodmicroscope
`Q <SUBENTRY> doll; I reid f!JC.ID!tope
`0 <SUBENTRY> elecllonmitro;C(Ipe
`
`g ~~~:~~~:: :::~::Cepe ~
`
`1:1 Lot
`
`~ l l!:!<tHJil[tfTR'I')br.rloJII~eoc.!l
`0 ~S UBEN T RY! compound mtc1o1cope
`0 <SUBENTRY> dotk held microscope
`D (SUBE NT IWJ e!ec\ronrnicro!cope
`[J <SUBE N TRY>~ micro<;cope
`q.t~Jli'rJUIN'~
`<SUBE NT RY> pha1e "*:ro1cope
`<SUBENT RY> poltllrl~ronm~e ro1copo
`
`_t
`
`~ Cit113WT
`<SUBENTRY> 1• rOCio!cope
`§ <SUBENT RY> 1.caon~ eleclron rNamcope
`~ <SUBE NTRY> tlereorcopiciTIIClolcope
`
`<SUBENTRY> tit ~'lll miclO'icope
`
`<SUBENTRY> IA.ravioleirric((} ~cope
`<SUBENTRY) ~ r ay miclotcope
`
`IJ <SUBENTRY> phasemicro;cope
`0 <SUBENTRY> pol~nHIOO ll'IK:Iorcope
`0 <SUBENTAY> i tam.l!leie<llonmicrortope
`(!] <5U8EN1RY> 1implemic101COpe
`CD <5U8EN1RY> slll. la!T(l micloscope
`;:; ,C I IOI: . ITCV, -.l~ -~- -~-'~- -~-----
`'I Qwryl ~ l!low ~!J il••w••J
`I a:. r.:!., 5~.11 .£1...,
`I '! ......,lmi:'.:!!!:!::CI/LOCI\lfiW.,kol••\P\I•~·~•b::•-.!!"''"1'~"""'"11'7"1~·;612f~~-l~~"L
`
`[liJlOI\
`
`"""·· ~= E:<po~l
`.....
`'"'"'
`..... ..... ·-,,.,
`'"'""
`'"'""
`
`'"""'
`'""'
`
`••IIO.If
`"""*
`""'"''
`""'""
`
`T~ =
`,.,.. -'"""""
`""'"" ----
`
`' 'lci::i
`
`.i"'.,Jf(ti!;:!I~V.! AI
`:vlli!JIItO~~ AM
`mll!lll.~!/lOO AM
`2/23/00 f:r,) l't\AM
`2/23/98 -&!l'U:IIAM
`2/23/96 ~53:0 1 AM
`2/?J/989 53 01 AM
`2123/909 5J 01 AM
`212~ 9 51 01 AM
`2J23190 953.01 AM
`2123/999 53.01 AM
`2J2JI~953. 01AM
`21231989 5301M1
`2123199 9 5J.01 AM
`
`I
`
`1!
`
`[I
`
`.&
`
`• mh;raU \1[18
`Q binocular mforotcope
`~ao c:ornpo und 4nlerolcope
`Q dark-field microscope
`q electron microscope
`• light microscope
`• operating microscope
`• phue micros cope
`• polarization microscope
`• scanning electron microscope
`• simple microscope
`11J slit-lamp microscope
`• stereoscopic microscope
`• ultraviolet microscope
`• x-ray mlcroscope
`
`t ltctron 1n ~rolcop•
`A mic roscope that usesslreamsofeleclrons deOectedfromlheircourseby an elect rostaltcor
`elec l romagnel ic fi eld fori he magnification of obj ects
`
`Dere ~ p The fm al image 1s viewed on a Ouore sc enl sc reen or re corded on a photographic plate
`Because or greater 1esolution, images may be magmr1ed up IO .400 ,0CO diameters
`See tt:.to•t!ti!JIIftllnmmJCrft51i(.!!)D
`
`light micros cope
`A m tcroscopo that uses ord tnary lighl lo allow VIewing or I he object
`
`operating microscope
`Amicroscope designedforu se during sUige ryinvolvingsmall l issuesuchasnel\'es,vessels , the
`inm~rea 1 ,o rfa ll opianl u bes
`
`~
`l"igure 27-7 Viewing a component
`
`Full-text search
`POET CMS supports several forms of searching. Figure 27-8 illustrates the
`results of a full text search for the word "migraine" . The "Query" tab of the
`main window lists all of the components that contain the word.
`The search was conducted by means of a dialog box, in which the search
`string was entered. The dialog offers the option of restricting the search to
`the current version of components that contain the word, or returning all
`versions that contain it.
`
`©1 998 THF. XML HANDBOOKTM
`
`
`
`2 7. 2
`
`THE POET CONTENT MANAGEME NT SUITE
`
`377
`
`LJ <MAl N I: N I HY> neck ·nght1ng retlex
`. 0 <MAINENTRY> necr·
`.. 0 <MAINENTRY> necrectomy
`. [J <MAINENTRY> necro·
`~ <MAINENTRY> necrobiosis
`
`'? Query j ~ ~ew I ~ I!_rowse I
`~ _Log
`' 0 Stop @J Report
`
`(;] <MAINENTRY> migraine _
`ISJ <SUBENTRY> mrgra1ne pa1n
`5 <MAINENTRY> headache
`<MAINENTRY> vomiting
`~ <MAINENTRY> vertigo
`liD <MAIN ENTRY> teichopsia
`liJ <SUBENTRY> signal symptom
`$ <MAINENTRY> skin
`[j <SUBENTRY> scintillating scotoma
`O <MAINENTRY> review of systems
`[J <MAINENTRY> retroperitoneal fibrosis
`[I <MAINENTRY> Moebius' [Mbius'] disease
`El <MAINENTRY> methylergonovine maleate
`EJ <MAINENTRY> hyperhidrosis
`[ID <MAIN ENTRY> hemicrania
`li] <SUBENTRY> cluster headache
`El <SUBENTRY> ergotamine tartrate
`0 <M.~~~~~RY> ergonovine ~aleate
`
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`Import
`
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`nobody
`
`Figure 27-8 Result of querying for components containing "migraine",
`
`The query results can be can be used as a basis for checkout, viewing, and
`editing by right-clicking on a component as if it were listed in the main
`pane of the window.
`
`The decreasing life cycles of information brought
`Analysis
`about by the World Wide Web make a persuasive argument for
`XML and content management. It is true that content
`management was originally conceived for large-scale technical
`publishing. However, it appears likely to play a significant role in
`middle-tier Web applications as well, particularly as the value of
`maintaining persistent metadata on the middle tier becomes
`better appreciated.
`
`©1998 THE XML HANDllOOKTM
`
`
`
`HoTMetal
`App ication
`Server
`
`I Middle-tier server tool
`
`I Familiar HTML base
`
`I WYSIWYG development environment
`
`I Free trial version on CD-ROM
`
`© 19 98 THE X ML HANDBOOK"''
`
`
`
`• • • he landscape of the Web i rapjdJy changing. No longer are
`Stade Web pages enough to give an organiz<!-tion the bu iness
`edge h requires in today's highly compccitive w rld. No mat(cid:173)
`ter how well designed and link-intensive your Web page is, it won't
`make the grade unless it can provide the interactive services that the
`new generation of "Nintendo" trained, computer-savvy, business-ori(cid:173)
`ented Web users now demand.
`Remaining competitive on the Web can be overwhelming for organiza(cid:173)
`tions that have struggled just to create today's static Web pages. How can
`they cope with emerging requirements to provide a "personal experience"
`on their Web site? This is especially difficult if the organization lacks the
`technical resources it takes to add interactivity to their site.
`
`28, 1 1 Dyna1nic descriptive 1narkup
`
`The solution lies with a new generation of XML-based software for the
`middle tier that relies on descriptive markup, rather than procedural scripts
`
`@ 19l).S
`
`rl' [-[[;, XML I-lr\I'IJI\l)()J;:I.\\
`
`379
`
`
`
`3 8 0
`
`CHAPTER 28 1 HoTMETAL APPLICATION SERVER
`
`written in JavaScript, VBscript or C++. Products like SoftQuad's HoT(cid:173)
`MetaL Application Server (Ho TMetaL APPS) seek to introduce new func(cid:173)
`tionality painlessly by leveraging existing user expertise in HTML.
`With Ho TMetaL APPS, for example, Web development is done directly
`in XML markup, u.ing an extended set ofHTML tags. Because the source
`markup is XML, the product can provide a "what-you-see-is-what-you-get"
`(WYSIWYG) view of the page as well as the tagged view. (Figure 28-1)
`Developers new to dynamic Web pages may find it easier to adapt to this
`familiar paradigm than to deal with scripting code.
`
`&[Greeting] &[FirstName]!
`T h is Is the d a t a tha t you h ave s upplie d a b o ut y o urs el f . T o see s o m e
`time ly Informati o n w hich a ppli es to y o u , cli ck the Cont in u e butt o n
`be low,
`
`E-mt~ll Address:
`
`Ne~me:
`
`L ocotlon:
`
`Typ e of Dwelling:
`
`Figure 28-1 WYSIWYG view of a dynamic Web page in Ho TMetaL APPS.
`
`ta.t I How HoTMetaL APPS works
`
`The product has two components. The first is the development interface.
`The second is the application server itself, which runs on several UNIX
`platforms as well as liS, Windows NT, and Apache.
`In order to allow the user to work in the familiar HTML Web page
`development paradigm, the development interface is based on the vendor's
`HoTMetaL Pro HTML editor, with additional features known as the Power
`Pack. The latter includes support for special "MV" tags (described below),
`plus documentation and sample applications.
`
`© 1 998 T H E XML HANDBO OK ™
`
`
`
`Also included is the HoTMetaL Personal Serv~; whi h run under Win(cid:173)
`dou;s 95 or Wbtdows NT .HoTMetttL Personal Server is a completely self(cid:173)
`contained environment that can be used for staging applications before they
`go ro the ~eb. .
`A fre' tnal vers10n of HoTMetaL APP. can be found on the CD-ROM
`accompanying this book It works with existing Web browsers and for
`those who have scripring language kills, Java crip and DHTML can be
`integrated into its Web pages as well.
`
`@@) @IDyour Personal Innovations: Registration (iliillJ (W!• J
`
`OOITW}
`r····--·····-------·---------· ·--···----·------··--···········--··--·······----····--····--····
`I
`•
`
`(@.a.~1 )[Re~sterDB = re~ler.datJ (A WA..~~l J
`
`I.~XME~il) Chqc};if t·mall adJrgss almdy ~J1slsi11 tlw databaSB ~
`
`(!o(·IASS:;tl )[FoundPrevious = 0] (.lw~;~J)
`l"Mif<ffT )~ILJir:'(Re~sterDB)' DELIMITER='!~
`FlliLDS::'prevEmall,prevN ame,pravLocation,prevDwelling' FIL'l'ER=' ~re~Emrul EQ
`Email)"]
`
`Figure 28-2 HoTMetaLAPPS development interface.
`
`
`
`382
`
`CHAPTER 28 I HoTMETALAPPLICATION SERVER
`
`ta.t.l Middle-tier server tags
`
`The major difference between an HTML editor and the Ho TMetaL APPS
`development interface (Figure 28-2) is support for a set of special "Middle(cid:173)
`tier serVer", or "MV" tags. Normally, XML and HTML tags such as "Hl"
`and "TABLE" identifY elements of those types and are rendered by the cli(cid:173)
`ent browser.
`MV tags, however, though resembling normal tags in syntax and method
`of use, are interpreted by Ho TMetaL APPS and are never seen by the
`browser. Instead, they dynamically control the generation of the page that
`the browser eventually receives.
`
`28.2.1.1
`
`Data access tags
`
`One group of MV tags enables the dynamic inclusion of data from data(cid:173)
`bases and other sources. They include:
`
`MVOPEN
`Opens a specified data source.
`
`MVINPUT
`Dynamically pulls data from a specified source into the Web page.
`
`MVCLOSE
`Closes a specified data source.
`
`28.2.1.2
`
`Conditional logic tags
`
`This set of MV tags enables the Web site developer to perform conditional
`processing. That is, the generated browser page can depend on conditions
`occuring in the data or other changing information. Some examples are:
`
`MVIF
`Causes following text to be processed if a specified statement is
`true.
`
`©1998 THE XML HANDBOOK™
`
`
`
`28.3 I FUNCTIO N ALITY C A N BE PRIE N DLY
`
`383
`
`MVELSE
`Causes alternative text to be processed when the MVIF statement
`is false.
`
`Note that the text that is processed because of the above tags can include
`both MV tags to be processed on the server and ordinary text to be
`included in the generated page.
`
`21.2.2 Guided construction of dyna1nic pages
`
`When creating dynamic Web pages with a procedural scripting language,
`the developer must know the language commands and parameters and
`where they can be used. In contrast, markup-based development is gov(cid:173)
`erned by an XML document type definition that allows entry of tags only
`where appropriate.
`In HoTMetaL APPS, for example, MV tags are entered in the Web page
`via the "add markup" pull-down menu in the same manner as normal tags
`can be entered. The available tag selection dynamically changes based on
`document context, so adding tags in the right spot is automatic.
`Moreover, since the programming parameters for MV tags are specified
`as attributes, the Ho TMetaL APPS Attribute Inspector can guide the devel(cid:173)
`oper in their correct use. For example, in Figure 28-3, the Attribute Inspector
`indicates required parameters in boldface.
`
`;: lllllllmllll
`
`-~~.l\/ll.IPOAT
`
`~-
`
`~~~~m.~
`
`-=
`
`.!J
`~
`
`:~
`
`Figure 28-3 The Attribute Inspector
`
`IB.J I Functionality can be friendly
`
`The business requirement to engage the customer in the Web site experi(cid:173)
`ence is growing each day. No longer is it enough simply to present informa-
`
`© I 9 9 H T H 1C X M l.
`
`J-1 11 N 0 ll 0 o K "'
`
`
`
`384
`
`CHAPTER 28 1 HoTMETAL APPLICATION SERVER
`
`~ m
`
`Fa·,~orites
`
`Sea1ch
`
`Welcome Back, Bruce!
`
`This is the data that you have suppl iecl about your-sel f To see some timely
`inforrnation which applies to vou, click the Continue button below.
`
`E-mail Address : bsharpe@softquad.corn
`Name: Bruce Sharpe
`Location: West Coast
`Type of Dwelling: Detached House
`
`Figru·e 28-4 Dynamic XML-based Web Pages
`
`tion to those who visit your site. You must include them in the business
`process (Figure 28-4).
`XML is the enabling technology that will make such interaction perva(cid:173)
`sive. And there is no need for it to be limited to those with large budgets or
`huge technical staffs. Products like HoTMetaL Application Server offer the
`non-programmer the potential to build highly interactive Web sites in a
`tag-based environment, where today's Webmasters are already comfortable
`and proficient.
`
`<'-) l t) lJ H T 1-1 F X lv1 L H i\ N I) li ~) n K L/1.!
`
`
`
`
`
`
`
`Junglee Virtual
`DBMS
`
`I Middle-tier server tool
`
`I Virtual database technology
`
`I Wrappers and extractors
`
`©1998 THE XML HANDBOOKTM
`
`
`
`ith the explosive growth of the Internet, corporate intra(cid:173)
`nets, and the World Wide Web, a vast resource of data is
`now available. This data is scattered across Web sites, file
`systems, database systems and legacy applications. Writing applica(cid:173)
`tions to query and combine data from this wide variety of sources is a
`complex and difficult process.
`
`21.1 1 Why virtual database technology?
`
`All of the middle-tier approaches described in this book can integrate data
`from multiple sources and deliver it to the client in the form ofXML docu(cid:173)
`menrs. Some users, however, may find a compelling logic in going even fur(cid:173)
`ther, as Junglee Corporation has.
`Their VirtuaL Databa.se Management System (VDBMS) i designed to
`01ake the World Wide Web and other external data sources behave as a sin(cid:173)
`gle relational database- as part of your merprise or Web application infra(cid:173)
`Sttucrure. T he rdarional database view makes
`ir po ibJe to
`e ute
`
`© 1 ~l 9 8 T HE X M L
`
`1-1 A r-; D ~ o o K 1·"
`
`387
`
`
`
`388
`
`CHAPTER 29 I JUNGLEEVIRTUALDBMS
`
`powerful queries using the industry-standard Structm·ed Query Language
`(SQL) , and results can be presented as relational tables or XML docwnent ,
`as required by the application.
`The VDBMS leverages the power of XML to deliver results in a form
`that can be manipulated by the browser without round trips to the Web
`server. For example, XML allows browser-side sorting and filtering of data,
`and presenration of rhe data to suit specific user preferences based on style
`sheets. Figw-e 29- 1 ill ustrates the core functionality of rhe VDBMS.
`
`Development Phase
`
`Operational Phase
`
`Internet Web sites
`
`Figure 29-1 The Virtual Database Management System (VDBMS).
`
`©1 99 8 TH E XM L HAN DBO OK 'rM
`
`
`
`29.2 I How TH E VDBMS woRKS
`20.2 1 How the VDBMS works
`
`389
`
`The Virtual Database Management System