OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dss message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Emailing: EPMService-schema-verify.xsd


Trevor,

    Here is a trial EPM schema (simplified partial) which references and
extends the DSS Verify schema. Check it out and tell me if it is in keeping
with your thinking. I haven't finalized the nillable and minoccurs values as
yet. I wanted to get this out as soon as possible.

Some observations:

- I couldn't reference DSS at the VerifyRequest level because I need to
define my own Options (which is a child) as we discussed. Ref'ed DSS
wherever possible. 

- It would be helpful if RequestID were of type any, so I could use our
TransactionKeyType

- Outputs and Options seem to fit fine, not sure if I like VerifyRequest due
to missing extensibility point

- core schema missing namespace declaration on its import (just has
schemaLocation)

Let me know,
Ed 
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.upu.int/EPMService"; xmlns:dss="http://www.oasis-open.org/tc/DSS/1.0/core/schema"; xmlns:ds="http://www.w3.org/2000/09/xmldsig#"; xmlns:epm="http://www.upu.int/EPMService"; xmlns:tns="http://www.upu.int/EPMService"; xmlns="http://www.w3.org/2001/XMLSchema";>
	<import namespace="http://www.oasis-open.org/tc/DSS/1.0/core/schema"; schemaLocation="oasis-verify.xsd"/>
	<complexType name="StatusStringType">
		<sequence>
			<element name="SignatureStatus" type="string" nillable="true"/>
			<element name="X509Status" type="string" nillable="true"/>
			<element name="X509VerifyStatus" type="string" nillable="true"/>
			<element name="OCSPStatus" type="string" nillable="true"/>
			<element name="PostMarkStatus" type="string" nillable="true"/>
			<element name="NRLogStatus" type="string" nillable="true"/>
			<element name="FailingOperation" type="string" nillable="true"/>
			<element name="ControllerStatus" type="string" nillable="true"/>
		</sequence>
	</complexType>
	<complexType name="TransactionKeyType">
		<sequence>
			<element name="Locator" type="string" nillable="true"/>
			<element name="Key" type="string" nillable="true"/>
			<element name="Sequence" type="string" nillable="true"/>
		</sequence>
	</complexType>
	<complexType name="PKCS7InfoType">
		<sequence>
			<element name="PKCS7Content" type="base64Binary"/>
			<element name="PKCS7ContentHash" type="string"/>
			<element name="PKCS7ContentHashAlgo" type="string"/>
			<element name="PKCS7ContentEncryptAlgo" type="string"/>
			<element name="PKCS7SigningTime" type="string"/>
		</sequence>
	</complexType>
	<complexType name="X509InfoType">
		<sequence>
			<element name="X509Subject" type="string"/>
			<element name="X509Issuer" type="string"/>
			<element name="X509Serial" type="string"/>
			<element name="X509StatusSource" type="string"/>
			<element name="X509ValidFrom" type="string"/>
			<element name="X509ValidTo" type="string"/>
			<element name="X509RevocationReason" type="string" nillable="true"/>
			<element name="X509RevocationReasonString" type="string" nillable="true"/>
			<element name="X509RevocationTime" type="string" nillable="true"/>
			<element name="X509ValidationData" type="base64Binary" nillable="true"/>
		</sequence>
	</complexType>
	<complexType name="VerifyOptionsType">
		<sequence>
			<element name="EndLifecycle" type="boolean"/>
			<element name="VerifyCertificate" type="boolean"/>
			<element name="DecryptIncomingEnvelope" type="boolean"/>
			<element name="EncryptResponse" type="boolean"/>
			<element name="StoreNonRepudiationEvidence" type="boolean"/>
			<element name="IssuePostMarkedReceipt" type="boolean"/>
			<element name="ReturnPKCS7Info" type="boolean"/>
			<element name="ReturnX509Info" type="boolean"/>
		</sequence>
	</complexType>
	<complexType name="PostMarkedReceiptType">
		<sequence>
			<element ref="dss:Signature"/>
		</sequence>
	</complexType>
	<complexType name="VerifyOutputsType">
		<sequence>
			<element name="TransactionStatusString" type="epm:StatusStringType"/>
			<element name="TransactionKey" type="epm:TransactionKeyType"/>
			<element name="TimeStampValue" type="string" nillable="true"/>
			<element name="PostMarkedReceipt" type="epm:PostMarkedReceiptType" nillable="true"/>
			<element name="PKCS7Info" type="epm:PKCS7InfoType" nillable="true"/>
			<element name="X509Info" type="epm:X509InfoType" nillable="true"/>
		</sequence>
	</complexType>
	<complexType name="VerifyRequestType">
		<sequence>
			<element name="Options" type="epm:VerifyOptionsType"/>
			<element ref="dss:Signature" minOccurs="0"/>
			<element ref="dss:InputDocuments"/>
			<choice>
				<element name="TransactionKey" type="epm:TransactionKeyType" nillable="true"/>
				<element name="SignedTransactionKey" type="base64Binary" nillable="true"/>
			</choice>
			<element name="OrganizationID" type="string"/>
			<element name="AccountID" type="string"/>
			<element name="ClientApplication" type="string"/>
			<element name="ContentMetadata" type="string" nillable="true" minOccurs="0"/>
			<!-- Extended EPM elements start here -->
		</sequence>
		<attribute name="RequestID" type="string" use="optional"/>
	</complexType>
	<complexType name="VerifyResponseType">
		<sequence>
			<element ref="dss:Result"/>
			<element name="Outputs" type="epm:VerifyOutputsType"/>
		</sequence>
		<attribute name="RequestID" type="string" use="optional"/>
	</complexType>
	<element name="VerifyRequest" type="epm:VerifyRequestType"/>
	<element name="VerifyResponse" type="epm:VerifyResponseType"/>
</schema>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]