ALUReTM
XML Specification (axml)
W3C Note 24 Jan 2000
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
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.
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.
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.
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.
The file extension suffixes of ALURe transcripts are
".alur" or ".alu". These suffixes are used to recognize whether the file is an ALURe transcript.
MIME (Multipurpose Internet Mail Extensions) Media Type [1]
of ALURe transcripts is "application/x-alure".
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.
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.
(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.
(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.
(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.
(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".
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
<?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>
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.
[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
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)>
-----------------------------------------------------------------------
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