<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">  <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <TABLE summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><TBODY><TR><TD><TABLE summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1"> <TBODY><TR><TD class="header">Draft</TD><TD class="header">D. Hardt</TD></TR><TR><TD class="header"> </TD><TD class="header">Sxip Identity</TD></TR><TR><TD class="header"> </TD><TD class="header">November 24, 2006</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE> <H1><BR>Identity Attribute Metadata - Draft 01</H1> <H3>Abstract</H3><P>         An outline of the attribute metadata schema and types for         identity attributes.      </P><A name="toc"></A><BR><HR> <H3>Table of Contents</H3><P class="toc"> <A href="#anchor1">1.</A>  Overview<BR> <A href="#anchor2">2.</A>  Terminology<BR>     <A href="#anchor3">2.1.</A>  Definitions and Conventions<BR> <A href="#anchor4">3.</A>  Metadata Format<BR>     <A href="#data-format-types">3.1.</A>  Data Format Types<BR>     <A href="#anchor5">3.2.</A>  Attribute Types<BR>         <A href="#anchor6">3.2.1.</A>  Standard Predicates<BR>         <A href="#anchor7">3.2.2.</A>  Supplemental Predicates<BR>         <A href="#anchor8">3.2.3.</A>  Example<BR> <A href="#anchor9">4.</A>  Future Directions<BR>     <A href="#anchor10">4.1.</A>  Compound Properties<BR>     <A href="#anchor11">4.2.</A>  Equivalents<BR>     <A href="#anchor12">4.3.</A>  Higgins Ontology Predicates<BR> <A href="#rfc.references1">5.</A>  References<BR>     <A href="#rfc.references1">5.1.</A>  Normative References<BR>     <A href="#rfc.references2">5.2.</A>  Informative References<BR> <A href="#rfc.authors">§</A>  Author's Address<BR> </P> <BR clear="all"> <A name="anchor1"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.1"></A><H3>1.  Overview</H3><P>         This document defines the schema used to describe identity         object data as used in such protocols as OpenID Attribute         Exchange.  The schema data is intended to be resolvable at the         URI of the identity object, the attribute type identifier.      </P> <A name="anchor2"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.2"></A><H3>2.  Terminology</H3><P>         The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL         NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and         "OPTIONAL" in this document are to be interpreted as described         in <A class="info" href="#RFC2119">[RFC2119]<SPAN> (</SPAN><SPAN class="info">Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.</SPAN><SPAN>)</SPAN></A>.      </P> <A name="anchor3"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.2.1"></A><H3>2.1.  Definitions and Conventions</H3><DIV>           <BR class="khtml-block-placeholder"></DIV> <BLOCKQUOTE class="text"><DL> <DT>Identity Object</DT> <DD>               Identity "objects" (IdO) are defined to be sets of               name-value pairs of personal identity information. They               assert the claim that, for a given identity subject, a               named property has the provided value.             </DD> <DT>Service Provider</DT> <DD>               Service providers (SPs) are entities that require               identification information.             </DD> <DT>Identity Provider</DT> <DD>               An identification provider (IdP) stores IdOs, which are               made available to an identity agent upon request.             </DD> <DT>Identity Agent</DT> <DD>               The identity agent (IdA) operates under the user's               control and intermediates requests for ID objects               between the identification provider and the SP.             </DD> <DT>Identity Attribute Type</DT> <DD>               Identity attribute types (also referred to as simply               "attribute types") are types of subject properties               expressed in an identity context.  Examples are               "surname" or "birth date".             </DD> <DT>Identity Attribute Format Type</DT> <DD>               The identity attribute format type ("format type")               refers to the layout of the data in the value of an               identity attribute type.  They may be as simple as a               normalized string or as complicated as a telephone               number format.             </DD> </DL></BLOCKQUOTE><DIV>          <BR class="khtml-block-placeholder"></DIV> <A name="anchor4"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.3"></A><H3>3.  Metadata Format</H3> <A name="data-format-types"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.3.1"></A><H3>3.1.  Data Format Types</H3><P>           Data format types are the primitive types used to define the           layout of the information in the attribute values.  The           types are defined in XML Schema (<A class="info" href="#W3C.REC-xmlschema-2-20041028">[W3C.REC‑xmlschema‑2‑20041028]<SPAN> (</SPAN><SPAN class="info">Biron, P. and A. Malhotra, “XML Schema Part 2: Datatypes Second Edition,” October 2004.</SPAN><SPAN>)</SPAN></A>) and include the           predefined XML Schema types.          </P><P>           For example, here are several formats used with the OpenID           attribute exchange protocol (<A class="info" href="#OpenID.attribute-exchange-1.0">[OpenID.attribute‑exchange‑1.0]<SPAN> (</SPAN><SPAN class="info">Hardt, D., “OpenID Attribute Exchange,” August 2006.</SPAN><SPAN>)</SPAN></A>).           </P> <BLOCKQUOTE class="text"><DL> <DT><A href="http://schema.openid.net/types/country">http://schema.openid.net/types/country</A></DT> <DD>               <DIV style="display: table; width: 0; margin-left: 3em; margin-right: auto"><PRE>
<xsd:simpleType name="country">
<xsd:restriction base="xsd:NMTOKEN">
<!-- AFGHANISTAN -->
<xsd:enumeration value="AF"/>
<!-- Ã…LAND ISLANDS -->
<xsd:enumeration value="AX"/>
<!-- ALBANIA -->
<xsd:enumeration value="AL"/>
<!-- ALGERIA -->
<xsd:enumeration value="DZ"/>
... etc ...
</xsd:restriction>
</xsd:simpleType>

</PRE></DIV>             </DD> <DT><A href="http://schema.openid.net/types/email">http://schema.openid.net/types/email</A></DT> <DD>               <DIV style="display: table; width: 0; margin-left: 3em; margin-right: auto"><PRE>
<xsd:simpleType name="email" >
<xsd:restriction base="xsd:token">
<xsd:pattern value=
"([\.a-zA-Z0-9_-])+@
([a-zA-Z0-9_-])+(([a-zA-Z0-9_-])*\.([a-zA-Z0-9_-])+)+"
/>
</xsd:restriction>
</xsd:simpleType>

</PRE></DIV>             </DD> <DT><A href="http://schema.openid.net/types/gender">http://schema.openid.net/types/gender</A></DT> <DD>               <DIV style="display: table; width: 0; margin-left: 3em; margin-right: auto"><PRE>
<xsd:simpleType name="gender">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="M"/>
<xsd:enumeration value="F"/>
</xsd:restriction>
</xsd:simpleType>

</PRE></DIV>             </DD> <DT><A href="http://schema.openid.net/types/phone">http://schema.openid.net/types/phone</A></DT> <DD>               <DIV style="display: table; width: 0; margin-left: 3em; margin-right: auto"><PRE>
<xsd:simpleType name="phone">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\+?[0-9]+([- ][0-9]+)*"/>
</xsd:restriction>
</xsd:simpleType>

</PRE></DIV>             </DD> <DT><A href="http://schema.openid.net/types/timezone">http://schema.openid.net/types/timezone</A></DT> <DD>               <DIV style="display: table; width: 0; margin-left: 3em; margin-right: auto"><PRE>
<xsd:simpleType name="timezone">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-zA-Z/-]+"/>
</xsd:restriction>
</xsd:simpleType>

</PRE></DIV>             </DD> </DL></BLOCKQUOTE><DIV>          <BR class="khtml-block-placeholder"></DIV> <A name="anchor5"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.3.2"></A><H3>3.2.  Attribute Types</H3><P>           The metadata for attribute types is expressed in RDF/XML           format.  It is intended to be a fairly simple way of           expressing the minimal amount of metadata needed to describe           the attribute types.  More complicated ontological data is           optional but recommended.          </P><P>           Each attribute type record should include a stylesheet XML           directive pointing to an XSL template that translates the           metadata into a human readable format.          </P> <A name="anchor6"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.3.2.1"></A><H3>3.2.1.  Standard Predicates</H3><P>             The standard predicates that MUST be in all metadata             records are:             </P> <BLOCKQUOTE class="text"><DL> <DT><A href="http://www.w3.org/1999/02/22-rdf-syntax-ns#type">http://www.w3.org/1999/02/22-rdf-syntax-ns#type</A></DT> <DD>                 The rdf:type predicate has as its object the XML                 Schema data type or a type defined as per <A class="info" href="#data-format-types">Section 3.1<SPAN> (</SPAN><SPAN class="info">Data Format Types</SPAN><SPAN>)</SPAN></A>.               </DD> <DT><A href="http://www.w3.org/2000/01/rdf-schema#label">http://www.w3.org/2000/01/rdf-schema#label</A></DT> <DD>                 The label is a short description of the attribute                 type.  XML provides an xml:lang attribute that can be                 used on this element to provide a way to describe the                 language as per <A class="info" href="#RFC4646">[RFC4646]<SPAN> (</SPAN><SPAN class="info">Phillips, A. and M. Davis, “Tags for Identifying Languages,” September 2006.</SPAN><SPAN>)</SPAN></A> used for the                 content of the element.  Using <A href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph-Literal">language                 tagging</A> in this way, multiple labels can be                 provided for localization purposes.               </DD> <DT><A href="http://www.w3.org/2000/01/rdf-schema#comment">http://www.w3.org/2000/01/rdf-schema#comment</A></DT> <DD>                 The rdfs:comment element is used to provide a long                 textual description of the attribute type.  As for the                 rdf:label element, multilingual documentation is                 supported by the language tagging feature of RDF literals.               </DD> </DL></BLOCKQUOTE><DIV>           <BR class="khtml-block-placeholder"></DIV> <A name="anchor7"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.3.2.2"></A><H3>3.2.2.  Supplemental Predicates</H3><P>             These predicates are optional and MAY be included in             metadata records:             </P> <BLOCKQUOTE class="text"><DL> <DT><A href="http://schema.openid.net/metadata#example">http://schema.openid.net/metadata#example</A></DT> <DD>                 Example value data for the attribute type.               </DD> <DT><A href="http://www.w3.org/2000/01/rdf-schema#seeAlso">http://www.w3.org/2000/01/rdf-schema#seeAlso</A></DT> <DD>                 Indicates a resource that might provide additional                 information about the subject attribute type.               </DD> <DT><A href="http://schema.openid.net/metadata#acquisition">http://schema.openid.net/metadata#acquisition</A></DT> <DD>                 The object of this predicate is a URL from which the                 IdO may be acquired.  Multiple URLs may be specified.                 The acquisition mechanism is not specified, but would                 be retrieved using a discovery mechanism specific to                 the protocol being used.               </DD> <DT><A href="http://schema.openid.net/metadata#authority">http://schema.openid.net/metadata#authority</A></DT> <DD>                 Except in the case of a self-asserted IdO, a list of                 authority URIs for asserted claims is necessary. Each                 URI is that of an assertion authority that is allowed                 to make the IdO claim.               </DD> </DL></BLOCKQUOTE><DIV>           <BR class="khtml-block-placeholder"></DIV> <A name="anchor8"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.3.2.3"></A><H3>3.2.3.  Example</H3><P>               A brief example of the standard predicates and the               openid:example element as applied to the <TT><A href="http://schema.openid.net/namePerson/first">http://schema.openid.net/namePerson/first</A></TT>               attribute type.             </P><DIV style="display: table; width: 0; margin-left: 3em; margin-right: auto"><PRE>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="schema.xslt"?>
<rdf:RDF xmlns:rdf="<A href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</A>"
  xmlns:rdfs="<A href="http://www.w3.org/2000/01/rdf-schema#">http://www.w3.org/2000/01/rdf-schema#</A>"
  xmlns:openid="<A href="http://schema.openid.net/metadata#">http://schema.openid.net/metadata#</A>">
<rdf:Description rdf:about="<A href="http://schema.openid.net/namePerson/first">http://schema.openid.net/namePerson/first</A>">
  <rdfs:label>
    First name
  </rdfs:label>
  <rdfs:comment>
    First or given name of subject
  </rdfs:comment>
  <openid:example>
    John
  </openid:example>
  <rdf:type
  rdf:resource="<A href="http://www.w3.org/2001/XMLSchema#normalizedString">http://www.w3.org/2001/XMLSchema#normalizedString</A>"/>
  <openid:acquisition
  rdf:resource="<A href="http://example.gov/id">http://example.gov/id</A>"/>
</rdf:Description>
</rdf:RDF>

