Version: July 10, 2008
Copyright ©2008 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
<test>
Element<instructions>
Element<input>
Element<output>
Element
<item>
Element<lexicon>
ElementThe PLS 1.0 Specification entered the Candidate Recommendation period on December 12, 2007.
The planned date for entering Proposed Recommendation is July 15, 2008. Preparation of an Implementation Report is a key criteria for moving beyond the Candidate Recommendation. This document describes the requirements for the Implementation Report and the process that the Voice Browser Working Group will follow in preparing the report.
Note: This Implementation Report Plan was modified as follows:
During the CR period, the Working Group will carry out the following activities:
You are invited to contribute to the assessment of the W3C Pronunciation Lexicon Specification 1.0 Specification by participating in the Implementation Report process.
The VBWG established the following entrance criteria to Proposed Recommendation in the Request for CR:
pass
, fail
or not-impl
.Note: The testimonials with yellow background from "Acme Labs" and "Beta Inc." are just examples and will be replaced with the actually submitted testimonials.
The W3C PLS 1.0 Specification is well-written, easily implementable and extremely useful. Acme Labs used it to describe the recipe for Bagna Cáuda.
The W3C PLS 1.0 Specification is the best thing since sliced bread, extremely useful, easily implementable and well-written. Beta Inc. used it to build a new generation of interactive services, establish world peace, build a new chianti-spaghetti hybrid vehicle, and mix a perfect martini.
The following table lists the assertions that were gleaned from the Pronunciation Lexicon 1.0 Specification.
general
: syntactical tests;both
: functional tests in tts and asr context;tts
: functional tests in tts context only;asr
: functional tests in asr context only.ID | Spec | Conformace | Test Type | Category | Customize | Abstract | Results | ||
---|---|---|---|---|---|---|---|---|---|
Pass | Fail | N/I | |||||||
20 [txml,pls] | [2] | Required | Auto | General | No | Values for the alphabet attribute other than "ipa" or strings of the form "x-organization" or "x-organization-alphabet" are invalid. | 0 | 0 | 0 |
22 [txml,pls] | [2] | Required | Auto | General | No | For an alphabet value of "ipa", the PLS processor MUST support the Unicode representations of the phonetic characters developed by the International Phonetic Association [IPA]. Legal phonetic/phonemic values are strings of the values specified in Appendix 2 of [IPAHNDBK]. The processor MUST syntactically accept all legal values. | 0 | 0 | 0 |
23 [txml,pls] | [2] | Optional | Auto | Both TTS and ASR | Yes | For an alphabet value of "ipa", the processor SHOULD handle all Unicode IPA codes that can reasonably be considered to belong to the current language. | 0 | 0 | 0 |
79 [txml,pls] | [3] | Required | Auto | General | No | A legal Pronunciation Lexicon Specification document MUST have a legal XML Prolog from Section 2.8 of either XML 1.0 or XML 1.1. | 0 | 0 | 0 |
81 [txml,pls] | [3] | Required | Auto | General | No | The <lexicon> element MUST designate the PLS namespace by declaring an xmlns attribute or an attribute with an "xmlns" prefix. See Section 2 of Namespaces in XML (Namespaces in XML 1.0 [XML-NS10] or Namespaces in XML 1.1 [XML-NS11]) for details. | 0 | 0 | 0 |
83 [txml,pls] | [3] | Optional | Auto | General | No | It is RECOMMENDED that the <lexicon> element also indicate the location of the PLS schema (see Appendix A) via the xsi:schemaLocation attribute from Section 2.6.3 of XML Schema Part 1: Structures Second Edition [XML-SCHEMA-1]. | 0 | 0 | 0 |
84 [txml,pls] | [3] | Required | Auto | General | No | The PLS namespace MAY be used with other XML namespaces as per the Namespaces in XML Recommendations (Namespaces in XML 1.0 [XML-NS10] or Namespaces in XML 1.1 [XML-NS11]). | 0 | 0 | 0 |
89 [txml,pls] | [3] | Optional | Manual | General | Yes | A Conforming Pronunciation Lexicon Specification Processor SHOULD inform the hosting environment when it parses a Conforming Pronunciation Lexicon Specification Document whose xml:lang attribute (on the <lexicon> element) has a value representing a natural (human) language that the Processor does not support. | 0 | 0 | 0 |
90 [txml,pls] | [3] | Required | Manual | General | No | When a Conforming Pronunciation Lexicon Specification Processor encounters elements or attributes that are not declared in this specification and such elements or attributes occur where it is not forbidden in this specification, the processor MAY choose to: * ignore the non-standard elements and/or attributes * or, process the non-standard elements and/or attributes * or, reject the document containing those elements and/or attributes | 0 | 0 | 0 |
91 [txml,pls] | [3] | Required | Auto | General | No | A Conforming Pronunciation Lexicon Specification Processor MUST be able to parse and process Conforming Pronunciation Lexicon Specification documents. | 0 | 0 | 0 |
3 [txml,pls] | [4.1] | Required | Auto | General | No | All PLS markup MUST be associated with the PLS namespace. | 0 | 0 | 0 |
4 [txml,pls] | [4.1] | Required | Auto | General | No | <lexicon> element: The REQUIRED 'version' attribute. | 0 | 0 | 0 |
5 [txml,pls] | [4.1] | Required | Auto | General | No | The <lexicon> element MUST specify an 'alphabet' attribute. | 0 | 0 | 0 |
6 [txml,pls] | [4.1] | Required | Auto | General | No | <lexicon> element: The REQUIRED 'xml:lang' attribute. | 0 | 0 | 0 |
7 [txml,pls] | [4.1] | Required | Auto | General | No | <lexicon> element: The required 'version' attribute MUST have the value "1.0". | 0 | 0 | 0 |
8 [txml,pls] | [4.1] | Required | Auto | General | No | <lexicon> element: The values of the 'alphabet' attribute are described in Section 2. (Section 2) A valid value for the 'alphabet' attribute is "ipa". | 0 | 0 | 0 |
9 [txml,pls] | [4.1] | Required | Auto | General | No | A <lexicon> element MUST contain zero or more <meta> elements, followed by an OPTIONAL <metadata> element, followed by zero or more <lexeme> elements. Thus: * <meta>, if present, must be a sub-element of <lexicon> | 0 | 0 | 0 |
49 [txml,pls] | [4.1] | Required | Auto | General | No | IETF Best Current Practice 47 [BCP47] is the normative reference on the values of the xml:lang attribute. | 0 | 0 | 0 |
50 [txml,pls] | [4.1] | Required | Auto | General | Yes | PLS documents MAY include the "xml:base" attribute as defined in [XML-BASE]. | 0 | 0 | 0 |
53 [txml,pls] | [4.1] | Required | Auto | General | No | The root element of the Pronunciation Lexicon markup language is the <lexicon> element. | 0 | 0 | 0 |
54 [txml,pls] | [4.1] | Required | Auto | Both TTS and ASR | Yes | The default pronunciation alphabet MAY be overridden for a given lexeme using the <phoneme> element. | 0 | 0 | 0 |
61 [txml,pls] | [4.1] | Required | Auto | General | Yes | <lexicon> element: The values of the 'alphabet' attribute are described in Section 2. (Section 2) A valid value for the 'alphabet' attribute are vendor-defined strings of the form "x-organization" or "x-organization-alphabet". | 0 | 0 | 0 |
70 [txml,pls] | [4.1] | Required | Auto | General | No | A <lexicon> element MUST contain zero or more <meta> elements, followed by an OPTIONAL <metadata> element, followed by zero or more <lexeme> elements. Thus: * <meta>, if present, must be before <metadata> | 0 | 0 | 0 |
71 [txml,pls] | [4.1] | Required | Auto | General | No | A <lexicon> element MUST contain zero or more <meta> elements, followed by an OPTIONAL <metadata> element, followed by zero or more <lexeme> elements. Thus: * <meta>, if present, must be before <lexeme> | 0 | 0 | 0 |
72 [txml,pls] | [4.1] | Required | Auto | General | No | A <lexicon> element MUST contain zero or more <meta> elements, followed by an OPTIONAL <metadata> element, followed by zero or more <lexeme> elements. Thus: * <metadata>, if present, must be a sub-element of <lexicon> | 0 | 0 | 0 |
73 [txml,pls] | [4.1] | Required | Auto | General | No | A <lexicon> element MUST contain zero or more <meta> elements, followed by an OPTIONAL <metadata> element, followed by zero or more <lexeme> elements. Thus: * <metadata>, if present, must be before <lexeme> | 0 | 0 | 0 |
74 [txml,pls] | [4.1] | Required | Auto | General | No | A <lexicon> element MUST contain zero or more <meta> elements, followed by an OPTIONAL <metadata> element, followed by zero or more <lexeme> elements. Thus: * <metadata> may occur only once | 0 | 0 | 0 |
75 [txml,pls] | [4.1] | Required | Auto | General | No | A <lexicon> element MUST contain zero or more <meta> elements, followed by an OPTIONAL <metadata> element, followed by zero or more <lexeme> elements. Thus: * <lexeme>, if present, must be a sub-element of <lexicon> | 0 | 0 | 0 |
77 [txml,pls] | [4.1] | Required | Auto | General | No | A <lexicon> element MUST contain zero or more <meta> elements, followed by an OPTIONAL <metadata> element, followed by zero or more <lexeme> elements. Thus: * <lexicon> may contain zero <lexeme> elements. | 0 | 0 | 0 |
10 [txml,pls] | [4.2] | Required | Auto | General | No | <meta> element: Either a 'name' or 'http-equiv' attribute is REQUIRED. It is an error to provide both 'name' and 'http-equiv' attributes. | 0 | 0 | 0 |
11 [txml,pls] | [4.2] | Required | Auto | General | No | <meta> element: A 'content' attribute is also REQUIRED. | 0 | 0 | 0 |
24 [txml,pls] | [4.2] | Required | Auto | General | No | http-equiv attribute: Although the preferred method of providing HTTP header information is that of using HTTP header fields, the http-equiv content MAY be used in situations where the PLS document author is unable to configure HTTP header fields associated with their document on the origin server, for example, cache control information. | 0 | 0 | 0 |
27 [txml,pls] | [4.2] | Required | Auto | General | No | The only <meta> property defined by this specification is "seeAlso". It is used to specify a resource that might provide additional metadata information about the content. This property is modeled on the "seeAlso" property of "RDF Vocabulary Description Language 1.0: RDF Schema" [RDF-SCHEMA], section 5.4.1. | 0 | 0 | 0 |
32 [txml,pls] | [4.3] | Required | Auto | General | No | The <metadata> element is a container in which information about the document can be placed using metadata markup. The behavior of software processing the content of a <metadata> element is not described in this specification. Therefore, software implementing this specification is free to ignore that content. Although any metadata markup can be used within <metadata>, it is RECOMMENDED that the RDF/XML Syntax [RDF-XMLSYNTAX] be used, in conjunction with the general metadata properties defined by the Dublin Core Metadata Initiative [DC] (e.g., Title, Creator, Subject, Description, Rights, etc.) | 0 | 0 | 0 |
12 [txml,pls] | [4.4] | Required | Auto | General | No | The <lexeme> element has an OPTIONAL 'xml:id' attribute. Thus: * the value of 'xml:id' attribute, if present, must be unique to the document | 0 | 0 | 0 |
13 [txml,pls] | [4.4] | Required | Auto | General | No | The <lexeme> element has an OPTIONAL 'role' attribute which takes as its value one or more white-space separated QNAMEs Thus: * a namespace, if present, in a QNAME of the 'role' attribute value must be a declared namespace. | 0 | 0 | 0 |
14 [txml,pls] | [4.4] | Required | Auto | General | No | The <lexeme> element contains one or more pronunciations (either by <phoneme> or <alias> elements or a combination of both). Thus: * <lexeme> must contain at least one <phoneme> or <alias> | 0 | 0 | 0 |
66 [txml,pls] | [4.4] | Required | Auto | General | No | The <lexeme> element contains one or more <grapheme> elements. Thus: * <grapheme> must be a sub-element of <lexeme> | 0 | 0 | 0 |
67 [txml,pls] | [4.4] | Required | Auto | General | No | The <lexeme> element contains one or more pronunciations (either by <phoneme> or <alias> elements or a combination of both). Thus: * <phoneme>, if present, must be a sub-element of <lexeme> | 0 | 0 | 0 |
68 [txml,pls] | [4.4] | Required | Auto | General | No | The <lexeme> element contains one or more pronunciations (either by <phoneme> or <alias> elements or a combination of both). Thus: * <alias>, if present, must be a sub-element of <lexeme> | 0 | 0 | 0 |
69 [txml,pls] | [4.4] | Required | Auto | General | No | The <lexeme> element contains zero or more <example> elements. Thus: * <example>, if present, must be a sub-element of <lexeme> | 0 | 0 | 0 |
78 [txml,pls] | [4.4] | Required | Auto | General | No | The children of the <lexeme> element may appear in any order. | 0 | 0 | 0 |
28 [txml,pls] | [4.5] | Required | Auto | General | No | A <lexeme> contains at least one <grapheme> element. | 0 | 0 | 0 |
30 [txml,pls] | [4.5] | Required | Auto | General | No | The <grapheme> element MUST contain 'character' child information items. | 0 | 0 | 0 |
31 [txml,pls] | [4.5] | Required | Auto | Both TTS and ASR | No | The <lexeme> element MAY contain more than one <grapheme> element to define the base orthography and any variants. Note that all the pronunciations given within the <lexeme> apply to each and every <grapheme> within the <lexeme>. | 0 | 0 | 0 |
47 [txml,pls] | [4.5] | Required | Auto | General | No | The <grapheme> element MUST NOT contain 'element' child information items from any namespace, i.e. PLS or foreign namespace. | 0 | 0 | 0 |
15 [txml,pls] | [4.6] | Required | Auto | General | No | <phoneme> element: The legal values for the 'alphabet' attribute are described in Section 2. (Section 2) A valid values for the 'alphabet' attribute is "ipa". | 0 | 0 | 0 |
16 [txml,pls] | [4.6] | Required | Auto | General | No | <phoneme> element, optional 'prefer' attribute: The possible values are: "true" or "false". | 0 | 0 | 0 |
33 [txml,pls] | [4.6] | Required | Auto | General | No | A <lexeme> MAY contain one or more <phoneme> elements. | 0 | 0 | 0 |
34 [txml,pls] | [4.6] | Required | Auto | General | No | The <phoneme> element MUST contain 'character' child information items. | 0 | 0 | 0 |
35 [txml,pls] | [4.6] | Required | Auto | General | No | The <phoneme> element MUST NOT contain 'element' child information items from any namespace, i.e. PLS or foreign namespace. | 0 | 0 | 0 |
36 [txml,pls] | [4.6] | Required | Auto | General | No | A <phoneme> element MAY have an alphabet attribute. | 0 | 0 | 0 |
37 [txml,pls] | [4.6] | Required | Auto | Both TTS and ASR | Yes | The pronunciation alphabet specified in the alphabet attribute in a <phoneme> element, it is used for this <phoneme> element only. | 0 | 0 | 0 |
38 [txml,pls] | [4.6] | Required | Auto | TTS | No | <phoneme> element, optional 'prefer' attribute: The default value is "false". | 0 | 0 | 0 |
39 [txml,pls] | [4.6] | Required | Auto | TTS | No | The prefer mechanism spans both the <phoneme> and <alias> elements; | 0 | 0 | 0 |
57 [txml,pls] | [4.6] | Required | Auto | TTS | No | <phoneme> element, optional 'prefer' attribute: It indicates the pronunciation that MUST be used by a speech synthesis engine when it is set to "true". | 0 | 0 | 0 |
76 [txml,pls] | [4.6] | Required | Auto | General | Yes | <phoneme> element: The values of the 'alphabet' attribute are described in Section 2. (Section 2) A valid value for the 'alphabet' attribute are vendor-defined strings of the form "x-organization" or "x-organization-alphabet". | 0 | 0 | 0 |
17 [txml,pls] | [4.7] | Required | Auto | General | No | The <alias> element has an OPTIONAL prefer attribute analogous to the prefer attribute for the <phoneme> element; see section 4.6. (Section 4.6) The possible values are: "true" or "false". | 0 | 0 | 0 |
40 [txml,pls] | [4.7] | Required | Auto | General | No | A <lexeme> element MAY contain one or more <alias> elements. | 0 | 0 | 0 |
41 [txml,pls] | [4.7] | Required | Auto | General | No | The <alias> element MUST contain 'character' child information items. | 0 | 0 | 0 |
42 [txml,pls] | [4.7] | Required | Auto | General | No | The <alias> element MUST NOT contain 'element' child information items from any namespace, i.e. PLS or foreign namespace. | 0 | 0 | 0 |
43 [txml,pls] | [4.7] | Required | Auto | General | No | In a <lexeme> element, both <alias> elements and <phoneme> elements MAY be present. | 0 | 0 | 0 |
45 [txml,pls] | [4.7] | Required | Auto | TTS | No | <alias> element, optional prefer attribute: The default value is "false". | 0 | 0 | 0 |
46 [txml,pls] | [4.7] | Required | Auto | Both TTS and ASR | No | Pronunciations of <alias> element contents MUST be generated by the processor using pronunciations described by the <phoneme> element of any constituent graphemes in the PLS document and without invoking recursive access to the PLS document on the <alias> elements of any constituent graphemes. | 0 | 0 | 0 |
56 [txml,pls] | [4.7] | Required | Manual | Both TTS and ASR | No | The processor SHOULD determine the pronunciations of the remaining <alias> element contents by the same process that it determines the pronunciation of out-of-lexicon graphemes. | 0 | 0 | 0 |
59 [txml,pls] | [4.7] | Required | Auto | TTS | No | <alias> element, optional 'prefer' attribute: It indicates the pronunciation that MUST be used by a speech synthesis engine when it is set to "true". | 0 | 0 | 0 |
51 [txml,pls] | [4.8] | Required | Auto | General | No | The <example> element MUST contain 'character' child information items. | 0 | 0 | 0 |
52 [txml,pls] | [4.8] | Required | Auto | General | No | The <example> element MUST NOT contain 'element' child information items from any namespace, i.e. PLS or foreign namespace. | 0 | 0 | 0 |
55 [txml,pls] | [4.8] | Required | Auto | General | No | Zero, one or many <example> elements MAY be provided for a single <lexeme> element. | 0 | 0 | 0 |
25 [txml,pls] | [4.9.1] | Required | Auto | ASR | No | If more than one pronunciation for a given <lexeme> is specified (either by <phoneme> elements or <alias> elements or a combination of both), an ASR processor MUST consider each of them as valid pronunciations for the <grapheme>. | 0 | 0 | 0 |
26 [txml,pls] | [4.9.1] | Required | Auto | ASR | No | If more than one <lexeme> contains the same <grapheme>, all relevant pronunciations will be collected in document order and an ASR processor MUST consider all of them as valid pronunciations for the <grapheme>. Case without role attribute. | 0 | 0 | 0 |
92 [txml,pls] | [4.9.1] | Required | Auto | ASR | No | If more than one <lexeme> contains the same <grapheme>, all relevant pronunciations will be collected in document order and an ASR processor MUST consider all of them as valid pronunciations for the <grapheme>. Case with role attribute. | 0 | 0 | 0 |
62 [txml,pls] | [4.9.2] | Required | Auto | TTS | No | If more than one pronunciation for a given <lexeme> is specified (either by <phoneme> elements or <alias> elements or a combination of both), a TTS processor MUST use the first one in document order that has the prefer attribute set to "true". | 0 | 0 | 0 |
63 [txml,pls] | [4.9.2] | Required | Auto | TTS | Yes | If more than one pronunciation for a given <lexeme> is specified (either by <phoneme> elements or <alias> elements or a combination of both) and none of the pronunciations has prefer set to "true", the TTS processor MUST use the first one in document order unless the TTS processor is documented as having a method of selecting pronunciations, in which case the processor MUST use any one of the pronunciations. | 0 | 0 | 0 |
64 [txml,pls] | [4.9.2] | Required | Auto | TTS | No | If more than one <lexeme> contains the same <grapheme>, all relevant pronunciations (see discussion in Section 4.4 regarding the selection of relevant pronunciations using the role attribute) will be collected in document order; if at least one of the relevant pronunciations has the prefer attribute set to "true", a TTS processor MUST use the first one in document order that has the prefer attribute set to "true". Case without role attribute. | 0 | 0 | 0 |
65 [txml,pls] | [4.9.2] | Required | Auto | TTS | Yes | If more than one <lexeme> contains the same <grapheme>, all relevant pronunciations (see discussion in Section 4.4 regarding the selection of relevant pronunciations using the role attribute) will be collected in document order; if none of the relevant pronunciations has prefer set to "true", the TTS processor MUST use the first one in document order unless the TTS processor is documented as having a method of selecting pronunciations, in which case the processor MUST use any one of the relevant pronunciations. Case without role attribute. | 0 | 0 | 0 |
93 [txml,pls] | [4.9.2] | Required | Auto | TTS | No | If more than one <lexeme> contains the same <grapheme>, all relevant pronunciations (see discussion in Section 4.4 regarding the selection of relevant pronunciations using the role attribute) will be collected in document order; if at least one of the relevant pronunciations has the prefer attribute set to "true", a TTS processor MUST use the first one in document order that has the prefer attribute set to "true". Case with role attribute. | 0 | 0 | 0 |
94 [txml,pls] | [4.9.2] | Required | Auto | TTS | Yes | If more than one <lexeme> contains the same <grapheme>, all relevant pronunciations (see discussion in Section 4.4 regarding the selection of relevant pronunciations using the role attribute) will be collected in document order; if none of the relevant pronunciations has prefer set to "true", the TTS processor MUST use the first one in document order unless the TTS processor is documented as having a method of selecting pronunciations, in which case the processor MUST use any one of the relevant pronunciations. Case with role attribute. | 0 | 0 | 0 |
This appendix describes a framework for authoring PLS tests.
The framework allows specifying the expected behavior of a test in a formal manner, enabling automation of testing. It provides the way to represent test input and excepted output as well as the possibility to specify instructions to execute the test. This knowledge is contained in a separated file that refers to the actual PLS test files.
In the following a description of the language elements, the related XML schema and an example of use are given.
<test>
ElementThe root element of the PLS conformance language is the <test>
element. A
<test>
element contains an ordered sequence of elements consisting of an
OPTIONAL <instructions>
element, followed by
zero or more OPTIONAL ordered sequences of
input/output data, followed by a REQUIRED
<lexicon>
element.
The namespace URI for PLS conformance is "http://www.w3.org/2007/01/pls-conformance"
. All PLS conformance markup
MUST be associated with the PLS conformance namespace.
<instructions>
ElementThe <instructions>
element
SHOULD be specified for tests that may be
customized. The <instructions>
element contains
text that informs testers what may be modified in the test.
Input/Output data SHOULD be specified in the test of an assertion
that is categorized as applying to either tts
, asr
or both
. Input/Output data is specified by an ordered sequence of
elements consisting of a REQUIRED
<input>
element, followed by one or two REQUIRED
<output>
elements. Note that a test contains zero or more such sequences.
<input>
ElementThe <input>
element contains the orthography of the input to the PLS processor.
The <input>
element
MAY have a role
attribute (see Section 4.4 of the Pronunciation Lexicon Specification)
that is to be used by a PLS processor when
selecting the most relevant pronunciations. The role
attribute takes
as its value one or more white-space separated QNames.
<output>
ElementThe <output>
element MUST
have a category
attribute. Possible values
are "tts"
for output expected in a TTS context
and "asr"
for output expected in an ASR context. If an
input/output data sequence contains two
<output>
elements then the
value of the category
attribute MUST be unique to each of the elements. An
assertion that is categorized as applying to "both"
contexts SHOULD
have two <output>
elements in the input/output
data.
The <output>
element MUST
contain one or more <item>
elements. When the
value of the category
attribute is tts
,
any one <item>
element describes
a valid output of a compliant PLS processor in a TTS context. When the
value of the category
attribute is asr
, the
output of a compliant PLS processor in an ASR context is expected to
exactly match that described by the complete set
of <item>
elements. Note that
the order of the <item>
elements has no significance.
<item>
ElementThe <item>
element
contains a choice of one or more
<outalias>
and <outphoneme>
elements. The
order of these elements is significant as it is the order of the reading of
the input orthography or of the content of an
<alias> element.
<outalias>
Element
The <outalias>
contains the
pronunciation obtained from (or partially from) an <alias> element in a PLS document.
<outphoneme>
Element
The <outphoneme>
element MUST
have an alphabet
attribute. Possible values are described
in Section 2 of Pronunciation Lexicon Specification.
The <outphoneme>
element contains the pronunciation obtained from a <phoneme>
element in a PLS document.
<lexicon>
ElementThe <lexicon>
element
MUST have a uri
attribute specifying
the URI that identifies the location of a PLS document with media type
application/pls+xml
.
The REQUIRED
conformant
attribute
indicates whether or not the referenced PLS document is a conformant PLS
document. Possible values are true
for a conformant document
or false
for a non-conformant document. Note that it is
inappropriate to specify input/output data in a
test that references a non-conformant PLS document.
The following XML Schema defines the PLS conformance language.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pc="http://www.w3.org/2007/01/pls-conformance" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" targetNamespace="http://www.w3.org/2007/01/pls-conformance" elementFormDefault="qualified" version="1.0"> <xs:import namespace="http://www.w3.org/2005/01/pronunciation-lexicon" schemaLocation="http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"/> <xs:attribute name="category"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="tts"/> <xs:enumeration value="asr"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:element name="instructions" type="xs:string"> <xs:annotation> <xs:documentation> Instruction for a test that may be customized </xs:documentation> </xs:annotation> </xs:element> <xs:element name="input"> <xs:annotation> <xs:documentation>Input grapheme</xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:attribute name="role" type="pls:role.datatype" use="optional"/> </xs:complexType> </xs:element> <xs:element name="output"> <xs:annotation> <xs:documentation>Output required from PLS processor</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence maxOccurs="unbounded"> <xs:element name="item"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="outphoneme"> <xs:annotation> <xs:documentation>pronunciation</xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:attribute name="alphabet" type="pls:alphabet.datatype" use="required"/> </xs:complexType> </xs:element> <xs:element name="outalias" type="xs:string"> <xs:annotation> <xs:documentation>text</xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute ref="pc:category" use="required"/> </xs:complexType> </xs:element> <xs:element name="test"> <xs:annotation> <xs:documentation>PLS conformance test</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element ref="pc:instructions" minOccurs="0"/> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element ref="pc:input"/> <xs:element ref="pc:output" maxOccurs="2"/> </xs:sequence> <xs:element name="lexicon"> <xs:annotation> <xs:documentation>PLS lexicon resource</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="uri" type="xs:anyURI" use="required"/> <xs:attribute name="conformant" type="xs:boolean" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> |
The following examples illustrate the use of the PLS 1.0 conformance language. Each example is made up of the conformant language document (.txml) and the related PLS test document (.pls).
The following example describes the expected pronunciation of the word theater both in tts and asr contexts.
Given that pronunciation is expressed by the phoneme
element in the PLS document (see next), the outphoneme
element is used.
The category
attribute is used to represent each context.
<?xml version="1.0" encoding="utf-8"?> <conf:test xmlns:conf="http://www.w3.org/2007/01/pls-conformance" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2007/01/pls-conformance http://www.w3.org/Voice/2007/pls-irp/pls-conformance.xsd"> <conf:input>theater</conf:input> <conf:output conf:category="tts"> <conf:item> <conf:outphoneme alphabet="ipa">ˈθɪətər</conf:outphoneme> </conf:item> </conf:output> <conf:output conf:category="asr"> <conf:item> <conf:outphoneme alphabet="ipa">ˈθɪətər</conf:outphoneme> </conf:item> <conf:item> <conf:outphoneme alphabet="ipa">ˈθiːjətər</conf:outphoneme> </conf:item> </conf:output> <conf:lexicon uri="example1.pls" conformant="true"/> </conf:test> |
Here is the PLS document that defines the pronunciation for the word theater.
<?xml version="1.0" encoding="utf-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en"> <lexeme> <grapheme>theater</grapheme> <phoneme prefer="true">ˈθɪətər</phoneme> <phoneme>ˈθiːjətər</phoneme> </lexeme> </lexicon> |
The following example describes the expected pronunciation of the word GNU both in tts and asr contexts.
Given that pronunciation is expressed in terms of alias
and phoneme
elements in the PLS document (see next), the outalias
and outphone
elements are used.
The category
attribute is used to represent each context.
<?xml version="1.0" encoding="utf-8"?> <conf:test xmlns:conf="http://www.w3.org/2007/01/pls-conformance" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2007/01/pls-conformance http://www.w3.org/Voice/2007/pls-irp/pls-conformance.xsd"> <conf:input>GNU</conf:input> <conf:output conf:category="tts"> <conf:item> <conf:outalias>GNU is Not </conf:outalias> <conf:outphoneme alphabet="ipa">ˈjuːnɪks</conf:outphoneme> </conf:item> </conf:output> <conf:output conf:category="asr"> <conf:item> <conf:outalias>GNU is Not </conf:outalias> <conf:outphoneme alphabet="ipa">ˈjuːnɪks</conf:outphoneme> </conf:item> </conf:output> <conf:lexicon uri="example2.pls" conformant="true"/> </conf:test> |
Here is the PLS document that defines the pronunciation for the word GNU.
<?xml version="1.0" encoding="utf-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en"> <lexeme> <grapheme>GNU</grapheme> <alias>GNU is Not Unix</alias> </lexeme> <lexeme> <grapheme>Unix</grapheme> <alias>a multiplexed information and computing service</alias> <phoneme>ˈjuːnɪks</phoneme> </lexeme> </lexicon> |
The following example sets the conformant
attribute to false
to refer to a non-conformant test.
<?xml version="1.0" encoding="utf-8"?> <conf:test xmlns:conf="http://www.w3.org/2007/01/pls-conformance" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2007/01/pls-conformance http://www.w3.org/Voice/2007/pls-irp/pls-conformance.xsd"> <conf:lexicon uri="example3.pls" conformant="false"/> </conf:test> |
Here is an example of non-conformant PLS document: it doesn't contain any pronunciation.
<?xml version="1.0" encoding="utf-8"??> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en"> <lexeme> <grapheme>theater</grapheme> </lexeme> </lexicon> |
The pls-ir-20080710.zip archive contains a number of resources. The PLS tests are ordered by test assertion id and are organized into folders where the folder name corresponds to the assertion id. In addition the archive includes the following:
manifest.xml
is a file containing the complete
information about test assertions written in the PLS
Implementation Report project. The structure of the Manifest
presents a root element called <tests>
; this is
the container of all the Test Assertions. Every Test Assertion is
represented by an <assertion>
element containing
CDATA that represents the description of the test assertion. At the
end of the file is the <contribs>
element; this
lists all the people who have contributed to the Implementation
Report preparation. The <assertion>
element must
contain a <start>
element that references the
main test file and may optionally contain several
<dep>
element that identify the other tests
useful to complete the test case. Here's the DTD for the
Manifest:
<!ELEMENT assertion (#PCDATA)> <!ATTLIST assertion id CDATA #REQUIRED spec CDATA #REQUIRED conformance (Required | Optional) #REQUIRED test-type (Manual | Auto) #REQUIRED category (General | Both | TTS | ASR) #REQUIRED customize (Yes | No) #REQUIRED > <!ELEMENT contrib EMPTY> <!ATTLIST contrib usr_fname CDATA #REQUIRED usr_lname CDATA #REQUIRED usr_comp_name CDATA #REQUIRED editor CDATA #IMPLIED > <!ELEMENT contribs (contrib+)> <!ELEMENT dep EMPTY> <!ATTLIST dep uri CDATA #REQUIRED type CDATA #REQUIRED > <!ELEMENT start EMPTY> <!ATTLIST start uri CDATA #REQUIRED type CDATA #REQUIRED > <!ELEMENT test (assertion, start, dep*)> <!ELEMENT tests (test+, contribs)> |
Test assertion typology is defined by several attributes on the
<assertion>
element. These attributes allow for
a more complete identification of the nature of the current
assertion and an idea of related tests structure.
Required
”,
“Optional
”Manual
, Auto
;General
, Both
, TTS
, ASR
;Yes
, No
;<start>
and <dep>
elements
are characterized by the following attributes:
For instance here’s a fragment of the
manifest.xml
document:
<tests> […] <test> <assertion id="8" spec="S4.1" conformance="Required" test-type="Auto" category="General" customize="No"> <![CDATA[ <lexicon> element: The values of the 'alphabet' attribute are described in Section 2. (Section 2) A valid value for the 'alphabet' attribute is "ipa". ]]> </assertion> <start uri="8/8.txml" type="text/xml"/> <dep uri="8/8.pls" type="application/pls+xml"/> <test> […] </tests> |
The <tests>
element contains the
<contribs>
element too: here you can find the
generalities of all the contributors that
have participated in the Implementation Report activity.
The template has to be filled by the company following the rules described in Section 3. An excerpt of the Template is shown below.
<system-report name="YOUR-SYSTEM-NAME-HERE"> <testimonial> YOUR-WELL-FORMED-TESTIMOMIAL-CONTENT-HERE</testimonial> <assert id="Id1" res="pass|fail|not-impl">OPTIONAL-NOTES-HERE</assert> [...] <assert id="Idn" res="pass|fail|not-impl">OPTIONAL-NOTES-HERE</assert> </system-report> |
pls-conformance.xsd
is a file containing the schema for PLS Conformace Language,
as described in the related section.
manifest.dtd
is a file containing the DTD for the manifest,
as described in the related section.
The archive also contains the present document.
The PLS 1.0 Implementation Report includes 78 assertions and corresponding tests. The Voice Browser Working Group would like to further acknowledge the contributions of several individuals for authoring and reviewing assertions and for reviewing tests: