What is the ALUReXML Specification?

Proposal to the W3C

Logging & Reporting of User Assistance Requests

ALURe Partnership Program

How to Become a Partner

Current ALURe Partners

Contact Information

ALUReTM XML Specification (axml)

W3C Note 24 Jan 2000

This Version:

 

Latest Version:

 

Authors

Jeff Booher, eHelp Corporation, jeffb@alurexml.org

Arlyn Asch, eHelp Corporation, arlyna@alurexml.org

Status of this Document

This document is a submission to the World Wide Web Consortium from eHelp Corporation.    

This document is a NOTE made available by the W3C for discussion only.  This indicates no endorsement of its content, nor that W3C has had any editorial control in its preparation, nor that W3C has, is, or will be allocating any resources to the issues addressed by this NOTE.

Abstract

User interaction with complex applications is data that software developers use to construct and refine user interfaces to retain a strong user base.  Traditionally this data is gathered from usability testing and provides feedback to the developers regarding how the user interacts with the application.  When users have difficulty solving specific problems after deployment, however, the most used resource is the application's User Assistance System, which provides no feedback to the application developer.  Problem solving difficulties are communicated back to developers in some form of consumer feedback mechanism. This form of feedback is unfiltered, unreliable and is often narrated by the user and interpreted by the developer off-line, which is an error prone and lengthy process at best.  A method of communicating how users find solutions to specific problems is needed.

ALURe (Aggregation and Logging of User Requests) defines a grammatical standard to satisfy the above requirement.  ALURe can be used by User Assistance Systems to communicate how users arrive, and expect to arrive, at a solution using an application's User Assistance System in real time.   ALURe enabled User Assistance Systems can communicate problem areas in the application, specific problem needs and User Assistance System navigation patterns to developers.  User Assistance Systems can use ALURe transcripts to navigate to the page most commonly identified as containing the empirical solution to a specific problem. 

Contents

ALUReTM XML Specification (axml)

1. Introduction

1.1.  What is ALURe?

1.2.  Why is a standard necessary?

1.3.  How is ALURe implemented?

1.4.  Features

2. Specification

2.1.  File Extension Suffix

2.2.  Media Type

2.3.  XML Declaration

2.4.  Elements

2.4.1.  axml element

2.4.2.  head element

2.4.3.  solution-path element

2.4.4.  resolution element

2.4.5.  date element

2.4.6.  time element

2.4.7.  duration element

2.4.8.  problem-context element

2.4.9.  user-info element

2.4.10.  helpsystem-info element

2.4.11.  path-context element

2.4.12.  feedback element

2.4.13.  problem-id element

2.4.14.  session-id element

2.4.15.  transaction-id element

2.4.16.  referrer element

2.4.17.  page-context element

2.4.18.  application-state element

2.4.19.  user-id element

2.4.20.  email-address element

2.4.21.  client-ip element

2.4.22.  client-info element

2.4.23.  help-id element

2.4.24.  time-stamp element

2.4.25.  context-type element

2.4.26.  context-data element

3. Sample ALURe Transcript

4. Concluding remarks

5. References

6. Appendices

6.1.  DTD

6.2.  Quick Table

1.  Introduction

1.1.     What is ALURe?

User Assistance Systems are typically called upon to help a user solve a particular problem.  Typically users will navigate the User Assistance System and arrive at a solution, look to other resources (such as technical support or on-line support forums), bail and find a more readily available solution (such as another application or Weball site), or give up all together.  Web or Internet based applications, such as e-commerce applications, can incorporate Web based User Assistance Systems to help users negotiate the increasingly difficult and cumbersome user interfaces.  These applications provide the most accessible and ideal model for gathering and reporting User Assistance System usage trends and problem reporting.

ALURe is the grammar that User Assistance Systems use to communicate usage trends and problem reporting to developers.  It is also used to assist on-line User Assistance Systems to adapt to Help topics requested by the user when solving a specific problem.

