Hi all, thanks to our decision to drop any inline XML represenation the cross-references from the core to XMLDSig dropped significantly! Now there is just the ds:Transforms type left. As agreed on the last meeting I share my current version of the DSS/X core 2.0 ( see document and schemas attached). In this version I concentrated on the generated part and its inline comment (section 3, Structure Models). My next step will be to align the processing part with the new schema. Comments welcome! Greetings, Andreas Attachment: dss-core-v2.0-1509963647674.docx Description: Binary data { "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "dss-SignRequestType": { "$xsd-type": "SignRequestType", "type": "object", "properties": { "inDocs": { "type": "object", "$ref": "#/definitions/dss-InputDocumentsType" }, "reqID": { "type": "string" }, "optInp": { "type": "object", "$ref": "#/definitions/dss-OptionalInputsSignType" } } }, "dss-InputDocumentsType": { "$xsd-type": "InputDocumentsType", "type": "object", "properties": { "doc": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DocumentType" } }, "transformed": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-TransformedDataType" } }, "docHash": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DocumentHashType" } } } }, "dss-DocumentType": { "$xsd-type": "DocumentType", "type": "object", "properties": { "ID": { "type": "string" }, "refURI": { "type": "string" }, "refType": { "type": "string" }, "schemaRefs": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DocumentType" } }, "b64Data": { "type": "object", "$ref": "#/definitions/dss-Base64DataType" } } }, "dss-Base64DataType": { "$xsd-type": "Base64DataType", "type": "object", "properties": { "ID": { "type": "string" }, "value": { "type": "string" }, "mimeType": { "type": "string" }, "attRef": { "type": "string" }, "IDREF": { "type": "string" } } }, "dss-TransformedDataType": { "$xsd-type": "TransformedDataType", "type": "object", "properties": { "ID": { "type": "string" }, "refURI": { "type": "string" }, "refType": { "type": "string" }, "schemaRefs": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DocumentType" } }, "transforms": { "type": "object", "$ref": "#/definitions/dsig-TransformsType" }, "b64Data": { "type": "object", "$ref": "#/definitions/dss-Base64DataType" }, "whichRef": { "type": "integer" } }, "required": [ "b64Data" ] }, "dsig-TransformsType": { "$xsd-type": "TransformsType", "type": "object", "properties": { "transform": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dsig-TransformType" } } }, "required": [ "transform" ] }, "dsig-TransformType": { "$xsd-type": "TransformType", "type": "object", "properties": { "value": { "type": "string" }, "b64Content": { "type": "string" }, "xpath": { "type": "array", "items": { "type": "string" } }, "nsDecl": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dsig-NsURIMappingType" } }, "algo": { "type": "string" } }, "required": [ "algo" ] }, "dsig-NsURIMappingType": { "$xsd-type": "NsURIMappingType", "type": "object", "properties": { "ns": { "type": "string" }, "uri": { "type": "string" } }, "required": [ "ns", "uri" ] }, "dss-DocumentHashType": { "$xsd-type": "DocumentHashType", "type": "object", "properties": { "ID": { "type": "string" }, "refURI": { "type": "string" }, "refType": { "type": "string" }, "schemaRefs": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DocumentType" } }, "transforms": { "type": "object", "$ref": "#/definitions/dsig-TransformsType" }, "di": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DigestInfoType" } }, "whichRef": { "type": "integer" } }, "required": [ "di" ] }, "dss-DigestInfoType": { "$xsd-type": "DigestInfoType", "type": "object", "properties": { "alg": { "type": "string" }, "value": { "type": "string" } }, "required": [ "alg", "value" ] }, "dss-OptionalInputsSignType": { "$xsd-type": "OptionalInputsSignType", "type": "object", "properties": { "profile": { "type": "array", "items": { "type": "string" } }, "policy": { "type": "array", "items": { "type": "string" } }, "claimedIdentity": { "type": "object", "$ref": "#/definitions/dss-ClaimedIdentityType" }, "lang": { "type": "string" }, "schemas": { "type": "object", "$ref": "#/definitions/dss-SchemasType" }, "addTimestamp": { "type": "object", "$ref": "#/definitions/dss-UpdateSignatureInstructionType" }, "other": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-PropertyType" } }, "sigType": { "type": "string" }, "audience": { "type": "object", "$ref": "#/definitions/dss-IntendedAudienceType" }, "keySel": { "type": "object", "$ref": "#/definitions/dss-KeyInfoType" }, "props": { "type": "object", "$ref": "#/definitions/dss-PropertiesHolderType" }, "includeObj": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-IncludeObjectType" } }, "sigPlacement": { "type": "object", "$ref": "#/definitions/dss-SignaturePlacementType" }, "sigRefs": { "type": "object", "$ref": "#/definitions/dss-SignedReferencesType" }, "nonce": { "type": "integer" }, "sigAlgo": { "type": "string" }, "sad": { "type": "string" } } }, "dss-ClaimedIdentityType": { "$xsd-type": "ClaimedIdentityType", "type": "object", "properties": { "name": { "type": "object", "$ref": "#/definitions/saml2-NameIDType" }, "suppInfo": { "type": "object", "$ref": "#/definitions/dss-AnyType" } }, "required": [ "name" ] }, "saml2-NameIDType": { "$xsd-type": "NameIDType", "type": "object", "properties": { "value": { "type": "string" }, "format": { "type": "string" }, "provId": { "type": "string" }, "nameQual": { "type": "string" }, "spNameQual": { "type": "string" } } }, "dss-AnyType": { "$xsd-type": "AnyType", "type": "object", "properties": { "content": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-AnyType:Content" } } }, "required": [ "content" ] }, "dss-AnyType:Content": { "$xsd-type": "Content", "type": "object", "properties": { "b64Content": { "type": "string" }, "mimeType": { "type": "string" } }, "required": [ "b64Content" ] }, "dss-SchemasType": { "$xsd-type": "SchemasType", "type": "object", "properties": { "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DocumentType" } } }, "required": [ "schema" ] }, "dss-UpdateSignatureInstructionType": { "$xsd-type": "UpdateSignatureInstructionType", "type": "object", "properties": { "type": { "type": "string", "format": "uri" } } }, "dss-PropertyType": { "$xsd-type": "PropertyType", "type": "object", "properties": { "id": { "type": "string" }, "value": { "type": "object", "$ref": "#/definitions/dss-AnyType" } }, "required": [ "id" ] }, "dss-IntendedAudienceType": { "$xsd-type": "IntendedAudienceType", "type": "object", "properties": { "recipient": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/saml2-NameIDType" } } }, "required": [ "recipient" ] }, "dss-KeyInfoType": { "$xsd-type": "KeyInfoType", "type": "object", "properties": { "x509Digest": { "type": "object", "$ref": "#/definitions/dss-X509DigestType" }, "subject": { "type": "string" }, "ski": { "type": "string" }, "cert": { "type": "string" }, "name": { "type": "string" } }, "minProperties": 1 }, "dss-X509DigestType": { "$xsd-type": "X509DigestType", "type": "object", "properties": { "value": { "type": "string" }, "algo": { "type": "string" } }, "required": [ "algo" ] }, "dss-PropertiesHolderType": { "$xsd-type": "PropertiesHolderType", "type": "object", "properties": { "signedProps": { "type": "object", "$ref": "#/definitions/dss-PropertiesType" }, "unsignedProps": { "type": "object", "$ref": "#/definitions/dss-PropertiesType" } } }, "dss-PropertiesType": { "$xsd-type": "PropertiesType", "type": "object", "properties": { "prop": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-PropertyType" } } }, "required": [ "prop" ] }, "dss-IncludeObjectType": { "$xsd-type": "IncludeObjectType", "type": "object", "properties": { "whichDoc": { "type": "object", "$ref": "#/definitions/dss-DocumentBaseType" }, "hasObjectTagsAndAttributesSet": { "type": "boolean" }, "objId": { "type": "string" }, "createRef": { "type": "boolean" } } }, "dss-DocumentBaseType": { "$xsd-type": "DocumentBaseType", "type": "object", "properties": { "ID": { "type": "string" }, "refURI": { "type": "string" }, "refType": { "type": "string" }, "schemaRefs": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DocumentType" } } } }, "dss-SignaturePlacementType": { "$xsd-type": "SignaturePlacementType", "type": "object", "properties": { "xPathAfter": { "type": "string" }, "xPathFirstChildOf": { "type": "string" }, "nsDecl": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dsig-NsURIMappingType" } }, "whichDoc": { "type": "object", "$ref": "#/definitions/dss-DocumentBaseType" }, "createEnvelopedSignature": { "type": "boolean" } } }, "dss-SignedReferencesType": { "$xsd-type": "SignedReferencesType", "type": "object", "properties": { "signedRef": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-SignedReferenceType" } } }, "required": [ "signedRef" ] }, "dss-SignedReferenceType": { "$xsd-type": "SignedReferenceType", "type": "object", "properties": { "transforms": { "type": "object", "$ref": "#/definitions/dsig-TransformsType" }, "whichDoc": { "type": "object", "$ref": "#/definitions/dss-DocumentBaseType" }, "refURI": { "type": "string" }, "refId": { "type": "string" } }, "required": [ "whichDoc" ] }, "dss-SignResponseType": { "$xsd-type": "SignResponseType", "type": "object", "properties": { "result": { "type": "object", "$ref": "#/definitions/dss-ResultType" }, "reqID": { "type": "string" }, "optOutp": { "type": "object", "$ref": "#/definitions/dss-OptionalOutputsSignType" }, "sigObj": { "type": "object", "$ref": "#/definitions/dss-SignatureObjectType" } } }, "dss-ResultType": { "$xsd-type": "ResultType", "type": "object", "properties": { "maj": { "type": "string", "enum": [ "urn:oasis:names:tc:dss:1.0:resultmajor:Success", "urn:oasis:names:tc:dss:1.0:resultmajor:RequesterError", "urn:oasis:names:tc:dss:1.0:resultmajor:ResponderError", "urn:oasis:names:tc:dss:1.0:resultmajor:InsufficientInformation" ] }, "min": { "type": "string" }, "msg": { "type": "object", "$ref": "#/definitions/dss-InternationalStringType" } }, "required": [ "maj" ] }, "dss-InternationalStringType": { "$xsd-type": "InternationalStringType", "type": "object", "properties": { "value": { "type": "string" }, "lang": { "type": "string" } }, "required": [ "lang" ] }, "dss-OptionalOutputsSignType": { "$xsd-type": "OptionalOutputsSignType", "type": "object", "properties": { "profile": { "type": "array", "items": { "type": "string" } }, "policy": { "type": "array", "items": { "type": "string" } }, "transformed": { "type": "object", "$ref": "#/definitions/dss-TransformedDocumentType" }, "schemas": { "type": "object", "$ref": "#/definitions/dss-SchemasType" }, "docWithSignature": { "type": "object", "$ref": "#/definitions/dss-DocumentWithSignatureType" }, "other": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-PropertyType" } } } }, "dss-TransformedDocumentType": { "$xsd-type": "TransformedDocumentType", "type": "object", "properties": { "doc": { "type": "object", "$ref": "#/definitions/dss-DocumentType" }, "whichRef": { "type": "integer" } }, "required": [ "doc", "whichRef" ] }, "dss-DocumentWithSignatureType": { "$xsd-type": "DocumentWithSignatureType", "type": "object", "properties": { "doc": { "type": "object", "$ref": "#/definitions/dss-DocumentType" } }, "required": [ "doc" ] }, "dss-SignatureObjectType": { "$xsd-type": "SignatureObjectType", "type": "object", "properties": { "b64Sig": { "type": "object", "$ref": "#/definitions/dss-Base64DataType" }, "sigPtr": { "type": "object", "$ref": "#/definitions/dss-SignaturePtrType" }, "schemaRefs": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DocumentBaseType" } } } }, "dss-SignaturePtrType": { "$xsd-type": "SignaturePtrType", "type": "object", "properties": { "nsDecl": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dsig-NsURIMappingType" } }, "whichDoc": { "type": "object", "$ref": "#/definitions/dss-DocumentBaseType" }, "xPath": { "type": "string" } }, "required": [ "whichDoc" ] }, "dss-VerifyRequestType": { "$xsd-type": "VerifyRequestType", "type": "object", "properties": { "inDocs": { "type": "object", "$ref": "#/definitions/dss-InputDocumentsType" }, "reqID": { "type": "string" }, "optInp": { "type": "object", "$ref": "#/definitions/dss-OptionalInputsVerifyType" }, "sigObj": { "type": "object", "$ref": "#/definitions/dss-SignatureObjectType" } } }, "dss-OptionalInputsVerifyType": { "$xsd-type": "OptionalInputsVerifyType", "type": "object", "properties": { "profile": { "type": "array", "items": { "type": "string" } }, "policy": { "type": "array", "items": { "type": "string" } }, "claimedIdentity": { "type": "object", "$ref": "#/definitions/dss-ClaimedIdentityType" }, "lang": { "type": "string" }, "schemas": { "type": "object", "$ref": "#/definitions/dss-SchemasType" }, "addTimestamp": { "type": "object", "$ref": "#/definitions/dss-UpdateSignatureInstructionType" }, "other": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-PropertyType" } }, "useVerificationTime": { "type": "object", "$ref": "#/definitions/dss-UseVerificationTimeType" }, "returnVerificationTime": { "type": "boolean" }, "addKeyInfo": { "type": "object", "$ref": "#/definitions/dss-AdditionalKeyInfoType" }, "returnProcDetails": { "type": "boolean" }, "returnSigningTime": { "type": "boolean" }, "returnSigner": { "type": "boolean" }, "returnUpdated": { "type": "boolean" }, "returnTransformed": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-ReturnTransformedDocumentType" } }, "returnTimestamped": { "type": "object", "$ref": "#/definitions/dss-UpdateSignatureInstructionType" } } }, "dss-UseVerificationTimeType": { "$xsd-type": "UseVerificationTimeType", "type": "object", "properties": { "currTime": { "type": "boolean" }, "specTime": { "type": "integer", "format": "utc-millisec" }, "b64Content": { "type": "string" } }, "minProperties": 1, "maxProperties": 1 }, "dss-AdditionalKeyInfoType": { "$xsd-type": "AdditionalKeyInfoType", "type": "object", "properties": { "x509Digest": { "type": "object", "$ref": "#/definitions/dss-X509DigestType" }, "subject": { "type": "string" }, "ski": { "type": "string" }, "cert": { "type": "string" }, "name": { "type": "string" }, "X509CRL": { "type": "string" } } }, "dss-ReturnTransformedDocumentType": { "$xsd-type": "ReturnTransformedDocumentType", "type": "object", "properties": { "whichRef": { "type": "integer" } }, "required": [ "whichRef" ] }, "dss-VerifyResponseType": { "$xsd-type": "VerifyResponseType", "type": "object", "properties": { "result": { "type": "object", "$ref": "#/definitions/dss-ResultType" }, "reqID": { "type": "string" }, "optOutp": { "type": "object", "$ref": "#/definitions/dss-OptionalOutputsVerifyType" } } }, "dss-OptionalOutputsVerifyType": { "$xsd-type": "OptionalOutputsVerifyType", "type": "object", "properties": { "profile": { "type": "array", "items": { "type": "string" } }, "policy": { "type": "array", "items": { "type": "string" } }, "transformed": { "type": "object", "$ref": "#/definitions/dss-TransformedDocumentType" }, "schemas": { "type": "object", "$ref": "#/definitions/dss-SchemasType" }, "docWithSignature": { "type": "object", "$ref": "#/definitions/dss-DocumentWithSignatureType" }, "other": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-PropertyType" } }, "result": { "type": "object", "$ref": "#/definitions/dss-VerifyManifestResultsType" }, "signingTimeInfo": { "type": "object", "$ref": "#/definitions/dss-SigningTimeInfoType" }, "verificationTimeInfo": { "type": "object", "$ref": "#/definitions/dss-VerificationTimeInfoType" }, "procDetails": { "type": "object", "$ref": "#/definitions/dss-ProcessingDetailsType" }, "signerIdentity": { "type": "object", "$ref": "#/definitions/saml2-NameIDType" }, "updSignature": { "type": "object", "$ref": "#/definitions/dss-UpdatedSignatureType" }, "timestampedSignature": { "type": "object", "$ref": "#/definitions/dss-UpdatedSignatureType" } } }, "dss-VerifyManifestResultsType": { "$xsd-type": "VerifyManifestResultsType", "type": "object", "properties": { "signedRef": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-ManifestResultType" } } }, "required": [ "signedRef" ] }, "dss-ManifestResultType": { "$xsd-type": "ManifestResultType", "type": "object", "properties": { "xPath": { "type": "string" }, "status": { "type": "string", "enum": [ "urn:oasis:names:tc:dss:1.0:manifeststatus:Valid", "urn:oasis:names:tc:dss:1.0:manifeststatus:Invalid" ] }, "nsDecl": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dsig-NsURIMappingType" } } }, "required": [ "xPath", "status" ] }, "dss-SigningTimeInfoType": { "$xsd-type": "SigningTimeInfoType", "type": "object", "properties": { "signingTime": { "type": "integer", "format": "utc-millisec" }, "signingTimeBounds": { "type": "object", "$ref": "#/definitions/dss-SigningTimeInfoType:SigningTimeBoundaries" } }, "required": [ "signingTime" ] }, "dss-SigningTimeInfoType:SigningTimeBoundaries": { "$xsd-type": "SigningTimeBoundaries", "type": "object", "properties": { "lowerBound": { "type": "integer", "format": "utc-millisec" }, "upperBound": { "type": "integer", "format": "utc-millisec" } } }, "dss-VerificationTimeInfoType": { "$xsd-type": "VerificationTimeInfoType", "type": "object", "properties": { "verificationTime": { "type": "integer", "format": "utc-millisec" }, "additionalTimeInfo": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-AdditionalTimeInfoType" } } }, "required": [ "verificationTime" ] }, "dss-AdditionalTimeInfoType": { "$xsd-type": "AdditionalTimeInfoType", "type": "object", "properties": { "value": { "type": "integer", "format": "utc-millisec" }, "type": { "type": "string", "format": "uri" }, "ref": { "type": "string", "enum": [ "urn:oasis:names:tc:dss:1.0:additionaltimeinfo:signatureTimestamp", "urn:oasis:names:tc:dss:1.0:additionaltimeinfo:signatureTimemark", "urn:oasis:names:tc:dss:1.0:additionaltimeinfo:signedObjectTimestamp", "urn:oasis:names:tc:dss:1.0:additionaltimeinfo:claimedSigningTime" ] } }, "required": [ "type" ] }, "dss-ProcessingDetailsType": { "$xsd-type": "ProcessingDetailsType", "type": "object", "properties": { "valid": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DetailType" } }, "indeterminate": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DetailType" } }, "invalid": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/dss-DetailType" } } } }, "dss-DetailType": { "$xsd-type": "DetailType", "type": "object", "properties": { "code": { "type": "string" }, "msg": { "type": "object", "$ref": "#/definitions/dss-InternationalStringType" }, "b64Content": { "type": "string" }, "type": { "type": "string", "format": "uri" } }, "required": [ "type" ] }, "dss-UpdatedSignatureType": { "$xsd-type": "UpdatedSignatureType", "type": "object", "properties": { "sigObj": { "type": "object", "$ref": "#/definitions/dss-SignatureObjectType" }, "type": { "type": "string", "format": "uri" } }, "required": [ "sigObj" ] } }, "type": "object", "properties": { "signReq": { "type": "object", "$ref": "#/definitions/dss-SignRequestType" }, "signResp": { "type": "object", "$ref": "#/definitions/dss-SignResponseType" }, "verifyReq": { "type": "object", "$ref": "#/definitions/dss-VerifyRequestType" }, "verifyResp": { "type": "object", "$ref": "#/definitions/dss-VerifyResponseType" } } } <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:dss="urn:oasis:names:tc:dss:1.0:core:schema" xmlns:ds="
http://www.w3.org/2000/09/xmldsig#" ; xmlns:xs="
http://www.w3.org/2001/XMLSchema" ; xmlns:jxb="
http://java.sun.com/xml/ns/jaxb" ; xmlns:xjc="
http://java.sun.com/xml/ns/jaxb/xjc" ; xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:annox="
http://annox.dev.java.net" ; xmlns:es="
http://trustable.eu/enrichSchema" ; xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ades="urn:oasis:names:tc:dss:1.0:profiles:AdES:schema#" xmlns:vr="urn:oasis:names:tc:dss-x:1.0:profiles:verificationreport:schema#" xmlns:xades="
http://uri.etsi.org/01903/v1.3.2#" ; targetNamespace="urn:oasis:names:tc:dss:1.0:core:schema" elementFormDefault="qualified" attributeFormDefault="unqualified" jxb:version="2.1" jxb:extensionBindingPrefixes="annox xjc"> <xs:annotation> <xs:documentation xml:lang="en">This Schema defines the Digital Signature Service Core Protocols, Elements, and Bindings Committee Specification version 1.0 release 1 </xs:documentation> </xs:annotation> <xs:import namespace="
http://uri.etsi.org/01903/v1.3.2#" ; schemaLocation="XAdES.xsd" /> <!--xs:import namespace="
http://www.w3.org/2000/09/xmldsig#" ; schemaLocation="
http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/ > <xs:import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="
http://www.oasis-open.org/committees/download.php/3408/oasis-sstc-saml-schema-protocol-1.1.xsd"/ > <xs:import namespace="
http://www.w3.org/XML/1998/namespace" ; schemaLocation="xml.xsd"/ --> <xs:import namespace="
http://www.w3.org/2000/09/xmldsig#" ; schemaLocation="xmldsig-core-schema.xsd" /> <xs:import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="oasis-sstc-saml-schema-protocol-1.1.xsd" /> <xs:import namespace="urn:oasis:names:tc:SAML:2.0:assertion" schemaLocation="saml-schema-assertion-2.0.xsd" /> <xs:import namespace="
http://www.w3.org/XML/1998/namespace" ; schemaLocation="xml.xsd" /> <xs:complexType name="AnyType"> <xs:sequence> <xs:element name="Content" minOccurs="1" maxOccurs="unbounded" es:jsonName="content"> <xs:complexType> <xs:sequence> <xs:element name="Base64Content" type="xs:base64Binary" es:jsonName="b64Content" /> <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="MimeType" type="xs:string" use="optional" es:jsonName="mimeType" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="InternationalStringType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute ref="xml:lang" use="required" es:jsonName="lang" /> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:element name="InputDocuments" type="dss:InputDocumentsType" /> <xs:complexType name="InputDocumentsType"> <xs:choice> <xs:sequence maxOccurs="unbounded" es:jsonName="doc"> <xs:element name="Document" type="dss:DocumentType" /> </xs:sequence> <xs:sequence maxOccurs="unbounded" es:jsonName="transformed"> <xs:element name="TransformedData" type="dss:TransformedDataType" /> </xs:sequence> <xs:sequence maxOccurs="unbounded" es:jsonName="docHash"> <xs:element name="DocumentHash" type="dss:DocumentHashType" /> </xs:sequence> </xs:choice> </xs:complexType> <xs:complexType name="DocumentBaseType" abstract="true"> <xs:attribute name="ID" type="xs:ID" use="optional" es:jsonName="ID" /> <xs:attribute name="RefURI" type="xs:anyURI" use="optional" es:jsonName="refURI" /> <xs:attribute name="RefType" type="xs:anyURI" use="optional" es:jsonName="refType" /> <xs:attribute name="SchemaRefs" type="xs:IDREFS" use="optional" es:jsonName="schemaRefs" /> </xs:complexType> <xs:element name="Document" type="dss:DocumentType" /> <xs:complexType name="DocumentType"> <xs:complexContent> <xs:extension base="dss:DocumentBaseType"> <xs:choice> <xs:element name="Base64Data" type="dss:Base64DataType" es:jsonName="b64Data" /> </xs:choice> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="Base64Data" type="dss:Base64DataType" /> <xs:complexType name="Base64DataType"> <xs:simpleContent> <xs:extension base="xs:base64Binary"> <xs:attribute name="MimeType" type="xs:string" use="optional" es:jsonName="mimeType" /> <xs:attribute name="AttRefURI" type="xs:anyURI" use="optional" es:jsonName="attRef" /> <xs:attribute name="ID" type="xs:ID" use="optional" es:jsonName="ID" /> <xs:attribute name="IDREF" type="xs:IDREF" use="optional" es:jsonName="IDREF" /> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="TransformedDataType"> <xs:complexContent> <xs:extension base="dss:DocumentBaseType"> <xs:sequence> <xs:element name="Transforms" type="ds:TransformsType" minOccurs="0" es:jsonName="transforms" /> <xs:element name="Base64Data" type="dss:Base64DataType" es:jsonName="b64Data" /> </xs:sequence> <xs:attribute name="WhichReference" type="xs:integer" use="optional" es:jsonName="whichRef" /> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="DocumentHash" type="dss:DocumentHashType" /> <xs:complexType name="DocumentHashType"> <xs:complexContent> <xs:extension base="dss:DocumentBaseType"> <xs:sequence> <xs:element name="Transforms" type="ds:TransformsType" minOccurs="0" es:jsonName="transforms" /> <xs:element name="DigestInfos" type="dss:DigestInfoType" minOccurs="1" maxOccurs="unbounded" es:jsonName="di" /> </xs:sequence> <xs:attribute name="WhichReference" type="xs:integer" use="optional" es:jsonName="whichRef" /> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="DigestInfoType"> <xs:sequence> <xs:element name="DigestMethod" type="xs:string" es:jsonName="alg" /> <xs:element name="DigestValue" type="xs:base64Binary" es:jsonName="value" /> </xs:sequence> </xs:complexType> <xs:element name="SignatureObject" type="dss:SignatureObjectType" /> <xs:complexType name="SignatureObjectType"> <xs:sequence> <xs:choice> <xs:element name="Base64Signature" type="dss:Base64DataType" es:jsonName="b64Sig" /> <xs:element name="SignaturePtr" type="dss:SignaturePtrType" es:jsonName="sigPtr" /> </xs:choice> </xs:sequence> <xs:attribute name="SchemaRefs" type="xs:IDREFS" use="optional" es:jsonName="schemaRefs" /> </xs:complexType> <xs:element name="SignaturePtr" type="dss:SignaturePtrType" /> <xs:complexType name="SignaturePtrType"> <xs:sequence> <xs:element name="NsURIMapping" type="ds:NsURIMappingType" minOccurs="0" maxOccurs="unbounded" es:jsonName="nsDecl" /> </xs:sequence> <xs:attribute name="WhichDocument" type="xs:IDREF" use="required" es:jsonName="whichDoc" /> <xs:attribute name="XPath" type="xs:string" use="optional" es:jsonName="xPath" /> </xs:complexType> <xs:element name="Result" type="dss:ResultType" /> <xs:complexType name="ResultType"> <xs:sequence> <xs:element name="ResultMajor" es:jsonName="maj"> <xs:simpleType> <xs:restriction base="xs:anyURI"> <xs:enumeration value="urn:oasis:names:tc:dss:1.0:resultmajor:Success" /> <xs:enumeration value="urn:oasis:names:tc:dss:1.0:resultmajor:RequesterError" /> <xs:enumeration value="urn:oasis:names:tc:dss:1.0:resultmajor:ResponderError" /> <xs:enumeration value="urn:oasis:names:tc:dss:1.0:resultmajor:InsufficientInformation" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ResultMinor" type="xs:anyURI" minOccurs="0" es:jsonName="min" /> <xs:element name="ResultMessage" type="dss:InternationalStringType" minOccurs="0" es:jsonName="msg" /> </xs:sequence> </xs:complexType> <xs:complexType name="OptionalInputsBaseType" abstract="true"> <xs:sequence> <xs:choice> <xs:element name="Profile" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded" es:jsonName="profile" /> <xs:element name="ServicePolicy" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded" es:jsonName="policy" /> <xs:element name="ClaimedIdentity" type="dss:ClaimedIdentityType" minOccurs="0" maxOccurs="1" es:jsonName="claimedIdentity" /> <xs:element name="Language" type="xs:language" minOccurs="0" maxOccurs="1" es:jsonName="lang" /> <xs:element name="Schemas" type="dss:SchemasType" minOccurs="0" maxOccurs="1" es:jsonName="schemas" /> <xs:element name="AddTimestamp" type="dss:UpdateSignatureInstructionType" minOccurs="0" maxOccurs="1" es:jsonName="addTimestamp" /> <xs:element name="Other" type="dss:PropertyType" minOccurs="0" maxOccurs="unbounded" es:jsonName="other" /> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="OptionalInputsSignType"> <xs:complexContent> <xs:extension base="dss:OptionalInputsBaseType"> <xs:sequence> <xs:choice> <xs:element name="SignatureType" type="xs:anyURI" minOccurs="0" maxOccurs="1" es:jsonName="sigType" /> <xs:element name="IntendedAudience" type="dss:IntendedAudienceType" minOccurs="0" maxOccurs="1" es:jsonName="audience" /> <xs:element name="KeySelector" type="dss:KeyInfoType" minOccurs="0" maxOccurs="1" es:jsonName="keySel" /> <xs:element name="Properties" type="dss:PropertiesHolderType" minOccurs="0" maxOccurs="1" es:jsonName="props" /> <xs:element name="IncludeObject" type="dss:IncludeObjectType" minOccurs="0" maxOccurs="unbounded" es:jsonName="includeObj" /> <xs:element name="SignaturePlacement" type="dss:SignaturePlacementType" minOccurs="0" maxOccurs="1" es:jsonName="sigPlacement" /> <xs:element name="SignedReferences" type="dss:SignedReferencesType" minOccurs="0" maxOccurs="1" es:jsonName="sigRefs" /> <xs:element name="Nonce" type="xs:integer" minOccurs="0" maxOccurs="1" es:jsonName="nonce" /> <xs:element name="SignatureAlgorithm" type="xs:string" minOccurs="0" maxOccurs="1" es:jsonName="sigAlgo" /> <xs:element name="SignatureActivationData" type="xs:string" minOccurs="0" maxOccurs="1" es:jsonName="sad" /> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="OptionalInputsVerifyType"> <xs:complexContent> <xs:extension base="dss:OptionalInputsBaseType"> <xs:sequence> <xs:choice> <xs:element name="UseVerificationTime" type="dss:UseVerificationTimeType" minOccurs="0" maxOccurs="1" es:jsonName="useVerificationTime" /> <xs:element name="ReturnVerificationTimeInfo" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1" es:jsonName="returnVerificationTime" /> <xs:element name="AdditionalKeyInfo" type="dss:AdditionalKeyInfoType" minOccurs="0" maxOccurs="1" es:jsonName="addKeyInfo" /> <xs:element name="ReturnProcessingDetails" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1" es:jsonName="returnProcDetails" /> <xs:element name="ReturnSigningTimeInfo" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1" es:jsonName="returnSigningTime" /> <xs:element name="ReturnSignerIdentity" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1" es:jsonName="returnSigner" /> <xs:element name="ReturnUpdatedSignature" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1" es:jsonName="returnUpdated" /> <xs:element name="ReturnTransformedDocument" type="dss:ReturnTransformedDocumentType" minOccurs="0" maxOccurs="unbounded" es:jsonName="returnTransformed" /> <xs:element name="ReturnTimestampedSignature" type="dss:UpdateSignatureInstructionType" minOccurs="0" maxOccurs="1" es:jsonName="returnTimestamped" /> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="OptionalOutputsBaseType" abstract="true"> <xs:sequence> <xs:element name="AppliedProfile" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded" es:jsonName="profile" /> <xs:element name="AppliedPolicy" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded" es:jsonName="policy" /> <xs:element name="TransformedDocument" type="dss:TransformedDocumentType" minOccurs="0" maxOccurs="1" es:jsonName="transformed" /> <xs:element name="Schemas" type="dss:SchemasType" minOccurs="0" maxOccurs="1" es:jsonName="schemas" /> <xs:element name="DocumentWithSignature" type="dss:DocumentWithSignatureType" minOccurs="0" maxOccurs="1" es:jsonName="docWithSignature" /> <xs:element name="Other" type="dss:PropertyType" minOccurs="0" maxOccurs="unbounded" es:jsonName="other" /> </xs:sequence> </xs:complexType> <xs:complexType name="OptionalOutputsSignType"> <xs:complexContent> <xs:extension base="dss:OptionalOutputsBaseType" /> </xs:complexContent> </xs:complexType> <xs:complexType name="OptionalOutputsVerifyType"> <xs:complexContent> <xs:extension base="dss:OptionalOutputsBaseType"> <xs:sequence> <xs:choice> <xs:element name="VerifyManifestResults" type="dss:VerifyManifestResultsType" minOccurs="0" maxOccurs="1" es:jsonName="result" /> <xs:element name="SigningTimeInfo" type="dss:SigningTimeInfoType" minOccurs="0" maxOccurs="1" es:jsonName="signingTimeInfo" /> <xs:element name="VerificationTimeInfo" type="dss:VerificationTimeInfoType" minOccurs="0" maxOccurs="1" es:jsonName="verificationTimeInfo" /> <xs:element name="ProcessingDetails" type="dss:ProcessingDetailsType" minOccurs="0" maxOccurs="1" es:jsonName="procDetails" /> <xs:element name="SignerIdentity" type="saml2:NameIDType" minOccurs="0" maxOccurs="1" es:jsonName="signerIdentity" /> <xs:element name="UpdatedSignature" type="dss:UpdatedSignatureType" minOccurs="0" maxOccurs="1" es:jsonName="updSignature" /> <xs:element name="TimestampedSignature" type="dss:UpdatedSignatureType" minOccurs="0" maxOccurs="1" es:jsonName="timestampedSignature" /> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="ServicePolicy" type="xs:anyURI" /> <xs:element name="ClaimedIdentity" type="dss:ClaimedIdentityType" /> <xs:complexType name="ClaimedIdentityType"> <xs:sequence> <xs:element name="Name" type="saml2:NameIDType" es:jsonName="name" /> <xs:element name="SupportingInfo" type="dss:AnyType" minOccurs="0" es:jsonName="suppInfo" /> </xs:sequence> </xs:complexType> <xs:element name="Language" type="xs:language" /> <xs:element name="AdditionalProfile" type="xs:anyURI" /> <xs:element name="Schemas" type="dss:SchemasType" /> <xs:complexType name="SchemasType"> <xs:sequence> <xs:element name="Schema" type="dss:DocumentType" maxOccurs="unbounded" es:jsonName="schema" /> </xs:sequence> </xs:complexType> <xs:element name="Schema" type="dss:DocumentType" /> <xs:complexType abstract="true" name="RequestBaseType"> <xs:sequence> <xs:element name="InputDocuments" type="dss:InputDocumentsType" minOccurs="0" es:jsonName="inDocs" /> </xs:sequence> <xs:attribute name="RequestID" type="xs:string" use="optional" es:jsonName="reqID" /> </xs:complexType> <xs:complexType abstract="true" name="ResponseBaseType"> <xs:annotation> <xs:appinfo> <annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement" name="ResponseBaseType" /> <annox:annotateClass>@com.fasterxml.jackson.annotation.JsonInclude(value=com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY) </annox:annotateClass> </xs:appinfo> </xs:annotation> <xs:sequence> <xs:element name="Result" type="dss:ResultType" es:jsonName="result" /> </xs:sequence> <xs:attribute name="RequestID" type="xs:string" use="optional" es:jsonName="reqID" /> </xs:complexType> <xs:element name="Response" type="dss:ResponseBaseType" /> <xs:element name="SignRequest" type="dss:SignRequestType" /> <xs:complexType name="SignRequestType"> <xs:complexContent> <xs:extension base="dss:RequestBaseType"> <xs:sequence> <xs:element name="OptionalInputs" type="dss:OptionalInputsSignType" minOccurs="0" es:jsonName="optInp" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="SignResponse" type="dss:SignResponseType" /> <xs:complexType name="SignResponseType"> <xs:complexContent> <xs:extension base="dss:ResponseBaseType"> <xs:sequence> <xs:element name="OptionalOutputs" type="dss:OptionalOutputsSignType" minOccurs="0" es:jsonName="optOutp" /> <xs:element name="SignatureObject" type="dss:SignatureObjectType" minOccurs="0" es:jsonName="sigObj" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="SignatureType" type="xs:anyURI" /> <xs:element name="AddTimestamp" type="dss:UpdateSignatureInstructionType" /> <xs:complexType name="UpdateSignatureInstructionType"> <xs:attribute name="Type" type="xs:anyURI" use="optional" es:jsonName="type" /> </xs:complexType> <xs:element name="IntendedAudience" type="dss:IntendedAudienceType" /> <xs:complexType name="IntendedAudienceType"> <xs:sequence> <xs:element name="Recipient" type="saml2:NameIDType" maxOccurs="unbounded" es:jsonName="recipient" /> </xs:sequence> </xs:complexType> <xs:element name="KeySelector" type="dss:KeyInfoType" /> <xs:complexType name="KeyInfoType"> <xs:choice> <xs:element name="X509Digest" type="dss:X509DigestType" es:jsonName="x509Digest" /> <xs:element name="X509SubjectName" type="xs:string" es:jsonName="subject" /> <xs:element name="X509SKI" type="xs:base64Binary" es:jsonName="ski" /> <xs:element name="X509Certificate" type="xs:base64Binary" es:jsonName="cert" /> <xs:element name="KeyName" type="xs:string" es:jsonName="name" /> </xs:choice> </xs:complexType> <xs:complexType name="X509DigestType"> <xs:simpleContent> <xs:extension base="xs:base64Binary"> <xs:attribute name="Algorithm" type="xs:string" use="required" es:jsonName="algo" /> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:element name="PropertiesHolder" type="dss:PropertiesHolderType" /> <xs:complexType name="PropertiesHolderType"> <xs:sequence> <xs:element name="SignedProperties" type="dss:PropertiesType" minOccurs="0" es:jsonName="signedProps" /> <xs:element name="UnsignedProperties" type="dss:PropertiesType" minOccurs="0" es:jsonName="unsignedProps" /> </xs:sequence> </xs:complexType> <xs:complexType name="PropertiesType"> <xs:sequence> <xs:element name="Property" type="dss:PropertyType" maxOccurs="unbounded" es:jsonName="prop" /> </xs:sequence> </xs:complexType> <xs:complexType name="PropertyType"> <xs:sequence> <xs:element name="Identifier" type="xs:string" es:jsonName="id" /> <xs:element name="Value" type="dss:AnyType" minOccurs="0" es:jsonName="value" /> </xs:sequence> </xs:complexType> <xs:element name="Property" type="dss:PropertyType" /> <xs:element name="IncludeObject" type="dss:IncludeObjectType" /> <xs:complexType name="IncludeObjectType"> <xs:attribute name="WhichDocument" type="xs:IDREF" es:jsonName="whichDoc" /> <xs:attribute name="hasObjectTagsAndAttributesSet" type="xs:boolean" default="false" es:jsonName="hasObjectTagsAndAttributesSet" /> <xs:attribute name="ObjId" type="xs:string" use="optional" es:jsonName="objId" /> <xs:attribute name="createReferenc