Overview of XML Family of Standards   Table of contents   Indexes   TMS' History in Web Syndication

Brannon, Matthew
Columbus
Lucent Technologies
 USA 
 
Matthew Lee Brannon
 SGML Applications Architect
Lucent Technologies
  6200 E. Broad Street Columbus (Ohio)  USA (43213)
Email: mattbrannon@lucent.com
 Biography
 Mr. Brannon is an SGML systems architect and engineer for Lucent Technologies' enterprise-wide publishing platform, which is used to author and produce technical information products that are delivered to Lucent's end customers and strategic partners. He has a Bachelor's Degree of Elecronics Engineering Technologies from DeVry Institute of Technology, and has worked for Lucent and its predecessor AT&T Bell Laboratories since 1990.
 Dallas 
 ISOGEN International 
James, Zarella
 USA 
 
Zarella James
 Senior Applications Engineer
ISOGEN International
  2200 N. Lamar St. Suite 230 Dallas (Texas)  USA (75202)
Email: zarella@isogen.com
 Biography
 Ms. James is a Senior Consulting Engineer at Isogen International Corp. She has designed and developed Technical Documentation Management Systems for customers in various industries including Telecommunications, the Oil and Gas, Publishing, Air Transport, and the US Postal Service. Ms. James has 7 years of SGML experience including document analysis, DTD development, conversion strategies, on-line document design and implementation, and document database development.
 

Overview

 As on-line help technologies emerged in the early 1990s, such deliverables gradually became more common to technical writing groups within Lucent. Unfortunately, the processes and tools used to create those deliverables varied significantly from product to product. Because of the wide variety of products that Lucent produced, and the number of operating systems and platforms that those products operated upon, individual authoring teams were required to perform at least one of the following to produce on-line help:
 
  •  Invent technologically-new authoring and production solutions on a product-by-product basis.
  •  Purchase and learn expensive off-the-shelf help authoring packages, which often resulted in a "splitting" of the source, such that one set of source files in format "X" were needed to support documentation deliverables, and another set were maintained in format "Y" in order to derive on-line help.
  •  Deliver one or more on-line documents, accessed from a help access object on a Graphical User Interface, and call the deliverable "on-line help".
context sensitivity
 
As customers began to get more savvy in their requirements, they started requiring context sensitivity to what was being delivered as on-line help. They also began requesting that on-line help delivered to support cross-platform products look, feel, and operate similarly across the platforms. Although a large number of new "industry-standard" help designs were emerging, none seemed to fill all of the needs that were required by Lucent. In April of 1998, a team of information architects were assembled to investigate a standard in-house design for a system that could provide screen and/or object level context-sensitive help to a user, access to an overall library of on-line documents, as well as access to technical support information. To avoid terminology confusions with other help schemes, a term was coined to identify this overall system; - a"User Assistance System" .
 

Reasons for Development and Implementation

help authoring systems
 
Prior to making the decision to create an in-house system, studies were performed to determine the benefits and drawbacks of several "off-the-shelf" help authoring and production systems. In addition, technological aspects of how to integrate existing help systems with graphical user interface designs being developed within Lucent were examined. In the end, the decision was made to create the custom User Assistance System for use within Lucent, using an SGML publishing platform that was also under development as the authoring and production system. These decisions were ultimately made in the interest of implementing a single system capable of providing the necessary features in the absence of a truly-flexible cross-platform industry standard.
 Additional events and facts that supported the decision to create an in-house help design include the following:
 
  • Graphical User Interface
     
    Graphical user interface development teams within Lucent began moving away from using operating system-specific, proprietary development and display tools, towards web-based, cross-platform DHTML interfaces displayed using HTML 4.0, CSS, Java (TM), Javascript, and most recently, XML.
     These GUIs are capable of performing all communications between the server and clients via HTTP protocol, displaying the resulting data upon user terminals in HTML via off-the-shelf internet browsers.
  •  Lucent Corporate requested that a unified look and feel for on-line documentation and help deliverables being integrated with the new DHTML GUIs be developed. These new on-line designs were to be implemented across all products implementing the new GUIs, regardless of the product's (or customer's) server/client operating systems.
  •  Economic and quality directives within Lucent's technical authoring division resulted in an authoring platform unification initiative, in which proprietary desktop authoring environments began to be replaced with a standardized, enterprise-wide SGML publishing platform.
  • single source
     
    Extensive studies determined ways of implementing "Single Source" information reuse strategies, which allowed efficient methods of creating different "types" of information products (standard documents, student guides, instructor guides, and User Assistance) from a single set of common source files, as well as different output formats for a single type.
  •  Information Mapping 
     
    Case studies and trials conclusively proved that Information Mapping authoring methodology, coupled with Task-Oriented presentation practices were effective in lowering the expense and time intervals previously required to author and produce technical information products, regardless of type or presentation format.
 It is important to note that if a truly open industry standard for cross-platform on-line help emerges, it is considered in Lucent's best interest to implement an off-the-shelf toolset that supports such a standard, so long as the signature look, and basic information architecture of the User Assistance system described in this document are allowed to be retained.
 

