This document is also available in these non-normative formats: XML.
Copyright © 2003 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
This document specifies usage scenarios for full-text queries as part of XML Query [XQuery] and XPath [XPath].
This is a public W3C Working Draft for review by W3C Members and other interested parties. This section describes the status of this document at the time of its publication. It is a draft document and may be updated, replaced, or made obsolete by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress." A list of current public W3C technical reports can be found at http://www.w3.org/TR/.
The Full-Text Use Cases have been defined jointly by the XML Query Working Group and the XSL Working Group (both parts of the XML Activity) .
The Full-Text Use Cases are published in conjunction with the XQuery and XPath Full-Text Requirements.
This is the first version of this document.
This document is a work in progress. It contains many open issues, and should not be considered to be fully stable. Vendors who wish to create preview implementations based on this document do so at their own risk. While this document reflects the general consensus of the working groups, there are still controversial areas that may be subject to change.
Public comments on this document and its open issues are welcome. Comments should be sent to the W3C XPath/XQuery mailing list, public-qt-comments@w3.org (archived at http://lists.w3.org/Archives/Public/public-qt-comments/).
Patent disclosures relevant to this specification may be found on the XML Query Working Group's patent disclosure page at http://www.w3.org/2002/08/xmlquery-IPR-statements and on the XSL Working Group's patent disclosure page at http://www.w3.org/Style/XSL/Disclosures.
A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR/.
1 Full-Text Use Cases: Preliminaries
1.1 Proper Display of This Unicode Document
1.2 Introduction
1.3 Explanation of Query Statements
1.4 Schema for Sample Data
1.5 Sample Data
2 Use Case "WORD": Word and Phrase Queries
2.1 Description
2.2 Queries and Results
2.2.1 Q1 Single Word Query
2.2.2 Q2 Single Phrase Query
2.2.3 Q3 Single Phrase Query on Long Text Excerpt
2.2.4 Q4 Single Phrase Query on Chinese Characters
3 Use Case "ELEMENT": Queries on XML Elements and Attributes
3.1 Description
3.2 Queries and Results
3.2.1 Q1 Query on Element
3.2.2 Q2 Query on Multiple Operands in Same Instance of an Element
3.2.3 Q3 Query on Multiple Operands in Any Instance of an Element
3.2.4 Q4 Query on Multiple Operands in Every Instance of an Element
3.2.5 Q5 Query on Element Returning Different Elements
3.2.6 Q6 Query on Multiple Elements
3.2.7 Q7 Query Across Element Boundaries
3.2.8 Q8 Query on Element and Its Descendants
3.2.9 Q9 Query on Attribute
3.2.10 Q10 Query on Element and Attribute
4 Use Case "STOP-WORD": Queries Ignoring and Overriding Stop Words
4.1 Description
4.2 Queries and Results
4.2.1 Q1 Query on Word Ignoring Single Stop Word
4.2.2 Q2 Query on Phrase Ignoring Single Stop Word
4.2.3 Q3 Query on Phrase Overriding Single Stop Word
4.2.4 Q4 Query on Phrase Ignoring Multiple Stop Words
4.2.5 Q5 Query on Phrase Overriding Multiple Stop Words
5 Use Case "CHARACTER-MANIPULATION": Queries Manipulating Normalized Characters and Tokenized Words, Spaces, and Punctuation
5.1 Description
5.2 Queries and Results
5.2.1 Q1 Query Returning Characters with Diacritics Only
5.2.2 Q2 Query Returning Characters with and without Diacritics
5.2.3 Q3 Query Returning Upper Case Characters Only
5.2.4 Q4 Query Returning Upper Case and Lower Case Characters
5.2.5 Q5 Query Returning Word with Special Character
5.2.6 Q6 Query Returning Word with Special Character or Phrase with Space
6 Use Case "WILDCARD": Character Wildcard (Prefix, Infix, Suffix) and Word Wildcard Queries
6.1 Description
6.2 Queries and Results
6.2.1 Q1 Single Prefix Character Wildcard Query
6.2.2 Q2 Single Suffix Character Wildcard Query
6.2.3 Q3 Single Infix Character Wildcard Query
6.2.4 Q4 0 or More Prefix Character Wildcard Query
6.2.5 Q5 0 or More Suffix Character Wildcard Query
6.2.6 Q6 0 or More Suffix Character Wildcard Query on a Part of a Word
6.2.7 Q7 0 or More Infix Character Wildcard Query
6.2.8 Q8 Specified Range Suffix Characters Wildcard Query
6.2.9 Q9 Word Wildcard Query
6.2.10 Q10 Specified Range Word Wildcard Query
7 Use Case "STEMMING": Word Stemming Queries
7.1 Description
7.2 Queries and Results
7.2.1 Q1 Single Word Stemming Query
7.2.2 Q2 Multiple Word Stemming Query
8 Use Case "THESAURUS": Queries Which Use Thesauri, Dictionaries, and Taxonomies
8.1 Description
8.2 Queries and Results
8.2.1 Q1 Query on Synonyms Identified by a Thesaurus
8.2.2 Q2 Query on Narrower Terms Identified by a Thesaurus
8.2.3 Q3 Query on Broader Terms Identified by a Thesaurus
8.2.4 Q4 Query on Word Which Sounds Like Other Words
8.2.5 Q5 Query on Word Spelled Similarly to Other Words
8.2.6 Q6 Query on Subordinate Terms Identified by a Taxonomy
9 Use Case "BOOLEAN": Or, And, and Not Queries
9.1 Description
9.2 Queries and Results
9.2.1 Q1 Or Query
9.2.2 Q2 Or Query on More than Two Words
9.2.3 Q3 Or Query on Phrases
9.2.4 Q4 And Query
9.2.5 Q5 And Query on More than Two Words
9.2.6 Q6 And Query on Phrases
9.2.7 Q7 Unary Not Query
9.2.8 Q8 And Not Query
9.2.9 Q9 And Not Query Where Second Operand is a Subset of the First Operand
9.2.10 Q10 Mild Not Query Where Second Operand is a Subset of the First Operand
10 Use Case "DISTANCE": Queries on Distance Relationships Including Proximity, Window, Sentence, and Paragraph Queries
10.1 Description
10.2 Queries and Results
10.2.1 Q1 Unordered Proximity Query
10.2.2 Q2 Ordered Proximity Query
10.2.3 Q3 Unordered Window Query
10.2.4 Q4 Ordered Window Query
10.2.5 Q5 Unordered Within a Sentence Query
10.2.6 Q6 Ordered Within a Sentence Query
10.2.7 Q7 Unordered Within a Paragraph Query
10.2.8 Q8 Ordered Within a Paragraph Query
11 Use Case "ADVANCED-WORD": Advanced Word and Phrase Queries
11.1 Description
11.2 Queries and Results
11.2.1 Q1 Ordered Word Query
11.2.2 Q2 AtLeast Query
11.2.3 Q3 Starts-With Query
11.2.4 Q4 Exact Phrase Only Query
12 Use Case "SCORE": Queries Unique to Score
12.1 Description
12.2 Queries and Results
12.2.1 Q1 Multiple Word Query
12.2.2 Q2 Multiple Phrase Query
12.2.3 Q3 Query Which Returns Scores
12.2.4 Q4 Query Returning Results with Top Scores
12.2.5 Q5 Query Which Filters on Scores
12.2.6 Q6 Query Which Returns All Documents Ordered
13 Use Case "STRUCTURE": Queries using XPath Axes
13.1 Description
13.2 Queries and Results
13.2.1 Q1 Query on Element and Its Children
13.2.2 Q2 Query on Element Returning Its First Two Children
13.2.3 Q3 Query on Element and Its Descendants
13.2.4 Q4 Query on Element and Its Parent
13.2.5 Q5 Query on Element and Its Ancestors
13.2.6 Q6 Query on Element and Its Right Siblings
13.2.7 Q7 Query on Element and Its Siblings
13.2.8 Q8 Query on Same Element in Different Sub-Trees
13.2.9 Q9 Query on Different Elements in Different Sub-Trees
13.2.10 Q10 Conditional Query on Different Elements in Different Sub-Trees
13.2.11 Q11 Query on Element and Its Descendants, Returning Ancestors and Descendants
14 Use Case "IGNORE": Queries Ignoring Tags and Content
14.1 Description
14.2 Queries and Results
14.2.1 Q1 Query Ignoring Tags within a Word
14.2.2 Q2 Query Ignoring Tags within Multiple Words
14.2.3 Q3 Phrase Query Ignoring All Tags of Descendant Elements
14.2.4 Q4 Phrase Query Ignoring Explicit List of Tags of Descendant Elements
14.2.5 Q5 Phrase Query Ignoring All Tags and Content of Descendant Elements
14.2.6 Q6 Phrase Query Ignoring Explicit List of Tags and Content of Descendant Elements
14.2.7 Q7 Phrase Query Ignoring Tags and Content of Descendant Elements Identified by a Full-Text Query
14.2.8 Q8 Phrase Query Ignoring Tags and Content of Descendant Elements Identified by an XPath Query
14.2.9 Q9 Proximity Query Ignoring All Tags of Descendant Elements
14.2.10 Q10 Proximity Query Ignoring All Tags and Content of Descendant Elements
15 Use Case "COMPOSABILITY": Queries Illustrating Composability of Full-Text with Other XQuery Functionality
15.1 Description
15.2 Queries and Results
15.2.1 Q1 Query Combining Full-Text with Creation of New Elements
15.2.2 Q2 Query Combining Full-Text with Aggregate on Number of Elements
15.2.3 Q3 Query Combining Full-Text with Conditional Return
15.2.4 Q4 Query Combining Full-Text with Functions on Numerics
15.2.5 Q5 Query Combining Full-Text with Query on Character String
15.2.6 Q6 Query Combining Full-Text with Operators on Booleans
15.2.7 Q7 Query Combining Full-Text with Queries on Nodes and Dates
16 Use Case "COMPLEX": Complex Queries
16.1 Description
16.2 Queries and Results
16.2.1 Q1 Query Entered in More than One Language
16.2.2 Q2 Query Combining Proximity, Phrase, and Stemmed Queries within an Instance of an Element
16.2.3 Q3 Nested Proximity Query with Wildcards, Thesaurus Support, and Stemming
16.2.4 Q4 Query Combining Proximity, Boolean, and Stemming Queries which Ignores Tags and Content of a Descendant Element
16.2.5 Q5 Query on Different Elements in Different Sub-Trees with a Conditional Return
16.2.6 Q6 Query Combining Full-Text with Character String, Node, and Date Queries
A Acknowledgements
B References
B.1 References (Primary)
B.2 References (Background)
(1) Use a current operating system and browser.
(2) Set the character encoding in the browser to Unicode or UTF-8. Often this setting is changed from the View menu.
The use cases listed below were created by XML Query and XSL Working Groups, to illustrate important applications of full-text querying within an XML query language. Each use case exercises a specific functionality relevant to full-text querying. A Schema and sample input data are provided. Each use case specifies a set of queries that might be applied to the input data, and the expected results for each query. In a future version, the use cases will be republished with solutions in XQuery and/or XPath.
The document supplements the XML Query Use Cases which can be found in the W3C XML Query Use Cases [XQuery-UseCases]. Use cases for character string querying are included in the XML Query Use Cases, not in this document.
The full-text queries in the following use cases are performed on text which has been tokenized, i.e., broken into a sequence of words, units of punctuation, and spaces. A word is defined as any character, n-gram, or sequence of characters returned by a tokenizer as a basic unit to be queried. Each instance of a word consists of 0 or more consecutive characters. Beyond that words are implementation defined. Note that consecutive words need not be separated by either punctuation or space, and words may overlap. Tokenization enables functions and operators which work with the relative positioning of words (e.g., proximity operators). Tokenization also enables functions and operators which operate on a part or the root of the word (e.g., wildcards, stemming).
A phrase is a sequence of ordered words. A sequence can contain any number of words.
These use cases:
(1) Present some possible functions and features for tokenized text support in XQuery and XPath. None are yet available in XQuery or XPath. Please comment on these use cases and recommend others.
(2) Illustrate simple and complex queries. The more complex queries would normally only be constructed by programmers, librarians, and other expert users, or provided for novice users via saved queries or graphical user interfaces. Each query is intended to illustrate a single functionality, although queries might overlap in their functionalities (e.g., phrases and ordered proximity queries allowing no intervening words). Overlapping and similar functionalities are noted in the comments on query behavior.
(3) Draw from sample data which are almost entirely in English. Use cases in other languages are solicited, especially where they illustrate language-specific implementations of functions and features. Among the most sought after are use cases for queries using prefix and infix wild cards, proximity queries, and operators and queries requiring functionality which may not have Western language equivalents.
(4) Include queries which in most instances can be written with pure Boolean full-text predicates or with scoring (e.g., scoring on the number of occurrences of a word or phrase, scoring on how close words are to one another within a proximity query, scoring on how similar a word is to the one being stemmed) [BYR99] [HTK00]. A few, in Section 12 (SCORE), cannot be written with Boolean full-text predicates. Scoring methodologies will not be defined in this standard. Scoring will be implementation-defined. Results are provided in document order, except those in Section 12 (SCORE). Results could be returned ordered differently, such as by relevance (based on implementation-defined scoring) or explicitly by an element.
(5) Include queries on element content and attribute values.
(6) Include queries which are case-insensitive. When returning a paragraph, the text is returned as it occurs in the data model. This approach was chosen to keep the sample data short and the expected results meaningful. It would have be equally valid to return only the character queried. An variation is found in Section 5 (CHARACTER-MANIPULATION).
(7) Include queries which when they target XML elements are understood, unless otherwise stated, to query text within any text node descendant of the element.
(8) Include queries which return only elements and attributes which meet all the conditions specified in the query. In particular, Boolean queries return results where the Boolean conditions in the query are satisfied, i.e., are used to select what is being returned to users.
Query results may be returned in different ways. From a query for books containing the word "usability", users might be interested in returning, for each book containing the word "usability", its number and its entire content. In another situtation for the same query, users might be interested in returning, for each book containing the word "usability", its number and only the elements and attributes in the content which contain the word "usability". As in this second situation, the queries in these use cases return only elements and attributes which meet all the conditions specified in the query.
The Return clause may also include additional or different elements and attributes if specified, and may construct new elements.
(9) Include queries which provide some of the basic functionality of fuzzy match querying (e.g., wildcards, stemming, dictionary and thesaurus support, proximity).
(10) Provide highlighting of found words and phrases in the expected results of queries as an aid to users. The presence of highlighting says nothing about whether highlighting will be a feature of XQuery or XPath full-text querying.
(11) Display no Solutions in XQuery because no decisions have been taken on syntax. They will be added in a future version.
Examples of full-text querying functionalities for XML query languages can be found in [FGR01], [HTK00], [MJK98], [SCH01] and [TWE00].
To make the output more readable, the output of queries has been formatted using whitespace which may not be returned by a query processor. This whitespace should not be considered normative for the correctness of results.
These use cases represent a snapshot of an ongoing work. Some important operators and features are not yet adequately covered by a use case. The XML Query and XSL Working Groups reserve the right to add, delete or modify individual queries or whole use cases as the work progresses. The presence of a query in this set of use cases does not necessarily indicate that the query will be expressible in XQuery [XQuery] and/or XPath [XPath] to be created by the XML Query and XSL Working Groups.
The queries in these use cases are presented in the following format:
Query number Query title
User statement of query
Statement of functionality illustrated by query
Operands: Parts of words, words, phrases
Functionality: Operators, functions, collations, other functionality
Context: One or more XPath expressions locating the elements and attributes to be queried
Return: One or more XPath expressions which are returned only if they meet all the conditions specified in the query, and additional or different XPath expressions if specified. These may include constructed elements.
Comments: Comments on query behavior in general and against the sample data in particular, plus the rationale for including this query in the use cases.
Version: Each query is marked as "For consideration in v.1" or "For consideration after v.1".
Expected Result:
Results are provided here.
Found words and phrases are highlighted.
Three dots "..." replace elements and content to shorten results.
The example queries in these use cases are based on a collection with the following Schema:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation = "http://www.w3.org/2001/xml.xsd"/> <xs:element name="books"> <xs:annotation> <xs:documentation>A possible XML Schema for Sample Data in XQuery and XPath Full-Text Use Cases</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence maxOccurs="unbounded"> <xs:element name="book"> <xs:complexType> <xs:sequence> <xs:element name="metadata"> <xs:complexType> <xs:complexContent> <xs:extension base="metadataType"/> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="content" type="contentType"/> </xs:sequence> <xs:attribute name="number" type="xs:integer" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="anyXMLTextType" mixed="true"> <xs:annotation> <xs:documentation>free text, contains any well-formed XML</xs:documentation> </xs:annotation> <xs:sequence> <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="metadataType"> <xs:sequence> <xs:element name="title" type="xs:string"> <xs:complexType> <xs:complexContent> <xs:extension base="titlesType"> <xs:attribute name="shortTitle" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="authors" type="authorsType" minOccurs="0"/> <xs:element name="publicationInfo" type="publicationInfoType"/> <xs:element name="price" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:float"> <xs:minInclusive value="0"/> <xs:maxInclusive value="10000"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="subjects" maxOccurs="unbounded"> <xs:complexType> <xs:complexContent> <xs:extension base="subjectsType"> <xs:attribute ref="xml:lang" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="authorsType"> <xs:sequence> <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="subjectsType"> <xs:sequence> <xs:element name="subject" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="publicationInfoType"> <xs:sequence> <xs:element name="place" type="xs:string" minOccurs="0"/> <xs:element name="publisher" type="xs:string" maxOccurs="unbounded"/> <xs:element name="dateIssued" type="xs:string"/> <xs:element name="dateRevised" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="contentType"> <xs:sequence> <xs:element name="introduction" type="introductionType" minOccurs="0"/> <xs:element name="part" maxOccurs="unbounded"> <xs:complexType> <xs:complexContent> <xs:extension base="partType"> <xs:attribute name="number" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="introductionType"> <xs:sequence> <xs:element name="author" type="xs:string" minOccurs="0"/> <xs:element name="p" maxOccurs="unbounded"> <xs:complexType mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="b"/> <xs:element name="emph"/> <xs:element name="i"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="partType"> <xs:sequence> <xs:element name="container" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="type" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="title" type="titleType" minOccurs="0"/> <xs:element name="introduction" type="introductionType" minOccurs="0"/> <xs:element name="chapter" type="chapterType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="component" type="componentType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="chapterType"> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="p" type="anyXMLTextType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="footnoteType" mixed="true"> <xs:sequence> <xs:element name="citation" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="url" type="xs:anyURI" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="componentType"> <xs:sequence> <xs:element name="container" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="type" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="componentTitle"> <xs:complexType mixed="true"> <xs:complexContent mixed="true"> <xs:extension base="componentTitleType"/> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="subComponent" type="subComponentType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="titleType" mixed="true"> <xs:all minOccurs="0"> <xs:element name="date"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="normalize" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:all> </xs:complexType> <xs:complexType name="componentTitleType" mixed="true"> <xs:sequence> <xs:element name="componentDate" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="normalize" type="xs:string" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="subComponentType"> <xs:sequence> <xs:element name="container" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="type" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="componentTitle"> <xs:complexType mixed="true"> <xs:complexContent mixed="true"> <xs:extension base="componentTitleType"/> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="subsubComponent" type="subSubComponentType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="subSubComponentType"> <xs:sequence> <xs:element name="container" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="type" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="componentTitle"> <xs:complexType mixed="true"> <xs:complexContent mixed="true"> <xs:extension base="componentTitleType"/> </xs:complexContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:schema>
The data consists of a collection of three books. Two are primarily instructive text. The third is a guide to a manuscript collection. All contain metadata and full text.
<books> <book number="1"> <metadata> <title shortTitle="Improving Web Site Usability">Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <authors> <author>Millicent Marigold</author> <author>Montana Marigold</author> </authors> <publicationInfo> <place>New York</place> <publisher>Ersatz Publications</publisher> <dateIssued>2001</dateIssued> <dateRevised>2002</dateRevised> </publicationInfo> <price>25.99</price> <subjects xml:lang="en"> <subject>Usability testing</subject> <subject>Web site development</subject> <subject>Heuristic evaluation</subject> <subject>Cognitive walk-through</subject> <subject>Web site usability</subject> </subjects> <subjects xml:lang="fr"> <subject>Tests d'ergonomie</subject> <subject>Développement de site web</subject> <subject>Évaluation heuristique</subject> <subject>Parcours cognitif</subject> <subject>Ergonomie de site web</subject> </subjects> <subjects xml:lang="zh"> <subject>可用性测试</subject> <subject>网站建置</subject> <subject>启发式评价</subject> <subject>认知推演</subject> <subject>网站可用性</subject> </subjects> </metadata> <content> <introduction> <author>Elina Rose</author> <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> <p>The most successful projects employ multiple methods in multiple iterations. As Millicent Marigold remarked during a recent conference, "Don't stop. Iterate, iterate, then iterate again."</p> <p>This book has been approved by the Web Site Users Association.</p> </introduction> <part number="1"> <title>Expert Reviews</title> <introduction> <p>Expert reviewers identify problems and recommend changes to web sites based on research in human computer interaction and their experience in the field.</p> <p>Two expert review methods are discussed here. They are heuristic evaluation and cognitive walk-through.</p> <p>Expert review methods should be initiated early in the development process, as soon as paper <b>p</b>rototypes (hand-drawn pictures of Web pages) or <b>w</b>ireframes (electronic mockups) are available. They should be conducted using the hardware and software similar to that employed by users.</p> </introduction> <chapter> <title>Heuristic Evaluation</title> <p>Expert reviewers critique an interface to determine conformance with recognized usability principles. <footnote>One of the best known lists of heuristics is <citation url="http://www.useit.com/papers/heuristic /heuristic_list.html">Ten Usability Heuristics by Jacob Nielson</citation>. Another is <citation url="http://usability.gov /guidelines/index.html"> Research-Based Web Design and Usability Guidelines</citation> </footnote></p> </chapter> <chapter> <title>Cognitive Walk-Through</title> <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> </chapter> </part> <part number="2"> <chapter> <title>Usability Testing</title> <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> <p>Users are asked to complete tasks which measure the success of the information architecture and navigational elements of the site.</p> <p>Then changes are made to improve service to users.</p> </chapter> </part> </content> </book> <book number="2"> <metadata> <title shortTitle="Usability Basics">Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <publicationInfo> <place>New York</place> <publisher>Ersatz Publications</publisher> <publisher>Electronic BookWorks</publisher> <dateIssued>2000</dateIssued> <dateRevised>2001</dateRevised> </publicationInfo> <price>174.00</price> <subjects xml:lang="en"> <subject>Usability testing</subject> <subject>Web site development</subject> <subject>Guides and finding aids</subject> </subjects> <subjects xml:lang="fr"> <subject>Tests d'ergonomie</subject> <subject>Développement de site web</subject> <subject>Guides et outils de recherche</subject> </subjects> <subjects xml:lang="zh"> <subject>可用性测试</subject> <subject>网站建置</subject> <subject>指南和检索工具</subject> </subjects> </metadata> <content> <introduction> <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> <p>This book has not been approved by the Web Site Users Association.</p> </introduction> <part number="1"> <chapter> <title>Planning then Conducting Usability Tests</title> <p>Take the following steps to plan usability testing. <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully. </step> <step number="3">Compile a script of questions or instructions which will prompt the user to attempt those tasks.</step> <step number="4">Identify your users and begin recruiting them.</step> <step number="5">Conduct a pretest on a few users. </step> <step number="6">Edit the script based on insights gleaned from the pretest.</step> <step number="7">Resume testing.</step></p> </chapter> </part> <part number="2"> <chapter> <title>Conducting Usability Tests</title> <p>Users can be tested at any computer workstation <footnote>They may be most comfortable at their own workstation. </footnote> or in a lab.</p> <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> </chapter> <chapter> <title>Evaluating and Implementing Results</title> <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> </chapter> </part> </content> </book> <book number="3"> <metadata> <title shortTitle="Usabilityguy Manuscript Guide">John Wesley Usabilityguy: A Register of His Papers</title> <authors> <author>Millicent Marigold</author> <author>Morty Marigold</author> </authors> <publicationInfo> <publisher>Ersatz Manuscript Library</publisher> <dateIssued>1998</dateIssued> <dateRevised>2002</dateRevised> </publicationInfo> <price>21.49</price> <subjects xml:lang="en"> <subject>Computers</subject> <subject>Software evaluation</subject> <subject>Usability testing</subject> <subject>Manuscript collections</subject> </subjects> <subjects xml:lang="fr"> <subject>Ordinateurs</subject> <subject>Évaluation de logiciels</subject> <subject>Tests d'ergonomie</subject> <subject>Collections de manuscrits</subject> </subjects> <subjects xml:lang="zh"> <subject>计算机</subject> <subject>软件评价</subject> <subject>可用性测试</subject> <subject>手稿专藏</subject> </subjects> </metadata> <content> <introduction> <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> </introduction> <part number="1"> <container type="box">1-12</container> <title>Subject File, <date normalize="1930/1974"> 1930-1974</date></title> <introduction> <p>Correspondence, telegrams, memoranda, journals, logs, testimony, approved travel orders, invitations, charts, graphs, forms, biographical data, photographs, book drafts, clippings and other printed matter, résumés and miscellaneous material. Organized by name of person or organization, topic, or type of material.</p> </introduction> <component><container type="box">1</container> <componentTitle>Computers</componentTitle> <subComponent> <componentTitle>Software, <componentDate normalize="1946/1947">1946-1947 </componentDate> </componentTitle> </subComponent> <subComponent> <componentTitle>Human Computer Interaction research, <componentDate normalize="1945/1952"> 1945-1952</componentDate> </componentTitle> <subsubComponent> <componentTitle>Flow diagram, <componentDate normalize="1950">1950 </componentDate> </componentTitle> </subsubComponent> <subsubComponent> <componentTitle>General, <componentDate normalize="1947/1951">1947-1951 </componentDate> </componentTitle> </subsubComponent> <subsubComponent><container type="box">2</container> <componentTitle>Eye Movement research, <componentDate normalize="1949/1950">1949-1950 </componentDate> </componentTitle> </subsubComponent> <subsubComponent> <componentTitle>User profiling, <componentDate normalize="1950/1959">1950s </componentDate> </componentTitle> </subsubComponent> </subComponent> </component> <component> <componentTitle>Web User Appreciation Award, <componentDate normalize="1956">1956</componentDate> </componentTitle> </component> </part> <part number="2"><container type="box">3-5</container> <title>Writings File, <date normalize="1985/1999">1985-1999</date> </title> <introduction> <p>Correspondence, articles, book drafts, notes, contracts, clippings, and printed matter. Arranged alphabetically by type (articles, books, reports, and miscellaneous) and therein alphabetically by type of material, subject, or title.</p> </introduction> <component> <componentTitle>Writings by Usabilityguy </componentTitle> <subComponent> <componentTitle><componentDate normalize="1996"> 1996</componentDate> </componentTitle> <subsubComponent> <componentTitle>"How Many Users Are Enough for User Testing?"</componentTitle> </subsubComponent> <subsubComponent> <componentTitle>"How to Evaluate Results from User Tests."</componentTitle> </subsubComponent> <subsubComponent> <container type="box">5</container> <componentTitle>"When Are You Done Testing?" </componentTitle> </subsubComponent> <subsubComponent> <componentTitle>"Do-It-Yourself User Testing" </componentTitle> </subsubComponent> </subComponent> </component> <component> <componentTitle>Charitable Contributions </componentTitle> <subComponent> <componentTitle>Diseases: AIDS, Hepatitis, Tuberculosis <componentDate normalize= "1990/1999">1990-1999</componentDate> </componentTitle> </subComponent> <subComponent> <componentTitle>Environmental Conservation: Rivers <componentDate normalize="1995">1995 </componentDate> </componentTitle> </subComponent> </component> </part> </content> </book> </books>
These use cases begin with the simplest queries possible--queries on a single word or phrase. Phrase queries are queries on one or more sequences of words. A sequence can contain any number of words. One of these queries is on Chinese characters.
Refer to Section 9 (BOOLEAN) for multiple word and phrase queries with Boolean full-text predicates. Refer to Section 12 (SCORE) for multiple word and phrase queries with score.
Find all book titles containing the word "usability".
This query finds a single word within an element.
Operands: "usability"
Functionality: word query
Context: books/book/metadata/title
Return: books/book/metadata/title
Comments: This is the simplest query possible, a query on one word within one element. This query does not employ wildcards, stemming, or thesaurus support. While this query finds useful results in the sample data, most queries such as one on the word "test" would not. A query on the word "test" would return no results, missing the word variants which exist in the sample data: "pretest" "tested" "testers" "testimony" "testing" and "tests".
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title>
Find all book subjects containing the phrase "usability testing".
This query finds a single phrase within an element.
Operands: "usability testing"
Functionality: phrase query
Context: books//subject
Return: books//subject
Content: This is a simple query on one phrase within one element. Unlike an unordered proximity query, the words in this phrase query must be adjacent to each other and must appear in the order specified. While this query finds useful results in the sample data, most queries such as one on "software developer" would not. A query on the phrase "software developer" would return no results, missing "developer of software" which exists in the sample data.
Version: For consideration in v.1
Expected Result:
<subject>Usability testing</subject> <subject>Usability testing</subject> <subject>Usability testing</subject>
Find all book text containing the phrase "would a user know by looking at the screen how to complete the first step of the task".
This query finds a single phrase in an element.
Operands: "would a user know by looking at the screen how to complete the first step of the task"
Functionality: phrase query
Context: books//content
Return: books//content
Comments: This query shows phrases can be of any length.
Version: For consideration in v.1
Expected Result:
<content> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </content>
Find all book subjects containing the phrase (n-gram) "网站".
This query finds a single phrase (n-gram) within an element.
Operands: "网站"
Functionality: phrase query
Context: books//subject
Return: books//subject
Comments: This query is an example of a phrase query where the phrase being queried consists of two Chinese characters. It assumes a specific language-dependent tokenization.
Version: For consideration in v.1
Expected Result:
<subject>网站建置</subject> <subject>网站可用性</subject> <subject>网站建置</subject>
These use cases query XML elements, including instances of an element and multiple elements, attributes, and elements and attributes. They use a single XPath statement to locate the elements or attributes to be queried.
Some queries return additional or different elements than were queried. Another queries an element and its descendants. Another queries across element boundaries. They are in this section only because they are very common queries and necessary for writing meaningful full-text queries. Refer to Section 13 (STRUCTURE) for queries which more fully exploit the complexity and hierarchy of XML structure and Section 14 (IGNORE) for queries across element boundaries which ignore tags and content.
Find all book paragraphs with the word "step".
This query finds a word in an element.
Operands: "step"
Functionality: word query
Context: books//p
Return: books/book/@number, books//p
Comments: This query finds the word "step" in the p element, not in any other element.
Version: For consideration in v.1
Expected Result:
<book number="1"> <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> </book>
Find all books with the phrase "web site" and the word "usability" in the same subject.
This query finds a word and a phrase within one instance of an element.
Operands: "web site" "usability"
Functionality: phrase query, word query, and
query
Context: books//subject
Return: books/book/@number, books//subject
Comments: This query find words and phrases within one instance of an element, not allowing one
of the operands to be found in one sibling and the other operand in a different sibling of
the same name. This query does not find book 2 which has "usability" and "web site" in diferrent instances of an element. It
uses an and
query introduced in Section 9 (BOOLEAN).
Version: For consideration in v.1
Expected Result:
<book number="1"> <subject>Web site usability</subject> </book>
Find all books with the phrase "web site" and the word "usability" in any subject.
This query finds a word and a phrase within any instance of an element, across the siblings of the same name. The word and the phrase may be in different elements.
Operands: "web site" "usability"
Functionality: phrase query, word query, and
query
Context: books//subject
Return: books/book/@number, books//subject
Comments: This query returns words and phrases within any instance of an
element, allowing one of the operands to be found in one sibling and the other operand
in a different sibling of the same name. It uses an and
query introduced in Section 9 (BOOLEAN).
Version: For consideration in v.1
Expected Result:
<book number="1"> <subject>Usability testing</subject> <subject>Web site development</subject> <subject>Web site usability</subject> </book> <book number="2"> <subject>Usability testing</subject> <subject>Web site development</subject> </book>
Find all books with the words "ersatz" and "publications" in every publisher name.
This query finds two words within every instance of an element.
Operands: "ersatz" "publications"
Functionality: word query, and
query
Context: books//publisher
Return: books/book/metadata/title, books//publisher
Comments: This query does not return a book if at least one of its publishers does not contain the words "ersatz" and
"publications". Book 1 is returned because it has a single publisher which satisfies the full-text conditions (contains both "Ersatz" and
"Publications"). Book 2 is not returned because even though it has a publisher that satisfies the full-text conditions, it also has a publisher that
does not satisfy it (universal quantification). Book 3 is not returned because it has a single publisher which
does not satisfy the query (contains "Ersatz" but not "Publications"). Finally, universal quantification will allow books without publishers to qualify.
It uses an and
query introduced in Section 9 (BOOLEAN).
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site
Through Expert Reviews and Usability Testing</title>
<publisher>Ersatz Publications</publisher>
Find all books with the phrase "usability testing" in some subject.
This query finds a single phrase within an element and returns different elements from the same document.
Operands: "usability testing"
Functionality: phrase query
Context: books//subject
Return: books/book/metadata/title, books//author, books//publicationInfo/dateRevised
Comments: This query queries the subject element, but does not return it. It returns three different elements which provide useful information to the user.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <author>Millicent Marigold</author> <author>Montana Marigold</author> <dateRevised>2002</dateRevised> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <dateRevised>2001</dateRevised> <title>John Wesley Usabilityguy: A Register of His Papers</title> <author>Millicent Marigold</author> <author>Morty Marigold</author> <dateRevised>2002</dateRevised>
Find all books with "usability tests" in book or chapter titles.
This query finds a phrase in multiple elements.
Operands: "usability tests"
Functionality: phrase query
Context: books/book/metadata/title, books/book/content/part//chapter/title
Return: books/book/metadata/title, books/book/content/part//chapter/title
Comments: This query is an example of a word query in two elements.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <title>Planning then Conducting Usability Tests</title> <title>Conducting Usability Tests</title>
Find all books with the phrase "usability testing once the problems".
This query finds a phrase which begins in one element and ends in a second.
Operands: "usability testing once the problems"
Functionality: phrase query, ignoring element tags
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query crosses sibling element boundaries.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <title>Usability Testing</title> <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content>
Find all books with the word "tests".
This query finds a word in an element or its descendants.
Operands: "tests"
Functionality: word query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query crosses parent-child element boundaries.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> ... <title>Planning then Conducting Usability Tests</title> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <componentTitle>"How to Evaluate Results from User Tests."</componentTitle> ... </content>
Find all books with "improve" "web" "usability" in the short title.
This query finds multiple words within an attribute allowing word variants and allowing the words in any order with up to a specified number of intervening words.
Operands: "improve" "web" "usability"
Functionality: word queries, stemming, unordered proximity (0 to 2 intervening words)
Context: books/book//title/@shortTitle
Return: books/book/@number, books/book//title/@shortTitle
Comments: This query illustrates full-text querying within an attribute. It uses stemming introduced in Section 7 (STEMMING) and an ordered proximity query introduced in Section 10 (DISTANCE).
Version: For consideration in v.1
Expected Result:
<book number="1"> <title shortTitle="Improving Web Site Usability">Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> </book>
Find all books with the phrase "manuscript guides" in the short title and the phrase "user profiling" in the text.
This query finds a phrase within an attribute and a phrase within an element and its descendants.
Operands: "manuscript guides" "user profiling"
Functionality: phrase queries, stemming, and
query
Context: books/book//title/@shortTitle, books//content
Return: books/book/@number, books/book//title/@shortTitle, books//content
Comments: This query combines querying within an element with querying within an attribute.
It uses stemming introduced in Section 7 (STEMMING) and an and
query introduced in Section 9 (BOOLEAN).
Version: For consideration in v.1
Expected Result:
<book number="3"> <title shortTitle="Usabilityguy Manuscript Guide">John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <componentTitle>User profiling, <componentDate normalize="1950/1959">1950s </componentDate> </componentTitle> ... </content> </book>
These use cases identify commonly used words which have been saved to a stop word list. Words on this list are routinely ignored during querying. Some of the queries override the stop word identification of a word, making it available again for querying.
Find all books with the word "the" in the text.
This query ignores a word which has been identified as a stop word.
Operands: "the"
Functionality: identify and ignore stop words (the), word query
Context: books//content
Return: books/book/metadata/title
Comments: This query on a stop word will either return no results or an error depending on the implementation.
Version: For consideration in v.1
Expected Result:
No results returned.
Find all books with the phrase "planning then conducting" in the text.
This query finds a phrase ignoring a word which has been identified as a stop word.
Operands: "planning then conducting"
Functionality: identify and ignore stop words (then), phrase query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: Once the stop word "then" is ignored, this query is reduced to a query on the words "planning" and" conducting", allowing one intervening word. It finds both "planning and conducting" and "planning then conducting" in the sample data.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> ... <title>Planning then Conducting Usability Tests</title> ... </content>
Find books with the phrase "Guides and finding aids" in the subject.
This query finds a phrase overriding the stop word identification of a word.
Operands: "guides and finding aids"
Functionality: identify and override stop words (and), phrase query
Context: books//subject
Return: books/book/metadata/title, books//subject
Comments: This query finds the phrase "guides and finding aids", which might be in a subject element built from a controlled vocabulary where querying the exact phrase may avoid undesired results.
Version: For consideration after v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct
Usability Tests on Web Site Thereby Improving the
Usability of Your Web Site</title>
<subject>Guides and finding aids</subject>
Find all books which have not been approved by a Web users organization.
This query finds a phrase ignoring multiple words which has been identified as stop words.
Operands: "not been approved"
Functionality: identify and ignore stop words (not, been), phrase query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: Once the stop words are ignored, this query is reduced to a query on the word "approved". It returns books with the word "approved" in the phrases "been approved" "not been approved" and "approved travel orders" in the sample data.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>This book has been approved by the Web Site Users Association</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This book has not been approved by the Web Site Users Association</p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <p>Correspondence, telegrams, memoranda, journals, logs, testimony, approved travel orders, invitations, charts, graphs, forms, biographical data, photographs, book drafts, clippings and other printed matter, résumés and miscellaneous material. Organized by name of person or organization, topic, or type of material.</p> ... </content>
Find all the books which have not been approved by a Web users organization.
This query finds a phrase overriding the stop word identification of a multiple words.
Operands: "not been approved"
Functionality: identify and override stop words (not, been), phrase query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query finds the phrase "not been approved". It does not return the phrases "been approved" and "approved travel orders" in the sample data.
Version: For consideration after v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct
Usability Tests on Web Site Thereby Improving the
Usability of Your Web Site</title>
<content>
...
<p>This book has not been approved by the Web Site
Users Association</p>
...
</content>
These use cases illustrate queries manipulating normalized characters and tokenized words, spaces, and punctuation. Depending on the desired result, they may consider or ignore diacritics, case, and special characters.
They query words entered with diacritics sometimes returning the same; other times returning words with and without diacritics. They query words entered in upper case sometimes returning the same; other times returning words in both upper and lower case. Other queries find words containing a hyphen or two words with a space separating them.
Verify the existence of a résumé in the papers of John Wesley Usabilityguy.
This query finds a word only when diacritics are present.
Operands: "résumé"
Functionality: collation requiring presence of diacritics, word query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: The desired return is only the word "résumé" with diacritics, not the more often used word "resume" which is present in the sample data.
Version: For consideration in v.1
Expected Result:
<title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> ... <p>Correspondence, telegrams, memoranda, journals, logs, testimony, approved travel orders, invitations, charts, graphs, forms, biographical data, photographs, book drafts, clippings and other printed matter, résumés and miscellaneous material. Organized by name of person or organization, topic, or type of material.</p> ... </content>
Verify the existence of a résumé in the papers of John Wesley Usabilityguy.
This query finds a word whether its diacritics are present or not.
Operands: "resume"
Functionality: collation ignoring the presence of diacritics, word query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: The desired return is either the word "résumé" with diacritics or the word "resume" without diacritics. The user wants to find résumé, but has entered resume possibly because the system does not allow the entry of diacritics, the user does not know how to enter diacritics, or the user did not want to take the time to enter them.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>Take the following steps to plan usability testing. <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully. </step> <step number="3">Compile a script of questions or instructions which will prompt the user to attempt those tasks.</step> <step number="4">Identify your users and begin recruiting them.</step> <step number="5">Conduct a pretest on a few users. </step> <step number="6">Edit the script based on insights gleaned from the pretest.</step> <step number="7">Resume testing.</step></p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> ... <p>Correspondence, telegrams, memoranda, journals, logs, testimony, approved travel orders, invitations, charts, graphs, forms, biographical data, photographs, book drafts, clippings and other printed matter, résumés and miscellaneous material. Organized by name of person or organization, topic, or type of material.</p> ... </content>
Find out whether John Wesley Usabilityguy included research on AIDS among the charities he supported.
This query finds a word in upper case letters only.
Operands: "AIDS"
Functionality: collation which is case-sensitive or limited to upper case, word query
Context: books//book
Return: books/book/metadata/title, books//book
Comments: This query does not return the word "aids" in lower case which exists in the sample data.
Version: For consideration in v.1
Expected Result:
<title>John Wesley Usabilityguy: A Register of His
Papers</title>
<book>
...
<componentTitle>Diseases: AIDS, Hepatitis,
Tuberculosis <componentDate normalize=
"1990/1999">1990-1999</componentDate>
</componentTitle>
...
</book>
Find out whether John Wesley Usabilityguy included research on AIDS among the charities he supported.
This query finds a word in upper or lower case letters.
Operands: "AIDS"
Functionality: collation which is case-insensitive, word query
Context: books//book
Return: books/book/metadata/title, books//book
Comments: This query returns the word "aids" in upper and lower case.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <book> ... <subject>Guides and finding aids</subject> ... </book> <title>John Wesley Usabilityguy: A Register of His Papers</title> <book> ... <componentTitle>Diseases: AIDS, Hepatitis, Tuberculosis <componentDate normalize= "1990/1999">1990-1999</componentDate> </componentTitle> ... </book>
Find all books with "walk-through".
This query finds a word containing a special character.
Operands: "walk-through"
Functionality: word query, collation returning words containing special characters
Context: books//book
Return: books/book/metadata/title, books//book
Comments: The desired return is only the hyphenated word "walk-through", not the phrase "walk through" which is also present in the sample data.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <book> ... <subject>Cognitive walk-through</subject> ... <p>Two expert review methods are discussed here. They are heuristic evaluation and cognitive walk-through.</p> ... <title>>Cognitive Walk-Through</title> ... </book>
Find all books with "walk-through".
This query finds a word with a special character or a phrase where the special character is replaced by a space.
Operands: "walk-through"
Functionality: word query, collation returning words containing special characters or phrases containing a space
Context: books//book
Return: books/book/metadata/title, books//book
Comments: The desired return is the hyphenated word "walk-through" or the phrase "walk through".
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <book> ... <subject>Cognitive walk-through</subject> ... <p>Two expert review methods are discussed here. They are heuristic evaluation and cognitive walk-through.</p> ... <title>Cognitive Walk-Through</title> <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </book>
These use cases illustrate queries which allow a character or sequence of characters to be inserted into or appended to a word or a part of a word. Character wildcards can be prefix (added before the first character), infix (inserted within a word), or suffix (added after the last character).
These use cases also illustrate queries which allow a word or words to be inserted into or appended to a phrase.
Find all books with the word "way" with any one character prefix.
This query finds a word allowing any one character prefix (any one character before the first character).
Operands: "way"
Functionality: word query, character wildcard (prefix)
Context: books//content
Return: books/book/@number, books//content
Comments: This query specifies that one and only one character be added to the word.
Version: For consideration in v.1
Expected Result:
<book number="1">
<content>
...
<p>Expert reviews and usability testing are
methods of identifying problems in layout,
terminology, and navigation before they frustrate
users and drive them away from your site.</p>
...
</content>
</book>
Find all books with the word "test" with any one character suffix.
This query finds a word allowing any one character suffix (any one character after the last character).
Operands: "test"
Functionality: word query, character wildcard (suffix)
Context: books//content
Return: books/book/@number, books//content
Comments: This query finds "tests", but not "pretest" "test" "tested" "testers" "testimony" and "testing" which also appear in the sample data.
Version: For consideration in v.1
Expected Result:
<book number="1"> <content> ... <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content> </book> <book number="2"> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> ... <title>Planning then Conducting Usability Tests</title> ... <title>Conducting Usability Tests</title> ... </content> </book> <book number="3"> <content> ... <componentTitle>"How to Evaluate Results from User Tests."</componentTitle> ... </content> </book>
Find all books with the words "step or stop".
This query finds words allowing any one infix character (any one character in the middle of a word).
Operands: "st" "p"
Functionality: word query, character wildcard (infix)
Context: books//content
Return: books/book/@number, books//content
Comments: This query allows one and only one character to be added to the word.
Version: For consideration in v.1
Expected Result:
<book number="1"> <content> ... <p>The most successful projects employ multiple methods in multiple iterations. As Millicent Marigold remarked during a recent conference, "Don't stop. Iterate, iterate, then iterate again."</p> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </content> </book>
Find all books with the word "test" with any prefix.
This query finds a word allowing any prefix (0 or more characters before the first character).
Operands: "test"
Functionality: word query, character wildcard (prefix)
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query finds "pretest", but not "test" "testers" "testimony" "testing" or "tests" which also appear in the sample data.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct
Usability Tests on Web Site Thereby Improving the
Usability of Your Web Site</title>
<content>
...
<step number="5">Conduct a pretest on a few
users.</step>
...
</content>
Find all books with the word "test" with any suffix.
This query finds a word allowing any suffix (0 or more characters after the last character)
Operands: "test"
Functionality: word query, character wildcard (suffix)
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query finds "test" "testers" "testimony" "testing" and "tests", but not "pretest" which also appear in the sample data.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> ... <title>Usability Testing</title> <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> ... <title>Planning then Conducting Usability Tests</title> <p>Take the following steps to plan usability testing. <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully. </step> <step number="3">Compile a script of questions or instructions which will prompt the user to attempt those tasks.</step> <step number="4">Identify your users and begin recruiting them.</step> <step number="5">Conduct a pretest on a few users. </step> <step number="6">Edit the script based on insights gleaned from the pretest.</step> <step number="7">Resume testing.</step></p> ... <title>Conducting Usability Tests</title> <p>Users can be tested at any computer workstation <footnote>They may be most comfortable at their own workstation. </footnote> or in a lab.</p> <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <p>Correspondence, telegrams, memoranda, journals, logs, testimony, approved travel orders, invitations, charts, graphs, forms, biographical data, photographs, book drafts, clippings and other printed matter, résumés and miscellaneous material. Organized by name of person or organization, topic, or type of material.</p> ... <componentTitle>"How Many Users Are Enough for User Testing?"</componentTitle> ... <componentTitle>"How to Evaluate Results from User Tests."</componentTitle> ... <container type="box">5</container> <componentTitle>"When Are You Done Testing?" </componentTitle> ... <componentTitle>"Do-It-Yourself User Testing" </componentTitle> ... </content>
Find all books with the phrases "usability testing" or "user testing".
This query finds a phrase allowing any suffix (0 or more characters after the last character) on a part of one of the words.
Operands: "us testing"
Functionality: phrase query, character wildcard (suffix)
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This is an example of a suffix query on a part of a word "us" which is not one of the words or one of the roots of the words desired in the results. The query on "us" will find "usability" and "user". Where stemmed queries (presented below in Section 7 (STEMMING) attempt to return linguistic variants on a word or the root of a word, wildcards may be applied to any part of a word and will return all character combinations found.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> ... <title>Usability Testing</title> <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> ... <p>Take the following steps to plan usability testing. <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully. </step> <step number="3">Compile a script of questions or instructions which will prompt the user to attempt those tasks.</step> <step number="4">Identify your users and begin recruiting them.</step> <step number="5">Conduct a pretest on a few users. </step> <step number="6">Edit the script based on insights gleaned from the pretest.</step> <step number="7">Resume testing.</step></p> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <componentTitle>"How Many Users Are Enough for User Testing?"</componentTitle> ... <componentTitle>"Do-It-Yourself User Testing" </componentTitle> </subsubComponent> ... </content>
Find all books with the words "serve" or "service".
This query finds words allowing any infix characters (0 or more characters inserted in the middle of a word).
Operands: "serv", "e"
Functionality: word query, character wildcard (infix)
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query returns the word "service" and would return the word "serve" if it existed in the sample data. It does not return the word "served" which exists in the sample data.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through
Expert Reviews and Usability Testing</title>
<content>
...
<p>Then changes are made to improve service to
users.</p>
...
</content>
Find all books with the word "test" with any three to four character suffix.
This query finds a word allowing a number of characters within a specified range in a suffix (specified range of characters after the last character)
Operands: "test"
Functionality: word query, character wildcard (suffix)
Context: books//content
Return: books/book/@number, books//content
Comments: This query allows any three or four character suffix. It returns "testers" and "testing", but not "pretest" "tests" "tested" and "test" which also appear in the sample data.
Version: For consideration after v.1
Expected Result:
<book number="1"> <content> ... <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> ... <title>Usability Testing</title> <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content> </book> <book number="2"> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> ... <p>Take the following steps to plan usability testing. <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully. </step> <step number="3">Compile a script of questions or instructions which will prompt the user to attempt those tasks.</step> <step number="4">Identify your users and begin recruiting them.</step> <step number="5">Conduct a pretest on a few users. </step> <step number="6">Edit the script based on insights gleaned from the pretest.</step> <step number="7">Resume testing.</step></p> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </content> </book> <book number="3"> <content> ... <componentTitle>"How Many Users Are Enough for User Testing?"</componentTitle> ... <container type="box">5</container> <componentTitle>"When Are You Done Testing?" </componentTitle> ... <componentTitle>"Do-It-Yourself User Testing" </componentTitle> ... </content> </book>
Find all books with a phrase which begins with "propagating", has any word in the middle, and ends with "errors".
This query finds a phrase where one of the words (represented by a wildcard) is unspecified.
Operands: "propagating errors"
Functionality: phrase query, word wildcard
Context: books//content
Return: books/book/@number, books//content
Comment: This query is a word wildcard query. A one word wildcard query returns the same result as an ordered proximity query allowing one intervening word.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... </content>
Find all books with a phrase which begins with "propagating", has up to ten words in the middle, and ends with "errors".
This query finds a phrase where a number of words within a specified range (represented by wildcards) are inserted after the first word and before the last.
Operands: "propagating errors"
Functionality: phrase query, word wildcard
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query illustrates a multiple word wildcard representing a specified range. In this query the range is set as 0 to 10.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </content>
These use cases invoke a stemming algorithm (e.g., Porter) which returns noun, verb, adjective, and adverb forms of a word or root of a word in singular and plural.
Find all books with the word "test".
This query finds words in an element and its descendants applying a stemming algorithm.
Operands: "test"
Functionality: word query, stemming
Context: books//content
Return: books/book/metadata/title, books//content
Comments: Unlike the wildcard queries in Section 6 (WILDCARD) which allow any suffix, this query will probably not return the word "testimony" which occurs in the sample data.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> ... <title>Usability Testing</title> <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> ... <title>Planning then Conducting Usability Tests</title> <p>Take the following steps to plan usability testing. <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully. </step> <step number="3">Compile a script of questions or instructions which will prompt the user to attempt those tasks.</step> <step number="4">Identify your users and begin recruiting them.</step> <step number="5">Conduct a pretest on a few users. </step> <step number="6">Edit the script based on insights gleaned from the pretest.</step> <step number="7">Resume testing.</step></p> ... <title>Conducting Usability Tests</title> <p>Users can be tested at any computer workstation <footnote>They may be most comfortable at their own workstation. </footnote> or in a lab.</p> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <componentTitle>"How Many Users Are Enough for User Testing?"</componentTitle> ... <componentTitle>"How to Evaluate Results from User Tests."</componentTitle> ... <container type="box">5</container> <componentTitle>"When Are You Done Testing?" </componentTitle> ... <componentTitle>"Do-It-Yourself User Testing" </componentTitle> ... </content>
Find all books with the phrases "usability testing" or "user testing".
This query finds phrases in an element and its descendants applying a stemming algorithm to multiple words.
Operands: "usable testing" "use testing"
Functionality: phrase query, stemming
Context: books//content
Return: books/book/metadata/title, books//content
Comments: Unlike the wildcard queries in Section 6 (WILDCARD) which allow any suffix, a stemmed query on "us" will not return the desired results because "user" and "usability" do not share the share root.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> ... <title>Usability Testing</title> <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> ... <p>Take the following steps to plan usability testing. <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully. </step> <step number="3">Compile a script of questions or instructions which will prompt the user to attempt those tasks.</step> <step number="4">Identify your users and begin recruiting them.</step> <step number="5">Conduct a pretest on a few users. </step> <step number="6">Edit the script based on insights gleaned from the pretest.</step> <step number="7">Resume testing.</step></p> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <componentTitle>"How Many Users Are Enough for User Testing?"</componentTitle> ... <componentTitle>"Do-It-Yourself User Testing" </componentTitle> ... </content>
These use cases illustrate queries which return synonyms or related words identified by thesauri, dictionaries, and taxonomies.
Find all books which contain quotes.
This query finds a word using a thesaurus to return synonyms.
Operands: "quote"
Functionality: word query, thesaurus support
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query uses thesaurus support to identify synonyms for the word "quote" via preferred and used for terms. It returns the following words: said, says, stated, states, spoke, speaks, replied, replies, reply, remarks, remarked, responded, response, reports, reported, quotes, quoted, according to, commented, discussed, expressed, told--which become additional operands
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through
Expert Reviews and Usability Testing</title>
<content>
<introduction>
<p>The most successful projects employ multiple
methods in multiple iterations. As Millicent
Marigold remarked during a recent conference,
"Don't stop. Iterate, iterate, then iterate
again."</p>
</introduction>
...
</content>
Find all books with text on improving web site components.
This query finds a word in one element or its descendants using a thesaurus to identify narrower terms.
Operands: "web site components"
Functionality: phrase query, thesaurus support
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query employs a thesaurus to identify web site components via narrower terms, including: layout, terminology, graphics, menus, navigation--which become additional operands.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </content>
Are there any letters or holiday cards in John Wesley Usabilityguy's papers?
This query finds a word in one element or its descendants using a thesaurus to identify broader terms.
Operands: "letters" "holiday cards"
Functionality: word query, phrase query, thesaurus support
Context: books/book[3]//content
Return: books/book[3]/metadata/title, books/book[3]//content
Comments: This query employs a thesaurus to identify the broader term "correspondence"--which becomes an additional operand.
Version: For consideration after v.1
Expected Result:
<title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> ... <p>Correspondence, telegrams, memoranda, journals, logs, testimony, approved travel orders, invitations, charts, graphs, forms, biographical data, photographs, book drafts, clippings and other printed matter, résumés and miscellaneous material. Organized by name of person or organization, topic, or type of material.</p> ... <p>Correspondence, articles, book drafts, notes, contracts, clippings, and printed matter. Arranged alphabetically by type (articles, books, reports, and miscellaneous) and therein alphabetically by type of material, subject, or title.</p> ... </content>
Find all books with words which sound like "Merrygould".
This query finds words in an element and its descendants using a dictionary of words which sound like the word queried.
Operands: "Merrygould"
Functionality: word query, sounds-like dictionary support
Context: books//book
Return: books/book/metadata/title, books//book
Comments: This query uses sounds-like support to identify words which sound like the word "Merrygould". It returns the word "Marigold"-- which becomes an additional operand.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <book> ... <author>Millicent Marigold</author> <author>Montana Marigold</author> ... <p>The most successful projects employ multiple methods in multiple iterations. As Millicent Marigold remarked during a recent conference, "Don't stop. Iterate, iterate, then iterate again."</p> ... </book> <title>John Wesley Usabilityguy: A Register of His Papers</title> <book> ... <author>Millicent Marigold</author> ... </book>
Find all books which contain words that are close in spelling to "sucessfull".
This query finds words in an element and its descendants using a dictionary of words that are spelled similarly.
Operands: "sucessfull"
Functionality: word query, similarly spelled dictionary support
Context: books//book
Return: books/book/metadata/title, books//book
Comments: This query uses support for similarly spelled words to identify words close in spelling to "sucessfull". It returns the word "successful"--which becomes an additional operand.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <book> ... <p>The most successful projects employ multiple methods in multiple iterations. As Millicent Marigold remarked during a recent conference, "Don't stop. Iterate, iterate, then iterate again."</p> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </book> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <book> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </book>
Find out whether John Wesley Usabilityguy included research on AIDS and other infectious diseases among the charities he supported.
This query finds a word in an element and its descendants in upper case letters using a taxonomy to identify subordinate terms.
Operands: "AIDS"
Functionality: word query, collation which is case-sensitive or limited to upper case, taxonomy support
Context: books/book[3]//component
Return: books/book/@number, books/book[3]//component
Comments: This query uses a taxonomy to identify other infectious diseases (e.g., Hepatitis, Tuberculosis) which are then added as operands.
Version: For consideration after v.1
Expected Result:
<book number="3"> <component> <componentTitle>Charitable Contributions</componentTitle> <subComponent> <componentTitle>Diseases: AIDS, Hepatitis, Tuberculosis<componentDate normalize= "1990/1999">1990-1999</componentDate> </componentTitle> </subComponent> <component> </book>
These use cases include Boolean queries using or
, and
, the unary not
,
and not
, and mild not
.
Find all books with the words "web" or "software" in the text.
This query finds one or both of the words in an element and its descendants.
Operands: "web" "software"
Functionality: word query, or
query
Context: books//content
Return: books/book/metadata/title, books//content
Comment: This or
query returns either or both of words queried.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... <p>This book has been approved by the Web Site Users Association.</p> ... <p>Expert reviewers identify problems and recommend changes to web sites based on research in human computer interaction and their experience in the field.</p> ... <p>Expert review methods should be initiated early in the development process, as soon as paper <b>p</b>rototypes (hand-drawn pictures of Web pages) or <b>w</b>ireframes (electronic mockups) are available. They should be conducted using the hardware and software similar to that employed by users.</p> ... <p>Expert reviewers critique an interface to determine conformance with recognized usability principles. <footnote>One of the best known lists of heuristics is <citation url="http://www.useit.com/papers/heuristic /heuristic_list.html">Ten Usability Heuristics by Jacob Nielson</citation>. Another is <citation url="http://usability.gov /guidelines/index.html"> Research-Based Web Design and Usability Guidelines</citation> </footnote></p> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> <p>This book has not been approved by the Web Site Users Association.</p> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> ... <componentTitle>Software, <componentDate normalize="1946/1947">1946-1947 </componentDate> </componentTitle> ... <componentTitle>Web User Appreciation Award, <componentDate normalize="1956">1956</componentDate> </componentTitle> ... </content>
Find all books with the words "web" or "software" or "internet" in the text.
This query finds any or all of the words in an element and its descendants.
Operands: "web" "software" "internet"
Functionality: word queries, or
query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: An or
query can have any number of words as operands. Since the word "internet" does not appear in the sample data, books
with both or either of the remaining two words are returned.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... <p>This book has been approved by the Web Site Users Association.</p> ... <p>Expert reviewers identify problems and recommend changes to web sites based on research in human computer interaction and their experience in the field.</p> ... <p>Expert review methods should be initiated early in the development process, as soon as paper <b>p>/b>rototypes (hand-drawn pictures of Web pages) or <b>w</b>ireframes (electronic mockups) are available. They should be conducted using the hardware and software similar to that employed by users.</p> ... <p>Expert reviewers critique an interface to determine conformance with recognized usability principles. <footnote>One of the best known lists of heuristics is <citation url="http://www.useit.com/papers/heuristic /heuristic_list.html">Ten Usability Heuristics by Jacob Nielson</citation>. Another is <citation url="http://usability.gov /guidelines/index.html"> Research-Based Web Design and Usability Guidelines</citation> </footnote></p> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </content> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <content> ... <p>This is a basic handbook for planning and conducting usability tests on Web sites. Usability testing should be used in conjunction with other expert review methods.</p> <p>This book has not been approved by the Web Site Users Association.</p> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> ... <componentTitle>Software, <componentDate normalize="1946/1947">1946-1947 </componentDate> </componentTitle> ... <componentTitle>Web User Appreciation Award, <componentDate normalize="1956">1956</componentDate> </componentTitle> ... </content>
Find all books with the phrases "heuristic evaluation" or "cognitive walk-through".
This query finds any or all of the phrases in an element or its descendants.
Operands:"heuristic evaluation" "cognitive walk-through"
Functionality: word query, or
query
Context: books//content
Return: books/book/@number, books//content
Comments: An or
query can have any number of words and phrases as operands.
Version: For consideration in v.1
Expected Result:
<book number="1"> <content> ... <p>Two expert review methods are discussed here. They are heuristic evaluation and cognitive walk-through.</p> <title>Cognitive Walk-Through</title> <title>Heuristic Evaluation</title> ... </content> </book>
Find all books with the words "web" "software" in the text.
This query finds all of the words in one element and its descendants.
Operands: "web" "software"
Functionality: word queries, and
query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: The and
query finds both words.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... <p>This book has been approved by the Web Site Users Association.</p> ... <p>Expert reviewers identify problems and recommend changes to web sites based on research in human computer interaction and their experience in the field.</p> ... <p>Expert review methods should be initiated early in the development process, as soon as paper <b>p</b>rototypes (hand-drawn pictures of Web pages) or <b>w</b>ireframes (electronic mockups) are available. They should be conducted using the hardware and software similar to that employed by users.</p> ... <p>Expert reviewers critique an interface to determine conformance with recognized usability principles. <footnote>One of the best known lists of heuristics is <citation url="http://www.useit.com/papers/heuristic /heuristic_list.html">Ten Usability Heuristics by Jacob Nielson</citation>. Another is <citation url="http://usability.gov /guidelines/index.html"> Research-Based Web Design and Usability Guidelines</citation> </footnote></p> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </content> <title>John Wesley Usabilityguy: A Register of His Papers</title> <content> ... <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> ... <componentTitle>Software, <componentDate normalize="1946/1947">1946-1947 </componentDate> </componentTitle> ... <componentTitle>Web User Appreciation Award, <componentDate normalize="1956">1956</componentDate> </componentTitle> ... </content>
Find all books with the words "web" "software" "internet" in the text.
This query finds all of the words queried in an element or its descendants.
Operands: "web" "software" "internet"
Functionality: word queries, and
query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: An and
query can have any number of words as operands. The word "internet" does not appear in the sample data, so
no results are returned.
Version: For consideration in v.1
Expected Result:
No results returned.
Find all books with the phrases "heuristic evaluation" and "cognitive walk-through" in the text.
This query finds all of the phrases queried in an element or its descendants.
Operands: "heuristic evaluation" "cognitive walk-through"
Functionality: phrase queries, and
query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: An and
query can have any number of words or phrases as operands.
Version: For consideration in v.1
Expected Result:
<book number="1"> <content> ... <p>Two expert review methods are discussed here. They are heuristic evaluation and cognitive walk-through.</p> <title>Cognitive Walk-Through</title> <title>Heuristic Evaluation</title> ... </content> </book>
Find all books which do not belong in a collection on usability testing.
This query finds books which do not contain a phrase in any element.
Operands: "usability testing"
Functionality: phrase query, character wildcard (suffix), unary not
query
Context: books//book
Return: books/book/metadata/title
Comments: Unlike the and not
query below, the unary not
query
requires only one operand. This query has value for information architects and data managers
who will use it for checks such as this one, to find nonconforming data and documents in a
collection.
Version: For consideration in v.1
Expected Result:
No results returned.
Find all books with the word "usability" and not the word "plan" in the metadata.
This query finds a word only when another is not found.
Operands: "usability" "plan"
Functionality: word query, and not
query
Context: books/book//metadata
Return: books/book//metadata
Comments: The and not
query is also called a but
, but not
, and
without
query. Unlike the unary not
query above,this query requires two operands. Book 2
which contains the words "usability" and "plan" in the metadata is not returned.
Version: For consideration in v.1
Expected Result:
<metadata> <title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> </metadata>
Find all books with listings for résumés, drafts, and correspondence, and not book drafts in the metadata or text.
This query finds books with multiple words and not a phrase containing one of those words in an element.
Operands: "résumés" "drafts" "correspondence" "book drafts"
Functionality: word queries, or
query, phrase query, and not
query,
collation requiring presence of diacritics
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query will not return a result which contains everything the user wants which also includes what the user does not want, "book drafts". The user will lose results which contain everything he wants when that book also contains what he does not want.
Version: For consideration in v.1
Expected Result:
No results returned.
Find all books with listings for résumés, drafts, and correspondence, and not book drafts, in the metadata or text.
This query finds books with multiple words, not considering a phrase containing one of those words, in an element.
Operands: "résumés" "drafts" "correspondence" "book drafts"
Functionality: word queries, or
query, phrase query, mild not
query,
collation requiring presence of diacritics
Context: books//book
Return: books/book/metadata/title, books//book
Comments: This query will return a result which contains all the terms user wants which may also include some of the terms user deprecated via the mild not, "book drafts". The user will not lose results which contain everything he wants when that book also contains what he does not want. Books containing instances of "book drafts" (a subset of "drafts") are not excluded, merely not considered.
Version: For consideration after v.1
Expected Result:
<title>John Wesley Usabilityguy: A Register of His Papers</title> <content> <introduction> <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> </introduction> ... </content>
These use cases illustrate unordered, ordered, and nested proximity queries which look for sequences of words allowing up to a specified number of intervening words. They also include queries within unordered and ordered windows of a specified number of words, within a sentence, and within a paragraph.
Find all books with information on software developers.
This query finds multiple words in an element in any order allowing up to a specified number of intervening words.
Operands: "software" "developer"
Functionality: word queries, stemming, unordered proximity (0 to 3 intervening words)
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query returns "developer of software", which also occurs in the sample data, which a phrase query in Section 2 (WORD) could not.
Version: For consideration in v.1
Expected Result:
<title>John Wesley Usabilityguy: A Register of His Papers</title> <content> <introduction> <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> </introduction> ... </content>
Find all books with information on efficient task completion.
This query finds multiple words in an element and its descendants in the order queried allowing up to a specified number of intervening words.
Operands: "efficient" "task" "completion"
Functionality: word queries, ordered proximity (0 to 10 intervening words)
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query is more permissive than an phrase query on "efficient task completion" which would return no results.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... </content>
Find all books on how expert reviews identify and correct problems.
This query finds books with multiple words within an unordered window of up to a specified number of words.
Operands: "problems" "correct" "identify" "expert reviews"
Functionality: word queries, phrase query, stemming, unordered window of 0 to 30 words
Context: books//content
Return: books/book/@number, books//content
Comments: This query opens a window on the first found word or phrase (which can be any of the words or phrases queried, and counts a specified number of words from that first word within which it may find the remaining word or words, finding them in any order.
Version: For consideration after v.1
Expected Result:
<book number="1"> <content> ... <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </content> </book>
Find all books about users feeling well-served.
This query finds books with multiple words within an ordered window of up to a specified number of words.
Operands: "users" "feeling" "well" "served"
Functionality: word queries, stemming, collation which treats the hyphen as a space, unordered window of 0 to 15 words
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query opens a window on the first found word (which must be the first word queried) and counts a specified number of words from that first word within which it may find the remaining word or words, finding them in the order queried.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... </content>
Find books which discuss questions asked during cognitive walk-throughs.
This query finds books with multiple words in any order within a sentence.
Operands: "users" "would" "know" "step"
Functionality: word queries, stemming, unordered sentence query
Context: books//content
Return: books/book/@number, books//content
Comments: This query expects an implementation-defined tokenized sentence or a sentence element.
Version: For consideration after v.1
Expected Result:
<book number="1"> <content> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </content> </book>
Find books which discuss questions asked during cognitive walk-throughs.
This query finds books with multiple words in the order queried within a sentence.
Operands: "users" "would" "know" "step"
Functionality: word queries, stemming, ordered sentence query
Context: books//content
Return: books/book/@number, books//content
Comments: This query expects an implementation-defined tokenized sentence or a sentence element.
Version: For consideration after v.1
Expected Result:
No results found.
Find all paragraphs which define what Web site usability is.
This query finds books with multiple words and phrases in any order within a paragraph.
Operands: "usability" "Web site" "efficiency" "satisfaction"
Functionality: word queries, phrase query, stemming, unordered paragraph query
Context: books//content
Return: books/book/@number, books//content
Comments: This query expects an implementation-defined tokenized paragraph or a paragraph element.
Version: For consideration after v.1
Expected Result:
<book number="1"> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... </content> </book>
Find all paragraphs which define what Web site usability is.
This query finds books with multiple words and phrases in any order within a paragraph.
Operands: "usability" "Web site" "is"
Functionality: word queries, phrase query, stemming, ordered paragraph query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query expects an implementation-defined tokenized paragraph or a paragraph element.
Version: For consideration after v.1
Expected Result:
<book number="1"> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... </content> </book>
These use cases illustrate advanced word and phrase queries. They specify order of multiple words searched, find a phrase based on number of occurrences, find a phrase only when it starts an element, and find a phrase only when it is the entire content of the element.
Find all book text containing the words "goal" "obstacles" "task" in this order.
This query finds multiple words within an element and its descendants in the order queried.
Operands: "goal" "obstacles" "task"
Functionality: ordered word query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query requires multiple words be found in a specified order. It is more permissive than a phrase query. It is comparable to an ordered proximity query where the number of intervening words is 0 or more.
Version: For consideration after v.1
Expected Result:
<book number="1"> <content> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </content> </book>
Find all books which repeat the phrase "expert review methods" at least 2 times.
This query finds a phrase that is repeated a specified number of times in an element and its descendants.
Operands: "expert review methods"
Functionality: phrase query
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query employs the atleast
query. Here it excludes books with
only minor references to "expert review methods".
Version: For consideration after v.1
Expected Result:
<book number="1"> <content> ... <p>Two expert review methods are discussed here. They are heuristic evaluation and cognitive walk-through.</p> <p>Expert review methods should be initiated early in the development process, as soon as paper <b>p</b>rototypes (hand-drawn pictures of Web pages) or <b>w</b>ireframes (electronic mockups) are available. They should be conducted using the hardware and software similar to that employed by users.</p> ... </content> </book>
Find book titles which start with "improving the usability".
This query finds an element which starts with a phrase.
Operands: "improving the usability"
Functionality: phrase query, starts-with functionality
Context: books/book/metadata/title
Return: books/book/metadata/title
Comments: The starts-with functionality restricts the query to the first phrase in an element. It is especially useful in querying journal titles (e.g., Journal of Psychology) in large library collections. This query does not find book 2 which contains the phrase "improving the usability" in the title element, because "improving the usability" is not the first phrase in the title element.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through
Expert Reviews and Usability Testing</title>
Find all books with the exact title "Improving the Usability of a Web Site Through Expert Reviews and Usability Testing"
This query finds the exact phrase allowing no other words or phrases in the element.
Operands: "improving the usability of a web site through expert reviews and usability testing"
Functionality: phrase query
Context: books/book/metadata/title
Return: books/book/metadata/title
Comments: This query insists that the content of the element is exactly the same, no more, no less than what is queried.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through
Expert Reviews and Usability Testing</title>
These queries exploit score and can not be written as a query with a pure Boolean full-text predicate. Among these queries are multiple word and phrase queries without operators, a query that computes and returns only scores, a query which returns only results over a specified threshold, a query which filters by score, and a query which returns all the documents ordered.
All the queries in these Use Cases may use scoring. The Use Cases in this section are merely a small subset that focuses on score. Scoring methodologies will not be defined in this standard. Scoring will be implementation-defined.
Find all book text containing the words "task" "completion" "goals".
This query finds multiple words within an element, returning books containing all the words first, then those with fewer, then those with one.
Operands: "task" "completion" "goals"
Functionality: word query, stemming, implementation-defined scoring
Context: books//content
Return: books/book/@number, books//content
Comments: This query on multiple words can not be written as a query with pure Boolean full-text
predicate without additional functionality (e.g., and
, or
, proximity). This is however a common scored query.The scoring methodology in this use case
case is for illustrative purposes only. Scoring methodologies will be implementation-defined.
Version: For consideration in v.1
Expected Result:
<book number="1"> <content> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> .. <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... <p>Users are asked to complete tasks which measure the success of the information architecture and navigational elements of the site.</p> ... </content> </book> <book number="2"> <content> ... <p>Take the following steps to plan usability testing. <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully. </step> <step number="3">Compile a script of questions or instructions which will prompt the user to attempt those tasks.</step> <step number="4">Identify your users and begin recruiting them.</step> <step number="5">Conduct a pretest on a few users. </step> <step number="6">Edit the script based on insights gleaned from the pretest.</step> <step number="7">Resume testing.</step></p> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... <p>Compile the results and review collectively. Make changes to the site to alleviate the problems found in Web site components which were propagating the largest number of or the most devastating errors. Begin new iterations of testing and changes, until users are successful in the accomplishing the tasks.</p> ... </content> </book>
Find all books containing the phrases "heuristic evaluation" and "cognitive walk-through".
This query finds multiple phrases within an element, returning books containing all phrases queried first, books with one phrase or none after.
Operands: "heuristic evaluation" "cognitive walk-through"
Functionality: phrase query, implementation-defined scoring
Context: books//content
Return: books/book/@number, books//content
Comments: This query on multiple phrases can not be written as a query with pure Boolean full-text
predicate without additional functionality (e.g., and
, or
, proximity). This is however a common scored query. The scoring methodology in this use case
case is for illustrative purposes only. Scoring methodologies will be implementation-defined.
Version: For consideration in v.1
Expected Result:
<book number="1"> <content> ... <p>Two expert review methods are discussed here. They are heuristic evaluation and cognitive walk-through.</p> ... <title>Heuristic Evaluation</title> ... <title>Cognitive Walk-Through</title> ... </content> </book>
Find all books which mention usability. Return the book numbers and scores.
This query performs a word query and returns scores, highest first.
Operands: "usability"
Functionality: word query, implementation-defined scoring, returns score
Context: books//book
Return: books/book/metadata/title, score (constructed element)
Comments: This query is only possible as a scored query. Scores are included between 0 and 1. The scoring methodology in this use case case is for illustrative purposes only. Scoring methodologies will be implementation-defined.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <score>.12</score> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <score>.11</score> <title>John Wesley Usabilityguy: A Register of His Papers</title> <score>.02</score>
Find the best two books on usability.
This query performs a word query and returns only the results with the top scores as specified.
Operands: "usability"
Functionality: word query, implementation-defined scoring, returns top scores (returns books with the top 2 scores)
Context: books//book
Return: books/book/metadata/title
Comments: This query returns results only for the 2 books with the highest scores. This query is only possible as a scored query. The scoring methodology in this use case case is for illustrative purposes only. Scoring methodologies will be implementation-defined.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title>
Find all books that focus on usability.
This query performs a word query and filters on scores.
Operands: "usability"
Functionality: word query, implementation-defined scoring, filters on scores (accepts only those with score over .10)
Context: books//book
Return: books/book/metadata/title
Comments: This query is only possible as a scored query. The scoring methodology in this use case case is for illustrative purposes only. Scoring methodologies will be implementation-defined.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title>
Find all books on software.
This query performs a word query, returns all the documents in the database, and orders them returning those with found word first, those without last.
Operands: "software"
Functionality: word query, implementation-defined scoring
Context: books//content
Return: books/book/@number books//content
Comments: This query is only meaningful as a scored query. This query is probably only desirable in a small collection or database. The scoring methodology in this use case case is for illustrative purposes only. Scoring methodologies will be implementation-defined.
Version: For consideration after v.1
Expected Result:
<book number="1"> <content> ... <p>Expert review methods should be initiated early in the development process, as soon as paper <b>p</b>rototypes (hand-drawn pictures of Web pages) or <b>w</b>ireframes (electronic mockups) are available. They should be conducted using the hardware and software similar to that employed by users.</p> ... </content> </book> <book number="3"> <content> ... <p>The papers of John Wesley Usabilityguy span the years 1946-2001, with the bulk of the items concentrated in the period from 1985 to 2001. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> ... </content> </book> <book number="2"> ... </book>
These use cases illustrate full-text queries that use XPath axes to query parent, children, ancestors, descendants, and siblings of XML elements.
Find all books with chapter titles containing the word "usability" and chapter paragraphs containing the phrase "computer workstation".
This query finds a word in a child of an element and a phrase in another child of the same element.
Operands: "usability", "computer workstation"
Functionality: word query, phrase query
Context: books//chapter/title, books//chapter/p
Return: books/book/metadata/title, books//chapter/title, books//chapter/p
Comments: This query looks for a word in the immediate title child of a chapter and for a phrase in that chapter's immediate paragraph child, and returns the chapter only if that word and that phrase appear in those children.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <chapter> <title>Conducting Usability Tests</title> <p>Users can be tested at any computer workstation <footnote>They may be most comfortable at their own workstation.</footnote> or in a lab.</p> </chapter>
Find the first two steps in chapters on conducting usability tests.
This query finds words in an element and returns the first two children of the element.
Operands: "usability", "test"
Functionality: word queries, stemming
Context: books/book//chapter/p
Return: books/book/@number, books/book/content/part/chapter/p/step[1], books/book/content/part/chapter/p/step[2].
Comments: This query finds words in a chapter paragraph element and uses XPath to return the two first children of the element.
Version: For consideration in v.1
Expected Result:
<book number="2"> <step number="1">Clarify and articulate the goal of the usability testing. </step> <step number="2">Identify tasks which are critical for users to be able to complete successfully.</step> </book>
Find all books with paragraphs containing the phrase "computer workstation" and footnotes within the paragraph containing the word "comfortable".
This query finds a phrase in an element, then finds a descendant of that element that contains a word.
Operands: "computer workstation" "comfortable"
Functionality: phrase query, word query
Context: books//p, books//footnote
Return: books/book/@number, books//p, books//footnote
Comments: This query combines phrase and word search in different elements which have an ancestor-descendant relationship.
Version: For consideration in v.1
Expected Result:
<book number="2"> <p>Users can be tested at any computer workstation<footnote>They may be most comfortable at their own workstation.</footnote> or in a lab.</p> </book>
Are there any flow diagrams of human computer interaction scenarios in John Wesley Usabilityguy's papers?
This query finds a phrase in one element and a phrase in its parent element.
Operands: "flow diagrams" "human computer interaction"
Functionality: phrase queries, character wildcard (suffix)
Context: books//subcomponent/componentTitle, books//subsubcomponent/componentTitle
Return: books/book/@number, books//componentTitle
Comments: This query looks for two different phrases in two different elements and imposes a parent/child relationship between the two elements.
Version: For consideration in v.1
Expected Result:
<book number="3"> <componentTitle>Human Computer Interaction research, </componentTitle> ... <componentTitle>Flow diagram, </componentTitle> </book>
Are there any flow diagrams of human computer interaction scenarios in John Wesley Usabilityguy's papers?
This query finds a phrase in one element and a phrase in its ancestor element.
Operands: "flow diagrams" "human computer interaction"
Functionality: phrase queries, character wildcard (suffix)
Context: books//subcomponent/componentTitle, books//subsubcomponent/componentTitle
Return: books/book/@number, books//componentTitle
Comments: This query looks for a phrase in an element and a different phrase in all its ancestor elements.
Version: For consideration in v.1
Expected Result:
<book number="3"> <componentTitle>Human Computer Interaction research, </componentTitle> ... <componentTitle>Flow diagram, </componentTitle> </book>
Find all book chapters with paragraphs on usability testing followed by paragraphs on information architecture.
This query finds a phrase in an element and another phrase in one of its right siblings.
Operands: "usability testing" "information architecture"
Functionality: phrase queries
Context: books/book/content/part//introduction|chapter
Return: books/book/@number books/book/content/part//introduction|chapter
Comments: This query is a Boolean query that returns book chapters if they contain paragraphs following each other as specified in the query.
Version: For consideration in v.1
Expected Result:
<book number="1"> <chapter> <title>Usability Testing</title> <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> <p>Users are asked to complete tasks which measure the success of the information architecture and navigational elements of the site.</p> ... </chapter> </book>
Find all books with information on identifying problems in a chapter or in an introduction to part.
This query finds words in an element and one of its siblings.
Operands: "identifying" "problems"
Functionality: word queries, character wildcard (suffix), unordered proximity query (0 to 3 intervening words)
Context: books/book/content/part//introduction|chapter
Return: books/book/@number, books/book/content/part//introduction|chapter
Comments: The query could return the two siblings which satisfy the full-text predicates in any order.
Version: For consideration in v.1
Expected Result:
<book number="1"> <introduction> <p>Expert reviewers identify problems and recommend changes to web sites based on research in human computer interaction and their experience in the field.</p> ... </introduction> ... <chapter> ... <p>Once the problems identified by expert reviews have been corrected, it is time to conduct some tests of the site with your unique audience or audiences by conducting usability testing.</p> ... </chapter> </book>
Find all books with word "identify" in book introductions and part introductions.
This query finds a word in instances of the same element in different sub-trees.
Operands: "identify"
Functionality: word query, character wildcard (suffix)
Context: books/book/content/introduction/p, books/book/content/part/introduction/p
Return: books/book/@number, books/book/content/introduction, books/book/content/part/introduction
Comments: This query looks for a word in multiple instances of the introduction element which appear as a child content or part elements.
Version: For consideration in v.1
Expected Result:
<book number="1"> <introduction> ... <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> ... </introduction> ... <part number="1"> ... <introduction> <p>Expert reviewers identify problems and recommend changes to web sites based on research in human computer interaction and their experience in the field.</p> ... </introduction> ... </part> </book>
Find all books with a title containing the word "usability", with a book introduction containing the word "satisfaction", and with a part introduction containing the phrase "identify problems".
This query finds a word in one element, then finds words and phrases in different descendants of that element.
Operands: "usability" "satisfaction" "identify problems"
Functionality: word queries, phrase query
Context: books/book/metadata/title, books/book/content//introduction, books/book/content/part//introduction
Return: books/book/@number, books/book/metadata/title, books/book/content/introduction, books/book/content/part/introduction
Comments: This query looks for phrases and words in specific descendants of an element that might appear anywhere under the element.
Version: For consideration in v.1
Expected Result:
<book number="1"> <title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <introduction> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... </introduction> <part number="1"> ... <introduction> <p>Expert reviewers identify problems and recommend changes to web sites based on research in human computer interaction and their experience in the field.</p> ... </introduction> </part> </book>
Find paragraphs in books on "usability testing" with remarks by Millicent Marigold.
This query finds a phrase in one element. If found then finds words in another element in a different sub-tree, using a thesaurus to return synonyms.
Operands: "usability testing" "remarks" "Marigold"
Functionality: phrase query, conditional logic, word queries, stemming, unordered proximity query (0 to 3 intervening words between "remarks" and "Marigold")
Context: books//subject, books//content
Return: books/book/metadata/title, books//content
Comments: This query looks for phrases and words in any descendant of an element that must contain a specific phrase.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>The most successful projects employ multiple methods in multiple iterations. As Millicent Marigold remarked during a recent conference, "Don't stop. Iterate, iterate, then iterate again."</p> ... </content>
Find component, subcomponent, and subsubcomponent elements and their descendants which contain information about Usabilityguy's research on human computer interactions. Return the corresponding physical container numbers and componentTitles of each component, subcomponent, or subsubcomponent.
This query finds a phrase in an element, then moves up the sub-tree to locate another element, returns that element and one of its descendants.
Operands: "human computer interaction research"
Functionality: phrase query
Context: books//component
Return: books/book/@number, books//container, books//componentTitle
Comments: This query exercises the possibility of returning any ancestor and descendant of qualified elements (i.e., those containing the phrase).
Version: For consideration in v.1
Expected Result:
<book number="3">
<container type="box">1</container>
<componentTitle>Human Computer Interaction research</componentTitle>
...
<componentTitle>Flow diagrams</componentTitle>
...
<componentTitle>General</componentTitle>
<container type="box">2</container>
...
<componentTitle>Eye Movement research</componentTitle>
...
<componentTitle>User profiling research</componentTitle>
</book>
These queries cross element boundaries when finding a word or a sequence of words, ignoring tags that appear within a word or a sequence of words or ignoring the content of elements that appear within the sequence of words. Some queries ignore any tag or specified tags. Tags to ignore may be specified as an explicit list of tags or using an XPath query that identifies them. Other queries ignore the content of any element or specified elements. Elements whose content is ignored may be specified as an explicit list of elements or using an XPath query that identifies them. Other queries combine Boolean queries and proximity queries when looking for words or sequences of words.
Ignored Tags and Content are treated as non-existent when matching a phrase in the current use cases. An extension to this semantics might allow users to override this semantics and specify which markup should be replaced by whitespace, paragraph break, etc., and have a default semantics.
These queries combine mechanisms to identify descendant elements, a full-text query, and a mechanism to ignore tags or content.
Find part introductions containing the word "prototypes" ignoring bold markup.
This query crosses element boundaries, ignoring the tags of the element b (bold highlighting).
Operands: "prototypes"
Functionality: word query, ignore tags of the element b
Context: books/book/content/part/introduction
Return: books/book/@number, books/book/content/part/introduction
Comments: This query should be able to cross any number of bold highlightings in the word.
Version: For consideration in v.1
Expected Result:
<book number="1"> <introduction> ... <p>Expert review methods should be initiated early in the development process, as soon as paper <b>p</b>rototypes (hand-drawn pictures of Web pages) or <b>w</b>ireframes (electronic mockups) are available. They should be conducted using the hardware and software similar to that employed by users.</p> ... </introduction> </book>
Find part introductions containing the word "prototypes" and the word "wireframes" ignoring bold markup.
This query crosses element boundaries, ignoring the tags of the element b (bold highlighting).
Operands: "prototypes" "wireframes"
Functionality: word query, or
query, ignore tags of the element b
Context: books/book/content/part/introduction
Return: books/book/@number, books/book/content/part/introduction
Comments: Similar queries could ignore different tags to match different words.
Version: For consideration in v.1
Expected Result:
<book number="1"> <introduction> ... <p>Expert review methods should be initiated early in the development process, as soon as paper <b>p</b>rototypes (hand-drawn pictures of Web pages) or <b>w</b>ireframes (electronic mockups) are available. They should be conducted using the hardware and software similar to that employed by users.</p> ... </introduction> </book>
Find book chapters containing the phrase "lists of heuristics is Ten Usability" ignoring any intervening tags.
This query crosses element boundaries, ignoring tags.
Operands: "lists of heuristics is Ten Usability"
Functionality: phrase query, ignore tags of any element
Context: books//chapter
Return: books/book/metadata/title, books//chapter
Comments: This query is equivalent to using the "string" function in XQuery that converts the whole sub-tree under an element into a string by removing all markup.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <chapter> <title>Heuristic Evaluation</title> <p>Expert reviewers critique an interface to determine conformance with recognized usability principles. <footnote>One of the best known lists of heuristics is <citation url="http://www.useit.com/papers/heuristic /heuristic_list.html"> Ten Usability Heuristics by Jacob Nielson</citation>. Another is <citation url="http://usability.gov /guidelines/index.html"> Research-Based Web Design and Usability Guidelines</citation> </footnote></p> </chapter>
Find book chapters containing the phrase "lists of heuristics is Ten Usability" ignoring the tags of the element citation.
This query must cross element boundaries, ignoring the tags of an element.
Operands: "lists of heuristics is Ten Usability"
Functionality: phrase query, ignore tags of the citation element
Context: books//chapter
Return: books/book/metadata/title, books//chapter
Comments: The query could ignore any number of tags.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <chapter> <title>Heuristic Evaluation</title> <p>Expert reviewers critique an interface to determine conformance with recognized usability principles. <footnote>One of the best known lists of heuristics is <citation url="http://www.useit.com/papers/heuristic /heuristic_list.html"> Ten Usability Heuristics by Jacob Nielson</citation>. Another is <citation url="http://usability.gov /guidelines/index.html"> Research-Based Web Design and Usability Guidelines</citation> </footnote></p> </chapter>
Find book chapters containing "users can be tested at any computer workstation or in a lab" ignoring any intervening tags and content.
This query ignores intervening tags and content of all descendant elements.
Operands: "users can be tested at any computer workstation or in a lab"
Functionality: phrase query, ignore content of an element
Context: books//chapter
Return: books/book/metadata/title, books//chapter
Comments: This query goes beyond the character string functions in XQuery by ignoring not only the tags but also the content of all descendant elements.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <chapter> ... <p>Users can be tested at any computer workstation <footnote>They may be most comfortable at their own workstation. </footnote> or in a lab.</p> ... </chapter>
Find book chapters containing "own workstation" ignoring element footnote.
This query ignores intervening tags and content of an element and queries a phrase inside the ignored tags and content of the descendant.
Operands: "own workstation"
Functionality: phrase query, ignore content of element footnote, query inside ignored element footnote
Context: books//chapter
Return: books/book/metadata/title, books//chapter
Comments: The query could specify any number of tags and content to ignore.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct
Usability Tests on Web Site Thereby Improving the
Usability of Your Web Site</title>
<chapter>
...
<p>Users can be tested at any computer
workstation <footnote>They may be most
comfortable at their own workstation.
</footnote> or in a lab.</p>
...
</chapter>
Find book chapters containing the phrase "at any computer workstation or in a lab" ignoring footnotes on workstations.
This query crosses element boundaries, ignoring the tags and content of a descendant element only if that element contains a word.
Operands: "at any computer workstation or in a lab"
Functionality: phrase query, character wildcard (suffix), ignore tag and content specified with a word query
Context: books//chapter/p, books//chapter/p/footnote
Return: books/book/metadata/title, books//chapter
Comments: This query returns chapters only if they contain the specified phrase. In order to match the phrase, footnote identified using a word query on workstations must be ignored. If the footnote that must be ignored does not contain the word "workstation", it cannot be ignored to match the phrase and the query would return an empty result.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <chapter> ... <p>Users can be tested at any computer workstation<footnote>They may be most comfortable at their own workstation. </footnote>or in a lab.</p> ... </chapter>
Find book chapters containing the phrase "two testers, one to ask questions, another to take notes" ignoring footnotes on testing procedures.
This query must cross element boundaries, ignoring the tags of a descendant element and the content of this element only if this element refers to testing procedures.
Operands: "two testers one to ask questions another to take notes"
Functionality: phrase queries, ignore tag and content specified with an XPath query
Context: books//chapter/p, books//chapter/p/footnote/testingProcedure
Return: books/book/metadata/title, books//chapter
Comments: This query returns chapters only if they contain the phrase. In order to match the phrase, footnote elements identified using an XPath query must be ignored.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <chapter> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... </chapter>
Find book chapters on usability tests and contracting with computer professionals where all tags of descendant elements are ignored.
This query crosses element boundaries, ignoring the tags, but not the content of descendants.
Operands: "usability tests" "computer" "professionals"
Functionality: phrase query, word queries, ordered proximity query (0 to 20 intervening words), ignore tags of footnote element
Context: books//chapter, ignore books/book//chapter/title, books/book//chapter/p, books/book//chapter//footnote
Return: books/book//title, books//chapter
Comments: If this query had ignored the content of footnote elements, the words "computer" and "professionals" would not have matched.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <subject>Usability testing</subject> <chapter> <title>Conducting Usability Tests</title> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or someone takes notes. It is often preferable to have two testers, <footnote>Usability testing can be done at great expense or on a shoe string, using <testingProcedure>in-house expertise</testingProcedure> or <testingProcedure>contracting with human computer interaction professionals </testingProcedure>.</footnote> one to ask the questions, another to take notes. Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> </chapter>
Find advice on whether an observer in a usability test should correct or help the user. Return the chapter containing the found words and titles for the book and the chapter.
This query ignores intervening tags and content of a descendant element.
Operands: "usability testing" "user" "help"
Functionality: phrase query, character wildcard (suffix), word queries, unordered proximity query (0 to 3
intervening words between "user" and "help), and
query, stemming
Context: books//chapter, ignore books/book/content/part/chapter/p/footnote
Return: books/book/metadata/title, books//chapter
Comments: This query can ignore any number of footnotes. In particular, if footnotes are nested in each other.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <subject>Usability testing</subject> <chapter> <title>Conducting Usability Tests</title> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or an observer takes notes. <footnote>Usability testing can be done at great expense or on a shoe string, using in-house expertise or contracting with human computer interaction professionals. </footnote> Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... </chapter>
These queries combine full text queries with other XQuery functionality. We use some of the XQuery functions and operators defined in [FandO].
Create a flat list of all the title-author pairs, for books on usability, with each pair enclosed in a result element.
This query finds a word in an element and returns it and a different element wrapper in a new element.
Operands: "usability"
Functionality: word query, construction of new elements
Context: books/book/metadata/title
Return: books/book/metadata/title, books/book//author, results (constructed element)
Comments: This query requires looking for the word "usability" in the title of a book and building title-author pairs for those books.
Version: For consideration in v.1
Expected Result:
<result> <title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <author>Millicent Marigold</author> <author>Montana Marigold</author> </result> <result> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> </result>
Find all books with a chapter title on usability tests. Return it and the number of steps in chapters.
This query finds a set of words in an element using stemming and returns the number of specified elements.
Operands: "usability" "test"
Functionality: word queries, stemming, fn:count()
Context: books/book/content/part/chapter/title
Return: books/book/metadata/title, books/book/content/part/chapter/title, books/book/content/part/chapter//step, number-of-steps (constructed element) which satisfy the query
Comments: This query requires looking for the word "usability" and stemmed forms of the word "test" in the title of book chapters and returning chapter titles along with their number of steps. The query returns a number of steps equal to 0 if the chapter is on usability testing but does not specify any steps.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <title>Usability Testing</title> <number-of-steps>0</number-of-steps> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <title>Planning then Conducting Usability Tests</title> <number-of-steps>7</number-of-steps> <title>Conducting Usability Tests</title> <number-of-steps>0</number-of-steps>
For each book with "usability" in the book title, return the book title and authors, if it has authors, or return the book title and publishers, if it has no authors.
This query finds a word in an element and contains a conditional return.
Operands: "usability"
Functionality: word query, conditional query
Context: books/book/metadata/title
Return: books/book/metadata/title, books/book/metadata//author, books/book/metadata//publisher
Comments: This query requires looking for the word "usability" in the title of a book and returning title-author pairs for those books when there are authors. If there are no authors, it returns publishers.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <author>Millicent Marigold</author> <author>Montana Marigold</author> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <publisher>Ersatz Publications</publisher> <publisher>Electronic BookWorks</publisher>
For each book with "usability" in the book title, return its book title and the round number of its suggested price if the price exceeds $25.
This query finds a word in an element and contains a conditional return based on a function on a numeric value.
Operands: "usability"
Functionality: word query, fn:round(), numeric value comparison
Context: books/book/metadata/title, books/book/metadata/price
Return: books/book/metadata/title, books/book/metadata/price
Comments: This query finds the word "usability" in the title of a book and returns the round number of its price if the price exceeds a specified value.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <price>26</price> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <price>174</price>
Find introductions in books, which were published in New York, which include listings for résumés, drafts, and correspondence.
This query finds words in an element and combines the result with a character string query on a different element.
Operands: "résumés" "drafts" "correspondence" character string "New York"
Functionality: word query, and
query, fn:contains
Context: books//introduction, books//publicationInfo/place
Return: books/book/metadata/title, books//introduction
Comments: This query combines full-text and character string queries. It uses "fn:contains", but other character string functions could have been used.
Version: For consideration in v.1
Expected Result:
<title>John Wesley Usabilityguy: A Register of His Papers</title> <introduction> <p>The papers of John Wesley Usabilityguy span the years 1946-1999, with the bulk of the items concentrated in the period from 1985 to 1999. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> </introduction>
For each book on "usability", return its book title and a new element called has-publisher with value true
if the book has publishers, return its title and a new element called has-publisher with value false
if the book does not have publishers.
This query finds a word in an element and return Boolean values.
Operands: "usability"
Functionality: word query, construction of new Boolean values, construction of new element, op:boolean-equal
Context: books/book//title
Return: books/book//title, has-publisher (constructed element)
Comments: This query requires looking for the word "usability" in the title of a book and returning Boolean values showing whether the book has a publisher or not.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <has-publisher>false</has-publisher> <title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <has-publisher>true</has-publisher>
Find books about conducting usability tests which have more than one author and are published after 2000.
This query finds a phrase in multiple elements, counts the number of instances of another element, runs a greater than comparison on a date element, and combines the results.
Operands: "usability testing", "2000"
Functionality: phrase query, character wildcard (suffix), fn:count, op:numeric-greater-than, op:date-greater-than
Context: books//subject, books//author, books//publicationInfo/dateIssued|dateRevised
Return: books/book/metadata/title, books//author, books//subject which satisfy query
Comments: This is a full-text query on the phrase "usability testing" using a wildcard on the word "test", restricted to the subjects element. The query also counts the number of author elements, runs a greater than comparison on dates, and combines the results.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through
Expert Reviews and Usability Testing</title>
<author>Millicent Marigold</author>
<author>Morley Marigold</author>
<subject>Usability testing</subject>
The use cases illustrate a multi-lingual query and queries which use multiple full-text functionalities, full-text functionalities and other XQuery functionalities, and multiple XPath statements.
Find all books with the subject "网站可用性", with an introduction written by Elina Rose, which mention the name of the usability expert, Millicent Marigold.
This query finds a phrase and words entered in more than one language.
Operands: "网站可用性" "Elina" "Rose" "Millicent" "Marigold"
Functionality: phrase query, word queries, unordered proximity queries (0 to 3 intervening words), capacity to enter, query, and return multiple languages
Context: books//subject, books/book/content/introduction/author, books//content
Return: books/book/metadata/title, books//subject, books/book/content/introduction/author, books//content
Comments: This query accepts multiple languages as input and returns multiple languages as output.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <subject>网站可用性</subject> <author>Elina Rose</author> <content> ... <p>The most successful projects employ multiple methods in multiple iterations. As Millicent Marigold remarked during a recent conference, "Don't stop. Iterate, iterate, then iterate again."</p> ... </content>
Find all paragraphs in books which discuss the role of task performance in expert review methods.
This query finds multiple words close to each other together with a phrase in one instance of a paragraph.
Operands: "task" "performance" "expert review"
Functionality: word queries, stemming, phrase query, unordered proximity (0 to 3 intervening words between "task" and "performance"), all within one instance of an p element.
Context: books/book/content//p
Return: books/book/metadata/title, books/book/content//p
Comments: This query combines functionalities introduced in previous sections.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>Expert reviewers evaluate Web site understandability and ease of learning while performing specified tasks. They walk through the site answering questions such as "Would a user know by looking at the screen how to complete the first step of the task?" and "If the user completed the first step, would the user know what to do next?," with the goal of identifying any obstacles to completing the task and assessing whether the user would cognitively be aware that he was successful in completing a step in the process.</p> ... </content>
Find all books on usability testing which quote Millicent Marigold on the value of multiple iterations.
This query finds multiple words, allowing a specified number of intervening words in any order, then finds those words and a phrase, allowing a specified number of words between the words and the phrase in any order. It uses wildcards, thesaurus support, and stemming.
Operands: "usability testing" "quote" "millicent" "marigold" "iterations"
Functionality: phrase query, character wildcard (suffix), word queries, thesaurus support, stemming, ordered proximity (0 to 3 intervening words between "millicent" and "marigold"), unordered proximity (0 to 3 intervening words between ("millicent ... marigold" and ("quote" or said or says or stated or states or statement or spoke or speaks or replied or replies or reply or remarks or remarked or responded or response or reports or reported or quote or quoted or according or commented or discussed or expressed or told), unordered proximity (0 to 30 intervening words between ("millicent ... marigold" ... ("quote" or said or says or stated or states or statement or spoke or speaks or replied or replies or reply or remarks or remarked or responded or response or reports or reported or quote or quoted or according or commented or discussed or expressed or told) and "usability testing" and "iterations").
Context: books//content
Return: books/book/metadata/title, books//content
Comments: This query combines functionalities introduced in previous sections.
Version: For consideration after v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <content> ... <p>Expert reviews and usability testing are methods of identifying problems in layout, terminology, and navigation before they frustrate users and drive them away from your site.</p> <p>The most successful projects employ multiple methods in multiple iterations. As Millicent Marigold remarked during a recent conference, "Don't stop. Iterate, iterate, then iterate again."</p> ... </content>
Find advice on whether an observer in a usability test should correct or help the user in a book co-authored by Montana Marigold.
This query finds words in close proximity to each other, those words in close proximity to one of four other words, finds both of those near a phrase, ignoring the tags and content of a descendant element.
Operands: "usability testing" "correct" "guidance" "assistance" "help" "montana" "marigold"
Functionality: phrase query, word queries, character wildcard (suffix), or
query ("correct" "guidance" "assistance" "help"),
unordered proximity query (0 to 10 intervening words between "usability testing" and ("correct"
or "guidance" or "assistance" or "help"), proximity query (0 to 3 intervening words between
"montana" and "marigold"), proximity query (0 to 50 intervening words between the results of those proximity queries. Ignores interveing tags and content.
Context: books//subject, books//content, books//author
Return: books/book/metadata/title, books//author, books//content
Comments: This query combines functionalities introduced in previous sections.
Version: For consideration in v.1
Expected Result:
<title>Usability Basics: How to Plan for and Conduct Usability Tests on Web Site Thereby Improving the Usability of Your Web Site</title> <author>Montana Marigold</author> <content> ... <p>Give the user the script, then assure them that you are testing the Web site, not them. Users are asked to verbalize their thoughts as they complete the tasks. The event is recorded or an observer takes notes. <footnote> Usability testing can be done at great expense or on a shoe string, using in-house expertise or contracting with human computer interaction professionals. </footnote> Testers should offer no guidance or comments to the user. Mouse movements, typing, expressions, and the user's words should be recorded.</p> ... </content>
For each book with a title containing the word "usability", with a book introduction containing the word "satisfaction", and a part introduction containing the phrase "identify problems", return the book title and the authors if it has authors, or return the book title and publisher, if it has no authors, then return the content surrounding the found words..
This query finds words and a phrase in different elements, then finds a descendant of the first element and it contains a conditional return.
Operands: "usability" "satisfaction" "identify problems"
Functionality: word queries, phrase query, conditional query
Context: books/book/metadata/title, books/book/content//introduction, books/book/content/part//introduction
Return: books/book/metadata/title, books/book/metadata//author, books/book/metadata//publisher, books/book/content//introduction, books/book/content/part//introduction
Comments: This query combines functionalities introduced in previous sections.
Version: For consideration in v.1
Expected Result:
<title>Improving the Usability of a Web Site Through Expert Reviews and Usability Testing</title> <author>Millicent Marigold</author> <author>Montana Marigold</author> <introduction> ... <p>The usability of a Web site is how well the site supports the user in achieving specified goals. A Web site should facilitate learning, and enable efficient and effective task completion, while propagating few errors. Satisfaction with the site is also important. The user must not only be well-served, but must feel well-served.</p> ... </introduction> ... <part> <introduction> <p>Expert reviewers identify problems and recommend changes to web sites based on research in human computer interaction and their experience in the field.</p> ... </introduction> ... </part>
Find introductions in books, which were published in New York after 2000 and have more than one author, which include listings for résumés, drafts, and correspondence.
This query finds words in an element and combines the result with a character string query on a different element, counts the number of another element, runs a greater than comparison on a date element, and combines the results.
Operands: "résumés", "drafts", "correspondence", character string "New York", "2000"
Functionality: word query, and
query, fn:contains, fn:count, op:numeric-greater-than, op:date-greater-than
Context: books//introduction, books//publicationInfo/place, books/book//author, books//publicationInfo/dateIssued|dateRevised
Return: books/book/metadata/title, books/book//author, books//introduction
Comments: This query combines full-text and character string queries, node and date queries.
Version: For consideration in v.1
Expected Result:
<title>John Wesley Usabilityguy: A Register of His Papers</title> <author>Millicent Marigold</author> <author>Montana Marigold</author> <introduction> <p>The papers of John Wesley Usabilityguy span the years 1946-1999, with the bulk of the items concentrated in the period from 1985 to 1999. The papers feature his career as a developer of software applications and usability specialist. The collection consists of correspondence, memoranda, journals, speeches, article drafts, book drafts, notes, charts, graphs, family papers, clippings, printed matter, photographs, résumés and other materials.</p> </introduction>
The editors thank the members of the Full-Text Task Force of the XML Query and XSL Working Groups, which produced the material in this document. Special thanks to Steve Buxton for providing the schema.
The editors thank the following staff at the Library of Congress for providing and improving sample data and queries: Ardith Bausenbach, Caroline Arms, Marla Banks, Susan David, Ray Denenberg, Louis Drummond, Bohdan Kantor, Mary A. Lacy, Joe Pagano, Betsy Reifsnyder, Belinda D. Urquiza, and Anne Washington.
Thanks also to Bohdan Kantor, Foster Zhang, François Yergeau, and Michel Biezunski for assistance in translating the subjects into Chinese and French.
The editors also wish to thank the members of the W3C Internationalization Working Group for their assistance.
The following references are some of the works considered by the Working Groups in deriving its use cases.