1.2.     Why is a standard necessary?

When adopted, ALURe will create a powerful data set describing how application users negotiate complex user interfaces and applications.  Adopting a standard will allow developers to focus on interpreting ALURe data and developing applications and alleviates the task of implementing data gathering and reporting technologies into their on-line User Assistance Systems.

1.3.     How is ALURe implemented?

ALURe is the grammar used for describing how a user negotiates an application's on-line User Assistance System and is defined using the XML (Extensible Markup Language) authorized by the W3C (World Wide Web Consortium).

Since ALURe is defined using XML tags, anyone can understand and interpret the data easily.  ALURe is also extensible to describe a user's navigation that is outside the scope of ordinary on-line Help.  It can be expanded to include navigation of on-line discussion forums, transcripts of a real-time chat conversation or Web based mail messages sent to customer support centers, all operating within the context of an application dialog.

1.4.     Features

The ALURe grammar consists of the following features:

·       XML Based

·         Web browsers and Internet-enabled applications can easily transmit ALURe data.

·         Highly Portable - Recognizable, adaptable and understood on most every platform.

·         ALURe data can derive other standards for reporting usage trends by extending the ALURe DTD.

·         ALURe data can be easily interpreted by XML enabled reporting and authoring tools.

·         Time-stamped data gathering

·         All events are time-stamped so that usage trends can be gauged and graphed with respect to time.

·         Secure

·         ALURe data can be communicated over an SSL (Secure Socket Layer) connection.

·         User Assistance Systems do not require special browser settings or violate system policies because the User Assistance Systemimplements the data gathering mechanism.

·         Transparent

·         All ALURe data can be captured within the context of the User Assistance System and accessed remotely without degrading the performance of the User Assistance System or alarming the user.

·         Instant Replay

·         ALURe data can be used to replay a user's navigation so that their actions can be evaluated to help improve User Interfaces and on-line User Assistance Systems.

2.  Specification

2.1.     File Extension Suffix

The file extension suffixes of ALURe transcripts are ".alur" or ".alu".  These suffixes are used to recognize whether the file is an ALURe transcript.

2.2.     Media Type

MIME (Multipurpose Internet Mail Extensions) Media Type [1] of ALURe transcripts is "application/x-alure".

2.3.     XML Declaration

The XML declaration of ALURe data is as follows:

<?xml version="1.0">

<!DOCTYPYE alure SYSTEM "http://alurexml.org/1.0/alure.dtd>

The URL "alurexml.com/1.0" is subject to change.

2.4.     Elements

ALURe is defined by using the XML (Extensible Markup Language) [2].  In this specification, we describe ALURe and assume that the reader has some working knowledge of XML.  For example, the XML tag "xml:lang" is an extremely versatile construct used to internationalize XML data; However, it is not discussed in this specification.

This specification defines the "ALURe XML" language.  The notation "axml" represents the root element of ALURe XML.  Additionally, the data described subject to the ALURe XML specification is called "ALURe data", and the file containing ALURe XML data is called an "ALURe file" or "ALURe transcript". 

The sections that follow describe each element of the language, its outline form, brief examples of how the element is used, the attributes and contents of that element.  Extended Backus-Naur Form is used to describe each element's syntax and form.

2.4.1.   axml element

(1)  Outline

The axml element is the root element of the ALURe XML language and must describe ALURe data.

(2)  Example

<axml version="1.00">

   <head>            . . . </head>

   <solution-path>   . . . </solution-path>

   <resolution>      . . .</resolution>

</axml>

(3)  Attribute

- version

          Specifies: The ALURe version.

          Range: [0-9]"."[0-9][0-9]

          Default: The latest version of the ALURe XML language.

(4)  Content

The axml element has the following child elements:

- head

·         The head element is defined in Section 2.4.2. The head element is not optional and can only be described once.

- solution-path

·         The solution-path element is defined in Section 2.4.3.  The solution-path element is optional or can be described once.

- resolution

·         The resolution element is defined in Section 2.4.4.  The resolution element is optional or can be described once.

2.4.2.   head element

(1)  Outline

The head element is a child element of the axml element and needs to be described once.  The head element describes what problem is being solved.

(2)  Example

<head>

   <date>            12-07-1999  </date>

   <time>            14:27:00    </time>

   <duration>        00:13:00    </context>

   <problem-context> . . .       </problem-context>

   <user-info>       . . .       </user-info>

   <helpsystem-info> . . .       </helpsystem-info>

</head>

(3)  Attribute

The head element has no attribute.

(4)  Content

The head element has the following child elements:

- date

·         The date element is defined in Section 2.4.5.  The date element does not need to be described or can be described once.

- time

·         The time element is defined ins Section 2.4.6.  The time element does not need to be described or can be described once.

- duration

·         The duration element is defined in Section 2.4.7.  The duration element does not need to be described or can be described once.

- problem-context

·         The problem-context element is defined in Section 2.4.8.  The problem-context element must be described once.

- user-info

·         The user-info element is defined in Section 2.4.9.  The user-info element does not need to be described or can be described once.

- helpsystem-info

·         The helpsystem-info element is defined in Section 2.4.10.  The helpsystem-info element must be described once.

2.4.3.   solution-path element

(1)  Outline

The solution-path element is a child element of the axml element and does not need to be described or can be described once.  The solution-path element describes the path a user took to solve the problem identified by the problem-context element.

(2)  Example

<solution-path>

   <path-context> . . . </path-context>

</solution-path>

(3)  Attribute

The solution-path element has no attribute.

(4)  Content

The solution-path element has the following child elements:

- path-context

·         The path-context element is defined in Section 2.4.11.  The path-context element can be described one or more times and must be described once if a solution-path element is described.

2.4.4.   resolution element

(1)  Outline

The resolution element is a child element of the axml element and does not need to be described or can be described once.  The resolution element describes how and if the user resolved the problem.  If the resolution element is not described, it is assumed that a resolution was not made.

(2)  Example

<resolution resolved="Yes" callback="No">

   <feedback>

      This is really confusing, the form says press the

      "start" button but there is only a "begin"

      button.

   </feedback>

</resolution>

(3)  Attribute

- resolved

·         Specifies: The problem's resolution.

·         Range: "Yes", "No", "Bailed", "Closed", "Abandoned", "Indeterminate".

·         Default: "Indeterminate"

- callback

·         Specifies: Whether the user wants to be contacted by a technical support engineer.

·         Range: "Yes", "No"

·         Default: "No"

·         Note: If callback="Yes" the ALURe transcript must include the user's e-mail address.  See Section 2.4.9.

(4)  Content

The resolution element has the following child elements:

- feedback

·         The feedback element is defined in Section 2.4.12.  The feedback element does not need to be described or can be described once.

The default value for the resolution element is "Indeterminate".

2.4.5.  date element

(1)  Outline

The date element is a child element of the head element and does not need to be described or can be described once.

(2)  Example

<date encoding="MM-DD-YYYY"> 12-07-1999 </date>

(3)  Attribute

- encoding

·         Specifies: The encoding method for the date value described in this tag.

·         Range: ("MM"|"DD"|"YYYY")("-"|"/"|".")("MM"|"DD"|"YYYY")("-"|"/"|".")("MM"|"DD"|"YYYY")

·         Default: "MM-DD-YYYY"

(4)  Content

The date element describes the date on which the transaction took place and has the following form:

month-id       := [1-12]

date-offset    := [1-31]

year           := [1999-9999]

date-sep       := [ "-" | "/" | "."  ]

date := ({month-id}{date-sep}{date-offset}{date-sep}{year}|

         {date-offset}{date-sep}{month-id}{date-sep}{year}|

         {year}{date-sep}{month-id}{date-sep}{date-offset})

       

