<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet href="foaf-xforms.css" type="text/css"?>

<html:html xmlns="http://www.w3.org/2002/xforms/cr" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:lang="http://purl.org/net/inkel/rdf/schemas/lang/1.1#">
	<html:head>
		<html:title>FOAF XForms</html:title>
		<model id="foaf">
			<instance src="./foaf-base.rdf" id="default"/>
			<bind nodeset="foaf:Person/foaf:name" calculate="concat(../foaf:givenname , ' ' , ../foaf:family_name)"/>
			<bind nodeset="foaf:Person/foaf:knows/foaf:Person/foaf:name" calculate="concat(../foaf:givenname , ' ' , ../foaf:family_name)"/>
			<submission action="./foaf.rdf" id="submit1" method="put"/> 
		</model>
	</html:head>
	<html:body>
  <h1>FOAF via XForms</h1>
    <p>Thanks to Sebastian Schnitzenbaumer for this. <a href="http://www.w3.org/People/Charles">Chaals</a> has been messing with it since...</p>      
   <h2>Person</h2>
    <group>
	<input ref="instance('default')/foaf:Person/foaf:mbox/@rdf:resource" class="uri">
	<label>Your email address - !!No sha1 yet :(</label>
	</input>
    </group>
	<group>
		<input ref="instance('default')/foaf:Person/foaf:givenname" class="uri">
			<label>Your given name</label>
		</input>
	</group>
	<group>
		<input ref="instance('default')/foaf:Person/foaf:family_name" class="uri">
			<label>Your family name or surname</label>
		</input>
	</group>
	<group>
		<input ref="instance('default')/foaf:Person/foaf:depiction/@rdf:resource" class="uri">
			<label>A URI for a picture of you</label>
		</input>
	</group>
		<h3>Languages you master</h3>
    <p>Meaning that you can speak, read and write them. Currently we have no notion of fluency recorded.</p>
		<group>
			<trigger>
				<label>Add a language</label>
				<insert at="index('repeat-masters')" ev:event="click" nodeset="instance('default')/foaf:Person/lang:masters" position="after"/>
			</trigger>
			<trigger>
				<label>Delete a language</label>
				<delete at="index('repeat-masters')" ev:event="click" nodeset="instance('default')/foaf:Person/lang:masters"/>
			</trigger>
		</group>
		<repeat nodeset="instance('default')/foaf:Person/lang:masters" id="repeat-masters">
			<group class="section">
				<select1 appearance="minimal" ref=".">
					<label>Language:</label>
					<item>
						<value/>
						<label>...</label>
					</item>
					<item>
						<value>en</value>
						<label>English</label>
					</item>
					<item>
						<value>fr</value>
						<label>French</label>
					</item>
					<item>
						<value>es</value>
						<label>Spanish</label>
					</item>
					<item>
						<value>de</value>
						<label>German</label>
					</item>
					<item>
						<value>it</value>
						<label>Italian</label>
					</item>
					<item>
						<value>la</value>
						<label>Latin</label>
					</item>
					<item>
						<value>ar</value>
						<label>Arabic - ال عربية</label>
					</item>
					<item>
						<value>pt</value>
						<label>Portugese</label>
					</item>
					<item>
						<value>ca</value>
						<label>Catalan</label>
					</item>
				</select1>
			</group>
		</repeat>
		<h3>Speaks</h3>
		<group>
			<trigger>
				<label>Add a language</label>
				<insert at="index('repeat-speaks')" ev:event="click" nodeset="instance('default')/foaf:Person/lang:speaks" position="after"/>
			</trigger>
			<trigger>
				<label>Delete a language</label>
				<delete at="index('repeat-speaks')" ev:event="click" nodeset="instance('default')/foaf:Person/lang:speaks"/>
			</trigger>
		</group>
		<repeat nodeset="instance('default')/foaf:Person/lang:speaks" id="repeat-speaks">
			<group class="section">
				<select1 appearance="minimal" ref=".">
					<label>Language:</label>
					<item>
						<value/>
						<label>...</label>
					</item>
					<item>
						<value>la</value>
						<label>Latin</label>
					</item>
					<item>
						<value>en</value>
						<label>English</label>
					</item>
					<item>
						<value>ar</value>
						<label>Arabic - ال عربية</label>
					</item>
					<item>
						<value>fr</value>
						<label>French</label>
					</item>
					<item>
						<value>es</value>
						<label>Spanish</label>
					</item>
					<item>
						<value>de</value>
						<label>German</label>
					</item>
					<item>
						<value>it</value>
						<label>Italian</label>
					</item>
					<item>
						<value>pt</value>
						<label>Portugese</label>
					</item>
					<item>
						<value>ca</value>
						<label>Catalan</label>
					</item>
				</select1>
			</group>
		</repeat>
		<h3>Languages you read</h3>
		<group>
			<trigger>
				<label>Add a language</label>
				<insert at="index('repeat-reads')" ev:event="click" nodeset="instance('default')/foaf:Person/lang:reads" position="after"/>
			</trigger>
			<trigger>
				<label>Delete a language</label>
				<delete at="index('repeat-reads')" ev:event="click" nodeset="instance('default')/foaf:Person/lang:reads"/>
			</trigger>
		</group>
		<repeat nodeset="instance('default')/foaf:Person/lang:reads" id="repeat-reads">
			<group class="section">
				<select1 appearance="minimal" ref=".">
					<label>Language:</label>
					<item>
						<value/>
						<label>...</label>
					</item>
					<item>
						<value>en</value>
						<label>English</label>
					</item>
					<item>
						<value>fr</value>
						<label>French</label>
					</item>
					<item>
						<value>es</value>
						<label>Spanish</label>
					</item>
					<item>
						<value>la</value>
						<label>Latin</label>
					</item>
					<item>
						<value>de</value>
						<label>German</label>
					</item>
					<item>
						<value>it</value>
						<label>Italian</label>
					</item>
					<item>
						<value>ja</value>
						<label>日本語 - Japanese</label>
					</item>
					<item>
						<value>ca</value>
						<label>Catalan</label>
					</item>					<item>
						<value>ar</value>
						<label>Arabic</label>
					</item>

				</select1>
			</group>
		</repeat>
		<h3>Languages you write</h3>
		<group>
			<trigger>
				<label>Add a language</label>
				<insert at="index('repeat-writes')" ev:event="click" nodeset="instance('default')/foaf:Person/lang:writes" position="after"/>
			</trigger>
			<trigger>
				<label>Delete a language</label>
				<delete at="index('repeat-writes')" ev:event="click" nodeset="instance('default')/foaf:Person/lang:writes"/>
			</trigger>
		</group>
		<repeat nodeset="instance('default')/foaf:Person/lang:writes" id="repeat-writes">
			<group class="section">
				<select1 appearance="minimal" ref=".">
					<label>Language:</label>
					<item>
						<value/>
						<label>...</label>
					</item>
					<item>
						<value>en</value>
						<label>English</label>
					</item>
					<item>
						<value>fr</value>
						<label>French</label>
					</item>
					<item>
						<value>es</value>
						<label>Spanish</label>
					</item>
					<item>
						<value>la</value>
						<label>Latin</label>
					</item>
					<item>
						<value>de</value>
						<label>German</label>
					</item>
					<item>
						<value>it</value>
						<label>Italian</label>
					</item>
					<item>
						<value>ar</value>
						<label>Arabic</label>
					</item>
					<item>
						<value>pt</value>
						<label>Portugese</label>
					</item>
					<item>
						<value>ca</value>
						<label>Catalan</label>
					</item>
				</select1>
			</group>
		</repeat>
		<h3>Knows</h3>
		<group>
			<trigger>
				<label>Add foaf:knows</label>
				<insert at="index('repeat-knows')" ev:event="click" nodeset="instance('default')/foaf:Person/foaf:knows" position="after"/>
			</trigger>
			<trigger>
				<label>Delete foaf:knows</label>
				<delete at="index('repeat-knows')" ev:event="click" nodeset="instance('default')/foaf:Person/foaf:knows"/>
			</trigger>
		</group>
		<repeat nodeset="instance('default')/foaf:Person/foaf:knows" id="repeat-knows">
			<group class="section">
				<h4>Person</h4>
				<group>
					<input ref="foaf:Person/foaf:mbox/@rdf:resource" class="uri">
						<label>foaf:mbox/@rdf:resource</label>
					</input>

					<input ref="foaf:Person/foaf:givenname" class="uri">
						<label>foaf:givenname</label>
					</input>

					<input ref="foaf:Person/foaf:family_name" class="uri">
						<label>Their family name</label>
					</input>
				</group>
			</group>
		</repeat>
		<trigger>
			<label>Submit</label> 
			<hint>Save and Refresh</hint> 
			<send ev:event="click" submission="submit1"/> 
		</trigger>			
	</html:body>
</html:html>