Overview of User Assistance System Functionality

 The Lucent User Assistance system has a number of technical and functional characteristics that help provide solutions for the issues previous described.
 

Output file format and technical details

 
  • file granularity
     
    The overall User Assistance system, and all files within it are the result of one-time production runs. The output is produced by project authoring teams and delivered as a static set of files which are then integrated with the product GUI.
  •  All output file content, menus, and controls are coded using HTML 4.0 and Javascript 1.2.
  •  When the source documents are processed to produce the User Assistance system, all output files are chunked with a hierarchical level of granularity that occurs at theinformation map level. As an example, a chapter of source content which contains three information maps is converted to a single HTML "menu file" connected to three individual map-level HTML files, as shown .
     
     File splitting diagram
  • Cascading Style Sheet Level 1
     
    Styles in all User Assistance files are applied using a combination of referenced and embedded Cascading Style Sheet Level 1 declarations.
  •  browser 
     
    All files used within the system are capable of being viewed with Netscape® Navigator 4.06 or later, Microsoft® Internet Explorer 4.72 or later, or any other "browsing" application capable of supporting the common HTML 4 features such as Javascript, CSS, linking via HREF with absolute or relative paths, etc.
  •  

    User Assistance system invokation from a GUI

     The architecture of the User Assistance system is optimized for use with GUIs that provide four access objects per screen, but may be used with GUIs that are limited to providing three, two, or even a single access object. In the "new-look" Lucent GUIs, the four triggers are buttons which are presented in a frame that is anchored in the lower-left-hand portion of the GUI window. Each button connects to a different component of the User Assistance system. These connections are implemented using Javascript functions invoked as the result of HREF declarations that surround each button. The resulting content files are displayed in a specially-constructed window that is separate from the GUI itself.
     In legacy GUIs, or those built with proprietary technologies, the access objects may be pulldown menus, static help access objects within the window, or any other control that allows an external function to invoke a browser and load it with a predetermined URL.
     
     Sample DHTML GUI with four help access objects
     The integration of the GUI with the User Assistance components relies on a set of referenced Javascript functions in an external file. These functions control the User Assistance window creation and teardown, as well as the construction of full paths to the specific HTML files which are the targets of each button's HREF action.
     The "Button" frame may be populated using stand-alone HTML files, or the content may be dynamically generated by the parent GUI. Regardless of how it is manifested, the contents of the frame must possess a reference to the User Assistance system's controlling file; - a file containing Javascript functions specific to the User Assistance system called "help.js".
     The HREFs to the target help files may be coded in a number of ways, including:
     
    •  Using a relative path, which assumes help files are co-resident with GUI files under the same webserver.
    •  Using an absolute path with URL, which allows help files to be located on a different webserver than that used by the GUI .
    •  Using a token string, which is a combination of variable values that establishes uniqueness for each GUI page or object. This string is resolved into a URL by the Javascript functions within "help.js". The token string values are abstract values by design, which allows the GUI and User Assistance development environments to deviate on agreed system identifiers within source files by resolving the values within an indirection table.
     

    Major User Assistance components

     The system is divided into five main components. Two of the components are context sensitive, and are the items most typically associated with a traditional "on-line help" systems.
     

    Help (task) component

     context sensitive 
    procedures
     
    This component contains thetasks that can be performed from each page or object within the GUI. When selected, a list of tasks that can be performed from the GUI page or object is presented in the User Assistance window, with a "common functions" toolbar visible at the bottom of the window.
     
     List of Tasks file
     
     Selecting one of the tasks from the list will display a procedure that the user would follow to complete the task.
     
     Task file
     In the event that the User Assistance is being developed to support a GUI that does not have four access objects on each page, options are set at the point of production which add links to the bottom of Task List pages that connect to the other components of the User Assistance system. This allows continued support for the task-oriented paradigm, even in the worst-case scenario in which only one access object is available on a GUI page or object. In this situation, that object is labeled "Help", and provides the user access to the list of tasks as the primary choice, with access to the other components available at the bottom of the page.
     
     User Assistance for GUIs with one access object
     

    Description (descriptive) component

     
    •  Description
      concepts
       context sensitive 
      descriptions
       
      This component contains conceptual and descriptive information about the uses and function of the page or object within the GUI. Such information might describe what controls are available on a page, what a control or object on a particular page might be used for, and how it is used. When selected, the User Assistance window is invoked, in which the descriptive information is presented, with a "common functions" toolbar visible at the bottom of the window.
       
       Description file
     

    Support (technical support) component

    technical support
     
    This component is not context sensitive. It contains information about how to obtain technical support while using the product or system that the GUI supports. The content of this component may be a Tech Support organization's home page, or may be another set of "documentation-like" pages which contain FAQs, lists of known problems, etc. When selected, a separate, custom window is invoked, and loaded with the technical support content.
     

    Interface Tips component

    common GUI functions
     
    This component is not context sensitive and can only be accessed from within an invoked User Assistance window, not from the GUI itself. It is called "Interface Tips", and is available as an icon within the Help and Description window toolbars. The resulting file contains details about common interface conventions and behaviors, such as common color coding conventions for the GUI, object behaviors, etc.
     

    Library component

     HTML, Hypertext Markup Language 
    on-line documentation
    on-line library
     
    This is a separate type of information product, as opposed to a legitimate HTML UA component. The information that underlies the "Library" button is a collection of on-line product documentation in HTML format. These documents contain a significant amount of information about other areas of the system besides those functions accessible by the GUI. When selected, a separate, custom window is invoked, in which the Library frameset is displayed. Users can then choose individual documents to read from within the library.
     While considered part of the overall User Assistance system, it is important to note that the development and processing of the Library component (and the on-line documents within it) is a separate function from that in creating the other User Assistance components. The Library documents are a separate form of output supported by the Lucent publishing platform. The combination of the standard HTML UAcomponents , with the HTML Online documentationlibrary result in the overall HTML UAsystem .
     
     Online documentation library window
     

    Toolbar components

     When a user selects the "Help" or "Description" buttons, a User Assistance window is invoked in which the List of Tasks or Description content is displayed. The toolbar at the bottom of the window connects the user to the following items:
     
    •  hypertext index 
       search 
      search for tasks
       
      List of Tasks
       A single file that contains a hyperlinked, permuted index of entries found withintask files that are accessible under the "Help" button.
    •  glossary 
       
      Glossary
       A sorted list of terms that are used within the User Assistance system and their corresponding definitions
    •  Interface Tips
       One or more files containing information about common conventions supported by the GUI.
    •  hypertext index 
       search 
       
      Find a Topic
       A single file that contains a hyperlinked, permuted index of entries found within both the task files (under the "Help" button) and descriptive files (under the "Description" button).
    • go back
       navigation 
       
      Go Back
       A Javascript function which invokes "history -1" to recall the previous page that was loaded.
     

    Overview of SGML Publishing System

     Adobe Frame+SGML 
     Arbortext Adept editor 
     
    Lucent's User Assistance system is created using an enterprise-wide SGML-based authoring system. It relies on source documents written in SGML which conform to Lucent's reference authoring DTD.
     HyTime 
     Xlink 
     
    The DTD and all SGML markup authored within the system rely on SGML concrete syntax. No extensions such as HyTime or Xlink have been implemented.
     DTD, Document Type Definition 
    DynaText
     PDF 
    PostScript
    output formats
     
    In addition to producing HTML User Assistance, source documents authored with the reference DTD are also capable of producing the following types of outputs in the formats listed:
     
    •  Standard Technical Documents
       
      •  PostScript®
      •  PDF
      •  HTML
      •  DynaText®
    •  Student Guides
       
      •  PostScript
      •  PDF
    •  Instructor Guides
       
      •  Postscript
      •  PDF
     The following illustration provides an overview of the publishing system
     
     SGML authoring and production system components
     

    Description of Source Information Content Models

     The help system described here is authored using Lucent's reference authoring DTD. The DTD has some distinct characteristics that allow such task-oriented presentation models to be obtained.
     
    •  The DTD supports the creation of large, hierarchical documents, possessing publishing info, front matter, Parts and/or Chapters, followed by optional Appendices, and backmatter.
       
       High-level structure of authoring and production DTD
  •  Information Mapping 
     
    Within Chapters and Appendices, information is authored within element containers that follow the Information Mapping methodology, upon which all major map types are represented. These map types include:
     
    •  Overview Map
    •  Concept Map
    •  Fact Map
    •  Structure Map
    •  Principle Map
    •  Process Map
    •  Procedure Map
  •  It is the ability to explicitly identify source data as a procedure, through the use of the"Procedure Map" that allows the automated collection and segregation of tasks from descriptive information upon output.
     

    SGML Source Files and Context Associations

     

    SGML source file requirements

     The User Assistance system can be created from one or more complete document instances, depending on the needs of the authoring community. In many cases, a stand-alone source instance is created to contain all of the content necessary for inclusion in the User Assistance deliverable. In other cases, the content is already embedded within source instances that have been used to create formal technical documents. In this latter case, several source documents may be required in order to prevent rewriting.
     In both cases, only the content explicitly identified as pertaining to context-sensitive User Assistance components, through the use of help attributes and cross-references, is culled from the source documents and passed through to output. All other content is ignored.
     

    Attribute values and allowed positions

     attributes 
     
    The Lucent DTD possesses two unique attributes which are available to mark data as being targetted for inclusion in the context-sensitive User Assistance components upon output. In addition to using these markers to identify containers of information associated with User Assistance, any content that is pointed to from those marked containers by a cross-reference or link is also included upon output.
     The User Assistance-related attributes are:
     
    •  UA-Page-ID
       This attribute is used to contain a "token" or ID that associates the content of a container element in the source document with a particular GUI screen or object.
       This attribute is available on the following elements:
       
      •  Chapter
      •  Appendix
      •  All *-Map elements
    •  UA-Type
       This attribute is used to mark certain content within the source document as being associated with a particular UA component type.
       This attribute is available on the following elements:
       
      •  Chapter
      •  Appendix
       The two attribute values currently allowed include:
       
      •  Interface Tips
         Allows a chapter to be identified as the content which underlies the "Interface Tips" button.
      •  Support
         Allows a chapter to be identified as the content which underlies the "Technical Support" button, if a Tech-Support homepage is not used as the target for the button.
     

    Attribute processing rules

     The User Assistance attributes have specific usage rules regarding where, when, and how often they can be used. In addition, there are a number of processing rules that dictate how and where elements tagged with these attributes will appear upon output.
     

    Task Components and the UA-Page-ID attribute

     attributes 
     
    All tasks that are accessed from the "Help" button are contained within <Procedure-Map> elements in the source instance. Any task that is intended to be output for User Assistance must possess a "UA-Page-ID" attribute. This attribute may have one or more values provided in a space-separated list.
     
    <proced-map ua-page-id = "401 402 1012">
     This ability to have multiple values on the UA-Page-ID attribute allows a single procedure to have context-sensitivity established with many different pages or objects within the GUI. These associations also allow the information to be presented as needed within the User Assistance system by referencing a single copy of the task file.
     Output processing involves a search of all of the input document instances for <Procedure-Map> elements that have a <UA-Page-ID> attribute, which indicates that they are associated with one or more GUI pages or objects. Upon finding such <Procedure-Map> elements, their contents are converted to HTML and saved as individual files. All other Procedure-Map elements are discarded. Once the map conversions have been done, the titles of tasks that have identical UA-Page-ID values are grouped together in a single HTML file, and presented as list hyperlinks. This "Task List" page is what is presented to the user when they select the "Help" button for a given GUI screen or object.
     

    Description components and the UA-Page-ID attribute

     attributes 
     
    All content that is accessed from the "Description" button is contained within <Chapter>, <Appendix> or <*-Map> elements (except <Procedure-Map>) that possess a "UA-Page-ID" attribute. UA-Page-ID attributes on these elements may only have one value, as it is assumed that any description will only apply to one unique GUI page or object.
     
    <chapter ua-page-id = "401">
     Output processing involves a search of all of the input document instances for all elements except <Procedure-Map> that have a <UA-Page-ID> attribute. All other elements are ignored. Once the element collection has been done, the content of each element is then converted to HTML. The resulting files are what is presented to the user when they select the "Help" button.
     

    Interface Tips and Support components and the "UA-Type" attribute

     attributes 
     
    All content that is accessed from the "Interface Tips" icon or the "Support" button is contained within <Chapter> or <Appendix> elements that possess a "UA-Type" attribute. The value of the UA-Type attribute is allowed to be either "interfacetips" or "support".
     
    <chapter ua-type = "interfacetips">
     Output processing involves a search of all of the input document instances for any element with the <UA-Type> attribute. The first occurrence of an element with a "UA-Type" attribute set to one of the two values above results in that element's content being used. Only one occurrence of each type can be available within the source documents being processed. If multiple occurrences of the same "UA-Type" attribute value are encountered during output processing, the job is stopped and warnings are issued.
     This results in one chapter being allowed to contain content for Interface Tips, and another being allowed to contain Technical Support information.
     

    Output Processing Options

    output
    processing options
    production
     
    In order to create a flexible production system, a number of user-controlled options are available at production time. These options allow users to suppress the creation of certain User Assistance components, if they are making updates to an already-built User Assistance system. It also allows users to adjust certain linking parameters to support non-standard GUIs or unique installation environments. The options that can be selected are:
     
    •  Application-ID and Version-ID - (strings)
       The Application ID and Version ID strings are required prior to production. These strings are used during the output directory construction, and are also written to the "help.js" Javascript file and used by the "token-to-URL" resolution process.
       These values allow multiple versions of User Assistance to be integrated with different versions of a GUI on a single system, and/or allow multiple product GUIs to coexist on a single system without context collisions when invoking their respective User Assistance systems.
    •  Localized Path Name - (path name)
       This is the path that connects between the GUI invoking the User Assistance system, and the "help.js" file that controls the User Assistance system. Depending on implementation schemes, the User Assistance files may be coresident with the GUI in the same root directory, or may be installed under a different webserver. Because of these options, this value may be a relative path, an absolute path, or absolute using "http://...".
    •  Create Task Selection (Help) files? (yes/no)
       This is a simple boolean switch that allows the suppression of the task-based User Assistance component files that lie underneath the "Help" button.
    •  Create Conceptual (Description) files? (yes/no)
       This is a simple boolean switch that allows the suppression of the concept-based User Assistance component files that lie underneath the "Description" button.
    •  Create Technical Support files? (yes/no)
       This is a simple boolean switch that allows the suppression of the technical support User Assistance component files that lie underneath the "Support" button.
    •  Create Interface Tips files? (yes/no)
       This is a simple boolean switch that allows the suppression of the interface tips User Assistsnace files that lie underneath the "Interface Tips" icon in the toolbar.
    •  Create/Update Help.js Javascript file? (yes/no)
       This is a simple boolean switch that allows the suppression of the User Assistance javascript file. Once created, the file does not need to be created again.
    •  Create Glossary? (yes/no)
       This is a simple boolean switch that allows the suppression of the file that lies underneath the "Glossary" icon in the help toolbar.
    •  Create Master Index? (yes/no)
       This is a simple boolean switch that allows the suppression of the file that lies underneath the "Find A Topic" icon in the help toolbar.
    •  FTP Help files to new destination when finished? (yes/no)
       This is a switch that allows files to be transferred to another machine upon completion of job processing. If selected, a machine name and an incoming directory for the files to be transferred to is then provided by the user. This function, combined with scheduled-executution scripting, allows nightly builds of User Assistance to be created and subsequently delivered to the product team's GUI development machine or integration testing environment automatically.
     

    Output Processing System

     design 
    processing system
     
    A number of design decisions were implemented in the HTML User Assistance output processing system in order to make the overall components easy to maintain. Such modularity allowed more flexible invocation of each module based on the production parameters previously described, and also resulted in reusable code that could be applied to other types of outputs.
     
     HTML User Assistance Processing Flowchart
     The most important case of reuse in this system involved the core SGML to HTML element mappings. These mappings were handled in a single OmniMark® routine that is reused in its entirety within the HTML documentation conversion programs. This allowed a single set of Cascading Style Sheet class names and definitions to be applied within the HTML User Assistance and HTML Documentation outputs, and prevented the OmniMark routine from being duplicated.
     

    Graphics Handling

     PNG 
    TIF
    formats
     graphics 
     
    Because of the wide variety of output media and file formats that can be produced by Lucent's SGML publishing platform, a number of toolsets are employed to perform output production. Because graphic format limitations exist in nearly every toolset, a relatively small number of common graphic formats are supported by each tool. These facts limited the number of supported graphic formats to the two listed below:
     
    •  TIFF
    •  EPS
     Because the User Assistance files are HTML in nature, and displayed using a browser, all source graphics require conversion to a "browser-compatible" format during the User Assistance production process.
     In addition, a unique thumbnailing mechanism was established for graphics that were larger than a predetermined threshold, in order to prevent illustrations from severely overrunning the limited boundaries of the sized User Assistance window.
     

    Standard inline presentation of graphics

     The source graphics are converted while they are still part of the overall SGML source document instance as part of a "preprocess" routine. During this conversion, a utility is executed that reads the dimensions of each graphic from within the graphic iteself, and those values are written as "Rendered-Height" and "Rendered-Width" attributes of the <Graphic> element in the source instance that references the illustration.
     When the User Assistance conversions occur, all <Graphic> elements are queried to determine their heights and widths. If both dimensions of the graphic are smaller than a predetermined threshold (currently 400 pixels), the illustration is placed inline in the appropriate HTML output file with "Height" and "Width" attribute values of the <IMG> element in the HTML file set to the same "Rendered-Height" and "Rendered-Width" attribute values that were present within the source file.
     

    Large thumbnail presentation of graphics

    graphic dimensions
    height
    width
     
    If either of the "Rendered-Height" or "Rendered-Width" dimensions are larger than the threshold, the illustration is still included inline, but a number of processing functions are invoked so that the inline illustration is a scaled-down version whose largest dimension is that of the threshold value, which is currently 400 pixels. This scaled version is called a "large thumbnail" because it is hyperlinked to invoke a larger version of the graphic. The additional processing to do this involves the following:
     
    •  The HTML conversion tool sets the largest dimension of the illustration (height or width) to the value of the threshold, and calculates the smaller dimension so that the resulting image maintains the original aspect ratio. These new values are written as "Height" and "Width" attributes of the <IMG> element, and results in the "large thumbnail" which displays nicely within the borders of the default User Assistance window.
    •  A stand-alone HTML file is created that contains the Caption of the illustration, as well as the illustration itself with its "Height" and "Width" values taken directly from the source instance. This allows the illustration to be displayed in its original size in an independent file so that users can view details as needed.
    •  The "large thumbnail" image in the original HTML User Assistance file is contained within an HREF action to the new "Illustration" file. This allows users to select the thumbnail as a hyperlink in order to view a larger copy of the illustration, if necessary. As can be seen in the associated figures, the "thumbnail" is of a limited resolution, but there is enough detail for a user to recognize the type of illustration underneath it.
     
     Example of "large thumbnail within HTML User Assistance system
     
     Expanded version of the illustration
     
     

    Cross-Reference and Link Handling

     Link  
    Xref
    cross-reference
     hyperlink 
     hypertext 
     
    Cross-references and links are vital elements in determining the relevant information from a source document to output during HTML User Assistance production. The Lucent DTD allows two types of cross reference elements: the standard <Xref> element, as well as a <Link> element.
     

    Xref element authoring and processing rules

     A very strict set of processing rules regarding cross-references with the <Xref> element have been established within the Lucent publishing system. Cross-references are only allowed to target the top of specific hierarchical container elements, and certain lower-level structures, such as <step> elements inside of <procedure-map>. All cross-references result in automatic return of strings that are contained within the target, in order to establish context for the <Xref>. In the simplest case, a cross-reference to a chapter, illustrated in the code listing below, will autoreturn the title of the chapter:
     
    <chapter id="123"><title>Title of Chapter 123 </title></chapter>
    .
    .
    .
    <para>For further info, see <xref linkend="123">.</para>
    
    Results in:
    
     
    For further info, see Title of Chapter 123.
     Valid target elements for cross-referencing using <Xref> include:
     
    •  Chapter/Appendix (contains Title)
    •  Section (contains Title)
    •  All Map elements (contains Title)
    •  All Block/Subblock elements (contains Label)
    •  Figures/Tables (contains Caption)
    •  Steps/Stages (contains autonumbering sequences)
     attributes 
     
    As stated earlier, all cross-references from a container that is identified with either a "UA-Page-ID" or "UA-Type" attribute will be followed, and the contents of the target container will be processed for inclusion in the User Assistance system. The two files will be connected with a hyperlink, in which the autoreturn string is used as the hyperlink text string in the referencing file.
     Since the level of file granularity in the HTML User Assistance system is established at the Map level, if a cross-reference exists to a Block, Subblock, or lower-level object within a map that is not already tagged with a "UA-Page-ID" or "UA-Type" attribute, the entire map that contains the object which is the target of the cross-reference will be output to HTML, and the hyperlink will be targeted to an anchor placed at that low-level object.
     This treatment is done to prevent individual HTML files from being created which contain a small amount of information, such as an individual step, or a single paragraph, for example).
     

    Link authoring and processing rules

     In order to support the more flexible cross-reference presentation options that on-line media offers, an alternative to using <Xref> exists. An author may choose to use the <Link> element to create cross-references. In this case, the author is allowed to enter the text that they wish to use as the hypertext link string, and also allows authors to create hyperlinks to outside documents by referring to them by URL.
     

    Output Directory Structure and File Naming Conventions

    directory names
    directory structure
    file names
     
    The HTML files that are created during the processing run are output to a very specific directory structure. This structure allows the HTML User Assistance files to be easily combined with an HTML Documentation set, and subsequently integrated with a GUI. The directory structure is as follows:
     
     User Assistance directory structure
     

    Future System Enhancements

    enhancements
     
    As with any complex system, enhancements and extensions are always planned. The list of items that are currently being developed to make the User Assistance system more functional are listed below:
     

    Production system enhancements

     Adobe Frame+SGML 
     Arbortext Adept editor 
     
    Additional features are planned to be added to allow the production system to be even more flexible for other types of GUI integrations. These features include:
     
    •  Full internationalization support to allow translated, or non-english source documents to be converted to HTML UA and display icons and tooltips in the correct language.
    •  Conversion processes to obtain Microsoft® HTMLHelp deliveries by postprocessing the context-sensitive components of the User Assistance system.
     

    Authoring system enhancements

     Custom development to Arbortext and Frame+SGML authoring systems is planned to allow users to more easily manipulate the "UA-Page-ID" values across document instances. These improvements are needed because the attribute value is a single NMTOKEN that contains several values that are only recognized by their space delimiters. Additonal functionality includes:
     
    •  The ability to change or delete all occurences of a single UA-Page-ID value across the entire document instance.
    •  A mechanism to filter the editorial display to only include the content that would be included in an HTML UA output by virtue of UA-Page-ID/UA-Type attributes, and Xref/Link connections.
    •  The ability to obtain a "structure-view" like list of elements that support UA-* attributes. This interface would also allow the application of a specific UA-* attribute value to several elements in one operation.

    Overview of XML Family of Standards   Table of contents   Indexes   TMS' History in Web Syndication