If the date element is not described, it is assumed that the transaction took place the same day the file is transmitted.

2.4.6.  time element

(1)  Outline

The time element is a child element of the head element and  does not need to be described or can be described once.  The time element describes the time of day that the user entered the User Assistance System.

(2)  Example

<time > 14:25:30 </time >

(3)  Attribute

The time element has no attribute.

(4) Content

The time element specifies the time of day that the user entered the User Assistance System.  The time element can take the following form:

[0-23]":"[0-59]":"[0-59]

The default value for the time element  is the time that the ALURe data collection site received the first transaction for the problem-id/user-id/help-id context.

2.4.7.  duration element

(1)  Outline

The duration element is a child element of the head element and does not need to be described or can be described once.

(2)  Example

<duration> 00:12:14 </duration>

(3)  Attribute

The duration element has no attribute.

(4)  Content

The duration element describes the amount of time the user spent deciding if the suggested solution actually solved the problem, didn't solve the problem, or gave up. 

The duration element can take the following values:

   ([0-23]":"[0-59]":"[0-59])

If the duration element is not described, the duration is unknown.  There is no default value.

2.4.8.  problem-context element

(1)  Outline

The problem-context element is a child element of the head element and needs to be described once.

(2)  Example

<problem-context>

   <problem-id> 102322 </problem-id>

   <session-id> 1033 </session-id>

   <transaction-id> 2fee039333 </transaction-id>

   <referrer>

   http://www.ehelp.com/communities/register.html

   </referrer>

   <page-context> 100 </page-context>

   <application-state>

 user=10222&comm=robohelp

   </application-state>

</problem-context>

(3)  Attribute

The problem-context element has no attribute.

(4)  Content

The problem-context element has the following child elements:

- problem-id

·         The problem-id element is defined in Section 2.4.13.  The problem-id element must be described once.

- session-id

·         The session-id element is defined in Section 2.4.14.  The session-id element does not need to be described or may be described once.

- transaction-id

·         The transaction-id element is defined in Section 2.4.15.  The transaction-id element does not need to be described or may be described once.

- referrer

·         The referrer element is defined in Section 2.4.16.  The referrer element does not need to be described or may be described once.

- page-context

·         The page-context element is defined in Section 2.4.17.  The page-context element needs to be described once.

- application-state

·         The application-state element is defined in Section 2.4.18.  The application-state element does not need to be described or may be described once.

2.4.9.   user-info element

(1)  Outline

The user-info element is a child element of the head element.  The user-info element does not need to be described or may be described once.

(2)  Example

<user-info>

   <user-id> 10233 </user-id>

   <email-address>

      johndoe@ehelp.com

   </email-address>

   <client-ip>

      206.19.76.44

   </client-ip>

   <client-info>

      Netscape 4.06

   </client-info>

</user-info>

(3)  Attribute

The user-info element has no attribute.

(4)  Content

The user-info element has the following child elements:

- user-id

·         The user-id element is defined in Section 2.4.19.  The user-id element does not need to be described or can be described once.

- email-address

·         The email-address element is defined in Section 2.4.20.  The email-address element does not need to be described or can be described once.

- client-ip

·         The client-ip element is defined in Section 2.4.21.  The client-ip element does not need to be described or can be described once.

- client-info

·         The client-info element is defined in Section 2.4.22.  The client-info element does not need to be described or can be described once.

2.4.10.           helpsystem-info element

(1)  Outline

The helpsystem-info element is a child element of the head element.  One helpsystem-info element must be described in one axml element.  The helpsystem-info element specifies the User Assistance System employed by the application.

(2)  Example

<helpsystem-info>

   <help-id> 10223 </help-id>

</helpsystem-info>

(3)  Attribute

The helpsystem-info element has no attribute.

(4)  Content

The helpsystem-info element has the following child elements:

- help-id

·         The help-id element is defined in Section 2.4.23.  One help-id element must be described in one helpsystem-info element.

2.4.11.           path-context element