</PRE></DIV> <A name="anchor9"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.4"></A><H3>4.  Future Directions</H3><P>         Additional metadata information may be added as more complex         attribute types are constructed.  The following sections         outline possible extensions to the existing simple type         definitions.      </P> <A name="anchor10"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.4.1"></A><H3>4.1.  Compound Properties</H3><P>           The IdO may also be composed of an aggregate of other IdO           types, in which case the aggregate IdO URIs will be           referenced.          </P> <A name="anchor11"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.4.2"></A><H3>4.2.  Equivalents</H3><P>           An IdO may make a claim that is equivalent to the claim of           an IdO of a different type. The equivalent IdO types are           listed in this section.          </P><P>           An IdO may be transformed to one of a different type if it           is listed as an equivalent. This property is not           commutative.          </P><P>           This information may be extended to include translation           mechanisms between format types. A richer transform           specification would allow claims to be made based on a           broader equivalence domain.          </P> <A name="anchor12"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.4.3"></A><H3>4.3.  Higgins Ontology Predicates</H3><P>           The Higgins project has created a base ontological           vocabulary at <A class="info" href="#Higgins-Ontology">[Higgins‑Ontology]<SPAN> (</SPAN><SPAN class="info">Trevithick, P., “Higgins Ontology v1.10,” October 2006.</SPAN><SPAN>)</SPAN></A>.  Use of           this vocabulary allows for the integration of the attribute           types into a broader catalog.          </P> <A name="rfc.references"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <A name="rfc.section.5"></A><H3>5.  References</H3> <A name="rfc.references1"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <H3>5.1. Normative References</H3> <TABLE width="99%" border="0"> <TBODY><TR><TD class="author-text" valign="top"><A name="OpenID.attribute-exchange-1.0">[OpenID.attribute-exchange-1.0]</A></TD><TD class="author-text"><A href="mailto:dick@sxip.com">Hardt, D.</A>, “OpenID Attribute Exchange,” August 2006 (<A href="http://www.openid.net/specs/openid-attribute-exchange-1_0-01.txt">TXT</A>, <A href="http://www.openid.net/specs/openid-attribute-exchange-1_0-01.html">HTML</A>).</TD></TR><TR><TD class="author-text" valign="top"><A name="RFC2119">[RFC2119]</A></TD><TD class="author-text"><A href="mailto:sob@harvard.edu">Bradner, S.</A>, “<A href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</A>,” BCP 14, RFC 2119, March 1997 (<A href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">TXT</A>, <A href="http://xml.resource.org/public/rfc/html/rfc2119.html">HTML</A>, <A href="http://xml.resource.org/public/rfc/xml/rfc2119.xml">XML</A>).</TD></TR><TR><TD class="author-text" valign="top"><A name="RFC4646">[RFC4646]</A></TD><TD class="author-text">Phillips, A. and M. Davis, “<A href="ftp://ftp.isi.edu/in-notes/rfc4646.txt">Tags for Identifying Languages</A>,” BCP 47, RFC 4646, September 2006.</TD></TR><TR><TD class="author-text" valign="top"><A name="W3C.REC-xmlschema-2-20041028">[W3C.REC-xmlschema-2-20041028]</A></TD><TD class="author-text">Biron, P. and A. Malhotra, “<A href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028">XML Schema Part 2: Datatypes Second Edition</A>,” World Wide Web Consortium Recommendation REC-xmlschema-2-20041028, October 2004 (<A href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028">HTML</A>).</TD></TR></TBODY></TABLE> <A name="rfc.references2"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <H3>5.2. Informative References</H3> <TABLE width="99%" border="0"> <TBODY><TR><TD class="author-text" valign="top"><A name="Higgins-Ontology">[Higgins-Ontology]</A></TD><TD class="author-text">Trevithick, P., “<A href="http://www.eclipse.org/higgins/ontologies/2006/higgins.owl">Higgins Ontology v1.10</A>,” October 2006.</TD></TR></TBODY></TABLE> <A name="rfc.authors"></A><BR><HR> <TABLE summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><TBODY><TR><TD class="TOCbug"><A href="#toc"> TOC </A></TD></TR></TBODY></TABLE> <H3>Author's Address</H3> <TABLE width="99%" border="0" cellpadding="0" cellspacing="0"> <TBODY><TR><TD class="author-text"> </TD><TD class="author-text">Dick Hardt</TD></TR><TR><TD class="author-text"> </TD><TD class="author-text">Sxip Identity</TD></TR><TR><TD class="author-text"> </TD><TD class="author-text">798 Beatty Street</TD></TR><TR><TD class="author-text"> </TD><TD class="author-text">Vancouver, BC  V6B 2M1</TD></TR><TR><TD class="author-text"> </TD><TD class="author-text">CA</TD></TR><TR><TD class="author" align="right">Email: </TD><TD class="author-text"><A href="mailto:dick@sxip.com">dick@sxip.com</A></TD></TR><TR><TD class="author" align="right">URI: </TD><TD class="author-text"><A href="http://sxip.com/">http://sxip.com/</A></TD></TR></TBODY></TABLE> </BODY></HTML>