<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: otps-wst.xsd,v 1.3 2005/11/22 10:23:31 mnystrom Exp $ -->
<!-- Copyright (c) RSA Security Inc. 2005. All rights reserved. -->

<xs:schema
  targetNamespace="http://www.rsasecurity.com/rsalabs/otps/schemas/2005/09/otps-wst#"
  xmlns="http://www.rsasecurity.com/rsalabs/otps/schemas/2005/09/otps-wst#"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  version="1.0"
  id="OTPS-WSS-Token">

  <xs:import
    namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    schemaLocation="../OASIS/WSS/wss-utility.xsd"/>
<!--    schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>-->

<xs:attributeGroup name="TokQual">
  <xs:attribute name="TokUser" type="xs:string" use="optional"/>
  <xs:attribute name="KeyID" type="xs:base64Binary" use="optional"/>
</xs:attributeGroup>

<xs:complexType name="OTPToken">
  <xs:annotation>
    <xs:documentation>
      Type definition for token-based authentication
    </xs:documentation>
  </xs:annotation>
  <xs:sequence>
    <xs:element name="TokTimestamp" minOccurs="0">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:dateTime">
            <xs:attribute name="TSApprox" type="xs:boolean" use="optional"/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
    <xs:element name="TokNonce" type="xs:base64Binary" minOccurs="0"/>
    <xs:element name="TokCounter" type="xs:nonNegativeInteger" minOccurs="0"/>
    <xs:element name="TokState" type="xs:base64Binary" minOccurs="0"/>
    <xs:element name="TokPIN" type="xs:string" minOccurs="0"/>
    <xs:element name="ServID" type="xs:string" minOccurs="0"/>
    <xs:element name="OTP" type="xs:string"/>
    <xs:any minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
  <xs:attributeGroup ref="TokQual"/>
  <xs:attribute ref="wsu:Id" use="optional"/>
  <xs:attribute name="TokAlg" type="xs:anyURI" use="optional"/>
  <xs:attribute name="TokOTPTransform" type="xs:anyURI" use="optional"/>
</xs:complexType>

<xs:complexType name="NeedNewPIN">
  <xs:annotation>
    <xs:documentation>
      Info for New PIN request, used in SOAP fault's env:detail ##any
    </xs:documentation>
  </xs:annotation>
  <xs:sequence>
    <xs:element name="PINChgSvc" type="xs:anyURI" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

</xs:schema>