(1)  Outline

The path-context element is a child element of the solution-path element.  At least one path-context element must be described when a solution-path element is described but many may be described in one ALURe transcript.

(2)  Example

<path-context>

   <time-stamp> 14:05:00 </time-stamp>

   <context-type> URL </context-type>

   <context-data>

   http://www.ehelp-help.com/topic429.htm

   </context-data>

</path-context>

(3)  Attribute

The path-context element has no attribute.

(4)  Content

The path-context element has the following child elements:

- time-stamp

·         The time-stamp element is defined in Section 2.4.24.  The time-stamp element does not need to be described or can be described once.

- context-type

·         The context-type element is defined in Section 2.4.25.  One context-type element must be described for each path-context element described.

- context-data

·         The context-data element is defined in Section 2.4.26.  One context-data element must be described for each path-context element described.

2.4.12.           feedback element

(1)   Outline

The feedback element is a child element of the resolution element.  The feedback element does not need to be described or can be described once.  The feedback element specifies free-form message text given by a user.

(2)  Example

<feedback>

I am trying to create an excel macro to amortize a 30

year mortgage and am having trouble with the sum() function.  It would be nice if the help for this function included some examples.

</feedback>

(3)  Attribute

The feedback element has no attribute.

(4)  Content

The feedback element describes the comments entered by a user.  The feedback element can take any text character sequence.  Only those characters permitted to be used in the XML specification are allowed.  There is no default value.

2.4.13.           problem-id element

(1)  Outline

The problem-id element is a child element of the problem-context element and must be described once for each problem-context element described.  The problem-id element describes the problem being solved with the solution-path element.

(2)  Example

<problem-id> 10223 </problem-id>

(3)  Attribute

The problem-id has no attribute.

(4)  Content

The problem-id element specifies a unique number for solving a specific problem.  User Assistance Systems maintain a unique number for solving each problem when a user arrives at the User Assistance System within the context of an application.  User Assistance Systems can transmit ALURe data to an ALURe data collection site in real time in the form of transactions (containing only the problem-context and a solution-path or resolution) or as an ALURe transcript (containing the problem-context, solution-path and resolution elements).  When data is collected with transactions, each solution-path is appended to the problem-context until a resolution is considered.  When a resolution is considered the problem-context is closed. ALURe collection sites may reject transactions for a problem-context after it has been closed.

The problem-id element can take the following values:

([0-9])*

 

There is no default value.

2.4.14.           session-id element

(1)  Outline

The session-id element is a child element of the problem-context element.  The session-id element does not need to be described or may be described once.  The session-id element describes an application-specific user login instance.

(2)  Example

<session-id>

       40645

</session-id>

(3)  Attribute

The session-id element has no attribute.

(4)  Content

The session-id element identifies a user's unique login instance.  The session-id element can take the following values:

([0-9]|[a-z]|[A-Z])*

The session-id element has no default value.

2.4.15.           transaction-id element

(1)  Outline

The transaction-id element is a child element of the problem-context element.  The transaction-id element does not need to be described or may be described once.  The transaction-id element describes an incomplete or open e-commerce transaction.

(2)  Example

<transaction-id>

       40645

</transaction-id>

(3)  Attribute

The transaction-id element has no attribute.

(4)  Content

The transaction-id element identifies an incomplete or open e-commerce transaction.  The transaction-id element can take the following values:

([0-9]|[a-z]|[A-Z])*

The transaction-id element has no default value.

2.4.16.           referrer element

(1)  Outline

The referrer element is a child element of the problem-context element.  The referrer element does not need to be described or may be described once.  The referrer element describes how the user arrived at the User Assistance System.

(2)          Example

<referrer>

http://www.ehelp.com/communities/register.html

</referrer>

(3)          Attribute

The referrer element has no attribute.

(4)          Content

The referrer element identifies a URL (Uniform Resource Locator) identifying the referring object.  The referrer element can take the following values:

