<?xml version="1.0" encoding="us-ascii"?>
<?xml-stylesheet type="text/css" href="http://www.w3.org/MarkUp/Forms/Group/Test/xhtml2.css" ?>
<!DOCTYPE html [
	<!ATTLIST section id ID #IMPLIED>
	<!ATTLIST h       id ID #IMPLIED>
	<!ATTLIST div     id ID #IMPLIED>
	<!ATTLIST nl      id ID #IMPLIED>
]>
<html xmlns="http://www.w3.org/2002/06/xhtml2" lang="en">
<head>
	<title>Chapter 5: Datatypes</title>
</head>
<body>
<h>Chapter 5: Datatypes</h>

<section class="chapter" number="5">

<section class="preamble">
<p>A <emph>standard data type test</emph> of a data type D consists of:</p>
<ol>
	<li>Having an XForms document with:
		<ol>
			<li>a submission element and submission trigger.</li>
			<li>an input control bound to an instance node that 
				is declared by the XML schema to be of type D.</li>
			<li>the instance node containing initially valid data.</li>
			<li>the input control containing hint text suggesting an 
			invalid value to type.</li>
		</ol>
	</li>
	<li>Having the user type the invalid value then actuate the submit trigger.</li>
	<li>The test is passed if the user is not allowed to type the invalid data.</li>
	<li>If the user is allowed to type the invalid data, then have the user 
		actuate the submission triggger.</li>
	<li>The test is passed if the user is not allowed to submit the data.</li>
	<li>The test is failed if it is not passed according to the above.</li>
</ol>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#datatypes-schema">5.1 XForms Basic Built-in Types</h>
	<p class="MUST UA">
		XForms processors MUST support all XForms Basic built-in types 
		(primitive and derived, marked by asterisk)
	</p>
	<nl>
		<li href="">Standard data type test on XForms Basic built-in primitive types 
			(dateTime, time, date, gYearMonth, gYear, gMonthDay, gDay,
			gMonth, string, boolean, base64Binary, decimal, anURI)</li>
		<li href="">Standard data type test on XForms Basic built-in derived types 
			(integer, nonPositiveInteger, negativeInteger, long,
			int, short, byte, nonNegativeInteger, unsignedLong,
			unsignedInt, unsignedShort, unsignedByte, positiveInteger)</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#datatypes-schema">5.1 XForms Basic Processor Support of XForms Full Additional Built-in Types</h>
	<p class="MAY UA">
		XForms Basic processors MAY support additional XForms Full 
		built-in types (primitive and derived, without asterisk).
	</p>
	<p class="NOTE">This requirement is currently missing from the specification.</p>
	<nl>
		<li href="">Standard data type test on XForms Full built-in primitive types 
			(hexBinary, float, double, QName, NOTATION)</li>
		<li href="">Standard data type test on XForms Full built-in derived types 
			(normalizedString, token, language, Name, NCName, ID, IDREF,
			IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS)</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#datatypes-schema">5.1 XForms Full Processor Support of XForms Full Additional Built-in Types</h>
	<p class="MUST UA">
		XForms Full processors MUST support additional XForms Full 
		built-in types (primitive and derived, without asterisk).
	</p>
	<nl>
		<li href="">Standard data type test on XForms Full built-in primitive types 
			(hexBinary, float, double, QName, NOTATION)</li>
		<li href="">Standard data type test on XForms Full built-in derived types 
			(normalizedString, token, language, Name, NCName, ID, IDREF,
			IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS)</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#datatypes-schema">5.1 Derivation by Restriction</h>
	<p class="MUST UA">
		XForms processors MUST support derivation by restriction.
		(See <a href="http://www.w3.org/TR/xmlschema-2">XML Schema Part II</a>, 
		esp. Section 4.1.2.1)
	</p>
	<p class="NOTE">Includes full Unicode pattern support.</p>
	<nl>
		<li href="">Standard data type test on type derived by
			restriction from integer to be between 1 and 100.</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#datatypes-schema">5.1 Derivation by List</h>
	<p class="MUST UA">
		XForms processors MUST support derivation by list.
		(See <a href="http://www.w3.org/TR/xmlschema-2">XML Schema Part II</a>, 
		esp. Section 4.1.2.2)
	</p>
	<nl>
		<li href="">Standard data type test on type derived by
			list from integer with input control of select.</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#datatypes-schema">5.1 Derivation by Union</h>
	<p class="MUST UA">
		XForms processors MUST support derivation by union.
		(See <a href="http://www.w3.org/TR/xmlschema-2">XML Schema Part II</a>, 
		esp. Section 4.1.2.3)
	</p>
	<p class="NOTE">
		This assertion needs to be added to XForms Section 5.1.
		It is currently a requirement from Section 
		<a href="index-all.html#conform-desc-processors">12.2.1</a>.
	</p>
	<nl>
		<li href="">Standard data type test of a type
			derived by union of integer and a string
			restricted to two characters.</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#datatypes-schema">5.1 In-scope XForms Data Types</h>
	<p class="MUST UA">
		XForms processors MUST treat XForms data types as in-scope
		without requiring inclusion of XML Schema for XForms.
	</p>
	<nl>
		<li href="">Standard data type test on a data type that
			derives by restriction from xforms:monthYearDuration
			in a document that does not include XML Schema for XForms.
			Additionally, test that document does submit when
			valid data is entered.</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#datatypes-schema">5.1 Unrecognized Data Types</h>
	<p class="MUST UA">
		XForms Basic processors MUST treat unrecognized datatypes as xsd:string.
	</p>
	<nl>
		<li href="">Standard data type test on an unrecognized 
			type foo:bar, with behavior equivalent to xsd:string</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#dt-listItem">5.2.1 XForms listItem</h>
	<p class="MUST UA">
		XForms processors MUST support xforms:listItem as defined
		in the XForms Schema.
	</p>
	<nl>
		<li href="">Standard data type test on xforms:listItem</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#dt-listItems">5.2.2 XForms listItems</h>
	<p class="MUST UA">
		XForms processors MUST support xforms:listItems as defined
		in the XForms Schema.
	</p>
	<nl>
		<li href="">Standard data type test on xforms:listItems</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#dt-dayTimeDuration">5.2.3 XForms dayTimeDuration</h>
	<p class="MUST UA">
		XForms processors MUST support xforms:dayTimeDuration as defined
		in the XForms Schema.
	</p>
	<nl>
		<li href="">Standard data type test on xforms:dayTimeDuration</li>
	</nl>
</section>

<section class="assertion" xml:base="http://www.w3.org/MarkUp/Forms/Group/Drafts/Sources/">
	<h href="index-all.html#dt-yearMonthDuration">5.2.4 XForms yearMonthDuration</h>
	<p class="MUST UA">
		XForms processors MUST support xforms:yearMonthDuration as defined
		in the XForms Schema.
	</p>
	<nl>
		<li href="">Standard data type test on xforms:yearMonthDuration</li>
	</nl>
</section>

</section>

</body>
</html>