([0-9]|[a-z]|[A-Z]|":"|"/"|"."|"?"|"&"|","|"%"|"!";"|"\")*

The referrer element must conform to Internet document RFC 1738.  There is no default value.

2.4.17.           page-context element

(1)  Outline

The page-context element is a child element of the problem-context element and needs to be described once.  The page-context element describes the Help Context ID that maps to the help topic to display.

(2)  Example

   <page-context> 100 </page-context>

(3)  Attribute

The page-context element has no attribute.

(4)  Content

The page-context element identifies the Web page where the user requested help.  The page-context element can take the following values:

([0-9][a-z][A-Z])*

There is no default value.

2.4.18.           application-state element

(1)  Outline

The application-state is a child element of the problem-context element does not need to be described or may be described once.  The application-state element describes any application-specific state information that needs to be conveyed to the ALURe collection site for logging with usage data.

(2)   Example

<application-state>

 user=10222&comm=robohelp

</application-state>

(3)   Attribute

The application-state element has no attribute.

(4)   Content

The contents of the application-state are application defined and may contain those characters permitted to be used in the XML specification [2].  There is no default value.

2.4.19.           user-id element

(1)  Outline

The user-id element is a child element of the user-info element.  The user-id element does not need to be described or may be described once for one user-info element described.  The user-id element describes a unique user navigating a solution-path.

(2)  Example

<user-id> 10233 </user-id>

(3)  Attribute

The user-id element has no attribute.

(4)  Content

The user-id element identifies a unique user to the User Assistance System. User Assistance Systems are responsible for identifying users when they enter the User Assistance System to solve a problem.  User Assistance Systems can transmit the user-id to the ALURe data collection site so that usage trends by user can be identified.

The user-id element can take the following values:

([0-9][a-z][A-Z])*

 

There is no default value.

2.4.20.           email-address element

(1)  Outline

The email-address is a child element of the user-info element.  The email-address does not need to be described or may be described once.  The email-address element describes the user's e-mail address.

(2)  Example

<email-address> johndoe@ehelp.com; </email-address>

(3)  Attribute

The email-address element has no attribute.

(4)  Content

The email-address element specifies the e-mail address of the user looking for a solution in the User Assistance System.  The email-address element can take the following values:

([0-9]|[a-z]|[A-Z]|"@"|".")*

The email-address element must conform to Internet document RFC 822.  There is no default value.

2.4.21.           client-ip element

(1)  Outline

The client-ip element is a child element of the user-info element.  The client-ip element does not need to be described or may be described once.  The client-ip element describes the user's IP address.

(2)  Example

<client-ip>

206.19.76.120

</client-ip>

(3)  Attribute

The client-ip element has no attribute.

(4)  Content

The contents of the client-ip element is the IP address of the machine that initiated the Help session and must conform to Internet document RFC 1519.  There is no default value.

2.4.22.           client-info element

(1)  Outline

The client-info element is a child element of the user-info element.  The client-info element does not need to be described or may be described once.  The client-info element describes the user's browser and version.

(2)  Example

<client-info>

Internet Explorer 4.0 Version 4.72.3612.1713;SP2;3283;128-bit

</client-info>

(3)  Attribute

The client-info element has no attribute.

(4)  Content

The contents of the client-info element are application defined and may contain those characters permitted to be used in the XML specification [2].  There is no default value.

2.4.23.           help-id element

(1)  Outline

The help-id element is a child element of the helpsystem-info element.  One help-id element must be described for one helpsystem-info element described.  The help-id element describes the User Assistance System and must be unique to the ALURe data collection site.  If the User Assistance System hasn't registered with a collection site, the site may rejects all transactions for that system.

(2)  Example

<help-id> 10299 </help-id>

(3) Attribute

The help-id element has no attribute.

(4) Content

The help-id element specifies a unique User Assistance System to the ALURe.  User Assistance Systems register their identity with ALURe data collection site and use that identity when communicating transactions.

The help-id element can take the following values:

([0-9])*

 

There is no default value.

2.4.24.             time-stamp element

(1)  Outline

The time-stamp element is a child element of the path-context element.  A time-stamp element does not need to be described but no more than one time-stamp element can be described for each path-context element described.  The time-stamp element describes the time of day that the path-context was traversed.

(2)  Example

<time-stamp> 14:05:00 </time-stamp>

(3)  Attribute

The time-stamp element has no attribute.

(4) Content

The time-stamp element specifies the time of day that the path-context was traversed.  The time-stamp element can take the following form:

[0-23]":"[0-59]":"[0-59]

The default value for the time-stamp element is the time that the ALURe data collection site received the transaction.

2.4.25.           context-type element

(1)  Outline

The context-type element is a child element of the path-context element.  One context-type element needs to be described for each path-context element described.  The context-type element describes the type of resource navigated to in the path-context.

(2)  Examples

<context-type> URL </context-type>

<context-type> SEARCH </context-type>

<context-type> POST </context-type>

(3)  Attribute

The context-type element has no attribute.

(4)  Content

Although the context-type is free-form in nature (it can contain any text value to describe an event that occurred in the User Assistance System), there are some predefined values that are reserved and understood by all ALURe components:

"URL" - The user navigated to a named resource.

The context-type describes the format and content found in the context-data element and can be any text character sequence.  Only those characters permitted to be used in the XML specification [2] are allowed.  There is no default value.

2.4.26.           context-data element

(1)  Outline

The context-data element is a child element of the path-context element.  One context-data element needs to be described for each path-context element described. The context-data element describes the where the user went or what the user did to resolve the problem.

(2) Example

<context-data>

http://www.ehelp-help.com/topic429.htm

</context-data>

(3) Attribute

The context-data element has no attribute.

(4) Content

The context-data describes the format and content found in the context-data element and can be any text character sequence.  Only those characters permitted to be used in the XML specification [2] are allowed.  There is no default value.

3.  Sample ALURe Transcript

<?xml version="1.0">

<!DOCTYPYE alur SYSTEM "http://alurexml.com/1.0/alure.dtd>

<axml version="1.00">

   <head>

      <date>

         12-07-1999

      </date>

      <duration>

         00:13:00

      </context>

      <problem-context>

         <problem-id> 102322 </problem-id>

         <referrer>

            http://www.ehelp.com/communities/register.html

         </referrer>

      </problem-context>

      <helpsystem-info>

         <help-id>729</help-id>

      </helpsystem-info>

   </head>

   <solution-path>

      <path-context>

         <context-type>URL</context-type>

         <context-data>

            http://www.ehelp-help.com/topic429.htm

         </context-data>

      </path-context>

         <context-type>URL</context-type>

         <context-data>

            http://www.ehelp-help.com/topic422.htm

         </context-data>

      <path-context>

      </path-context>

      <path-context>

         <context-type>URL</context-type>

         <context-data>

            http://www.ehelp-help.com/topic429.htm

         </context-data>

      </path-context>

      <path-context>

         <context-type>URL</context-type>

         <context-data>

            http://www.ehelp-help.com/topic419.htm

         </context-data>

      </path-context>

   </solution-path>

   <resolution resolved="Yes">

   </resolution>

</axml>

4.  Concluding remarks

The ALURe XML (AXML) is a markup language for logging user requests from User Assistance Systems such as on-line Help systems, technical support chat rooms, and other interactive troubleshooting devices.  This specification is not limited to User Assistance Systems, however.  Implementations of AXML could be used to provide user interface designers with valuable feedback about how users interact with any kind of system.

5.  References

[1] N. Borenstein and N. Freed, "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies," RFC (Request for Comments): 1521, Sep. 1993. ftp://ftp.isi.edu/in-notes/rfc1521.txt

[2] "Extensible Markup Language (XML) 1.0," World Wide Web Consortium (W3C) Recommendation, REC-xml-19980210, Feb. 2, 1998. http://www.w3.org/TR/1998/REC-xml-19980202

6.  Appendices

6.1.     DTD

The XML Document Type Definition (DTD) of the ALURe XML Language is shown below:

<!-- alure.dtd -->

<!-- Document Type Definition (DTD) of ALURe (DRAFT) -->

<!-- January 13, 2000 -->

<!ELEMENT   axml              (head, solution-path?, resolution?)>

   <!ATTLIST   axml     version  CDATA#IMPLIED>

<!ELEMENT      head           (date?, time?, duration?,

                                 problem-context,     user-info?,

                                 helpsystem-info)>

<!ELEMENT      solution-path (path-context*)>

<!ELEMENT      resolution     (feedback?)>

   <!ATTLIST      resolution  resolved    CDATA       #REQUIRED

                              callback    CDATA       #IMPLIED>

<!ELEMENT   date     (#PCDATA)>

   <!ATTLIST   date  encoding    CDATA    #IMPLIED>

<!ELEMENT   problem-context   (problem-id, referrer?, page-

                                 context?, application-state?)>

<!ELEMENT   user-info         (user-id?, email-address?,

                                 client-ip?, client-info?)>

<!ELEMENT   helpsystem-info   (help-id)>

<!ELEMENT   path-context      (time-stamp?, context-type, context-data)>

<!ELEMENT   time              (#PCDATA)>

<!ELEMENT   duration          (#PCDATA)>

<!ELEMENT   problem-id        (#PCDATA)>

<!ELEMENT   referrer          (#PCDATA)>

<!ELEMENT   page-context      (#PCDATA)>

<!ELEMENT   application-state (#PCDATA)>

<!ELEMENT   user-id           (#PCDATA)>

<!ELEMENT   email-address     (#PCDATA)>

<!ELEMENT   client-ip         (#PCDATA)>

<!ELEMENT   client-info       (#PCDATA)>

<!ELEMENT   help-id           (#PCDATA)>

<!ELEMENT   time-stamp        (#PCDATA)>

<!ELEMENT   context-type      (#PCDATA)>

<!ELEMENT   context-data      (#PCDATA)>

<!ELEMENT   feedback          (#PCDATA)>

6.2.     Quick Table

-----------------------------------------------------------------------

Element           Attribute            Times    Example

                                       (#1)

-----------------------------------------------------------------------

axml

|                 version              0/1      "1.00"

+-head                                 1        -

| +-date                               0/1      "11-24-1999"

| |               encoding             0/1      "MM-DD-YYYY"

| +-time                               0/1      "14:30:27"

| +-duration                           0/1      "00:13:00"

| +-problem-context                    1        -

| | +-problem-id                       1        102223

| | +-referrer                         0/1      http://www.ehelp.com

| | +-page-context                     0/1      101

| | +-application-state                0/1      comm=robohelp

| +-user-info                          0/1      -

| | +-user-id                          0/1      10233

| | +-email-address                    0/1      johndoe@ehelp.com

| | +-client-ip                        0/1      206.19.76.1

| | +-client-info                      0/1      Netscape 4.06

| +-helpsystem-info                    1        -

|   +-help-id                          1        10223

+-solution-path                        0/1      -

| +-path-context                       0-       -

| | +-time-stamp                       0/1      14:05:00

| | +-context-type                     1        URL

| | +-context-data                     1        http://help.com/topic429.htm

+-resolution                           0/1      -

  |               resolved             0/1      "Yes"

  |                                             "No"

  |                                             "Bailed"

  |                                             "Closed"

  |                                             "Abandoned"

  |                                             "Indeterminate"

  |               callback             0/1      "Yes"

  |                                             "No"

  +-feedback                           0/1      "This is a great System"

----------------------------------------------------------------------------

#1    0-    Occurs 0 or more times

      0/1   Occurs 0 or 1 times

      1     Occurs Once