{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {
    "dss2-SignRequestType": {
      "$xsd-type": "SignRequestType",
      "$xsd-full-type": "dss2:SignRequestType",
      "type": "object",
      "properties": {
        "profile": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reqID": {
          "type": "string"
        },
        "inDocs": {
          "$ref": "#/definitions/dss2-InputDocumentsType"
        },
        "optInp": {
          "$ref": "#/definitions/dss2-OptionalInputsSignType"
        }
      }
    },
    "dss2-InputDocumentsType": {
      "$xsd-type": "InputDocumentsType",
      "$xsd-full-type": "dss2:InputDocumentsType",
      "type": "object",
      "properties": {
        "doc": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DocumentType"
          }
        },
        "transformed": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-TransformedDataType"
          }
        },
        "docHash": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DocumentHashType"
          }
        }
      }
    },
    "dss2-DocumentType": {
      "$xsd-type": "DocumentType",
      "$xsd-full-type": "dss2:DocumentType",
      "type": "object",
      "properties": {
        "ID": {
          "type": "string"
        },
        "refURI": {
          "type": "string"
        },
        "refType": {
          "type": "string"
        },
        "schemaRefs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DocumentType"
          }
        },
        "b64Data": {
          "$ref": "#/definitions/dsb-Base64DataType"
        }
      },
      "required": ["b64Data"]
    },
    "dsb-Base64DataType": {
      "$xsd-type": "Base64DataType",
      "$xsd-full-type": "dsb:Base64DataType",
      "type": "object",
      "properties": {
        "ID": {
          "type": "string"
        },
        "val": {
          "type": "string"
        },
        "attRef": {
          "$ref": "#/definitions/dsb-AttachmentReferenceType"
        },
        "mimeType": {
          "type": "string"
        },
        "idRef": {
          "type": "string"
        }
      },
      "minProperties": 0
    },
    "dsb-AttachmentReferenceType": {
      "$xsd-type": "AttachmentReferenceType",
      "$xsd-full-type": "dsb:AttachmentReferenceType",
      "type": "object",
      "properties": {
        "di": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-DigestInfoType"
          }
        },
        "attURI": {
          "type": "string"
        }
      },
      "required": ["attURI"]
    },
    "dsb-DigestInfoType": {
      "$xsd-type": "DigestInfoType",
      "$xsd-full-type": "dsb:DigestInfoType",
      "type": "object",
      "properties": {
        "alg": {
          "type": "string"
        },
        "val": {
          "type": "string"
        }
      },
      "required": ["alg", "val"]
    },
    "dss2-TransformedDataType": {
      "$xsd-type": "TransformedDataType",
      "$xsd-full-type": "dss2:TransformedDataType",
      "type": "object",
      "properties": {
        "ID": {
          "type": "string"
        },
        "refURI": {
          "type": "string"
        },
        "refType": {
          "type": "string"
        },
        "schemaRefs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DocumentType"
          }
        },
        "transforms": {
          "$ref": "#/definitions/dsigrw-TransformsType"
        },
        "b64Data": {
          "$ref": "#/definitions/dsb-Base64DataType"
        },
        "whichRef": {
          "type": "integer"
        }
      },
      "required": ["b64Data"]
    },
    "dsigrw-TransformsType": {
      "$xsd-type": "TransformsType",
      "$xsd-full-type": "ds-rw:TransformsType",
      "type": "object",
      "properties": {
        "transform": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsigrw-TransformType"
          }
        }
      },
      "required": ["transform"]
    },
    "dsigrw-TransformType": {
      "$xsd-type": "TransformType",
      "$xsd-full-type": "ds-rw:TransformType",
      "type": "object",
      "properties": {
        "xpath": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "val": {
          "type": "string"
        },
        "b64Content": {
          "type": "string"
        },
        "xPath": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nsDecl": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-NsPrefixMappingType"
          }
        },
        "alg": {
          "type": "string"
        }
      },
      "required": ["alg"]
    },
    "dsb-NsPrefixMappingType": {
      "$xsd-type": "NsPrefixMappingType",
      "$xsd-full-type": "dsb:NsPrefixMappingType",
      "type": "object",
      "properties": {
        "uri": {
          "type": "string"
        },
        "pre": {
          "type": "string"
        }
      },
      "required": ["uri", "pre"]
    },
    "dss2-DocumentHashType": {
      "$xsd-type": "DocumentHashType",
      "$xsd-full-type": "dss2:DocumentHashType",
      "type": "object",
      "properties": {
        "ID": {
          "type": "string"
        },
        "refURI": {
          "type": "string"
        },
        "refType": {
          "type": "string"
        },
        "schemaRefs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DocumentType"
          }
        },
        "transforms": {
          "$ref": "#/definitions/dsigrw-TransformsType"
        },
        "dis": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-DigestInfoType"
          }
        },
        "whichRef": {
          "type": "integer"
        }
      },
      "required": ["dis"]
    },
    "dss2-OptionalInputsSignType": {
      "$xsd-type": "OptionalInputsSignType",
      "$xsd-full-type": "dss2:OptionalInputsSignType",
      "type": "object",
      "properties": {
        "policy": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "lang": {
          "type": "string"
        },
        "other": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-AnyType"
          }
        },
        "claimedIdentity": {
          "$ref": "#/definitions/dss2-ClaimedIdentityType"
        },
        "schemas": {
          "$ref": "#/definitions/dss2-SchemasType"
        },
        "addTimestamp": {
          "$ref": "#/definitions/dss2-AugmentSignatureInstructionType"
        },
        "sigType": {
          "type": "string"
        },
        "aud": {
          "$ref": "#/definitions/dss2-IntendedAudienceType"
        },
        "keySel": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-KeySelectorType"
          }
        },
        "props": {
          "$ref": "#/definitions/dss2-PropertiesHolderType"
        },
        "incObj": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-IncludeObjectType"
          }
        },
        "incContent": {
          "type": "boolean",
          "default": "false"
        },
        "sigPlacement": {
          "$ref": "#/definitions/dss2-SignaturePlacementType"
        },
        "signedRefs": {
          "$ref": "#/definitions/dss2-SignedReferencesType"
        },
        "nonce": {
          "type": "integer"
        },
        "sigAlgo": {
          "type": "string"
        },
        "quality": {
          "type": "string"
        }
      }
    },
    "dsb-AnyType": {
      "$xsd-type": "AnyType",
      "$xsd-full-type": "dsb:AnyType",
      "type": "object",
      "properties": {
        "ID": {
          "type": "string"
        },
        "val": {
          "type": "string"
        },
        "attRef": {
          "$ref": "#/definitions/dsb-AttachmentReferenceType"
        },
        "mimeType": {
          "type": "string"
        },
        "idRef": {
          "type": "string"
        }
      }
    },
    "dss2-ClaimedIdentityType": {
      "$xsd-type": "ClaimedIdentityType",
      "$xsd-full-type": "dss2:ClaimedIdentityType",
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/definitions/saml2rw-NameIDType"
        },
        "suppInfo": {
          "$ref": "#/definitions/dsb-AnyType"
        }
      },
      "required": ["name"]
    },
    "saml2rw-NameIDType": {
      "$xsd-type": "NameIDType",
      "$xsd-full-type": "saml2-rw:NameIDType",
      "type": "object",
      "properties": {
        "spprovidedID": {
          "type": "string"
        },
        "spnameQualifier": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "format": {
          "type": "string"
        },
        "provId": {
          "type": "string"
        },
        "nameQual": {
          "type": "string"
        },
        "spNameQual": {
          "type": "string"
        }
      }
    },
    "dss2-SchemasType": {
      "$xsd-type": "SchemasType",
      "$xsd-full-type": "dss2:SchemasType",
      "type": "object",
      "properties": {
        "schema": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DocumentType"
          }
        }
      },
      "required": ["schema"]
    },
    "dss2-AugmentSignatureInstructionType": {
      "$xsd-type": "AugmentSignatureInstructionType",
      "$xsd-full-type": "dss2:AugmentSignatureInstructionType",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "dss2-IntendedAudienceType": {
      "$xsd-type": "IntendedAudienceType",
      "$xsd-full-type": "dss2:IntendedAudienceType",
      "type": "object",
      "properties": {
        "recipient": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/saml2rw-NameIDType"
          }
        }
      },
      "required": ["recipient"]
    },
    "dss2-KeySelectorType": {
      "$xsd-type": "KeySelectorType",
      "$xsd-full-type": "dss2:KeySelectorType",
      "type": "object",
      "properties": {
        "x509Digest": {
          "$ref": "#/definitions/dss2-X509DigestType"
        },
        "sub": {
          "type": "string"
        },
        "ski": {
          "type": "string"
        },
        "cert": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "minProperties": 1,
      "maxProperties": 1
    },
    "dss2-X509DigestType": {
      "$xsd-type": "X509DigestType",
      "$xsd-full-type": "dss2:X509DigestType",
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "alg": {
          "type": "string"
        }
      },
      "required": ["alg"]
    },
    "dss2-PropertiesHolderType": {
      "$xsd-type": "PropertiesHolderType",
      "$xsd-full-type": "dss2:PropertiesHolderType",
      "type": "object",
      "properties": {
        "signedProps": {
          "$ref": "#/definitions/dss2-PropertiesType"
        },
        "unsignedProps": {
          "$ref": "#/definitions/dss2-PropertiesType"
        }
      }
    },
    "dss2-PropertiesType": {
      "$xsd-type": "PropertiesType",
      "$xsd-full-type": "dss2:PropertiesType",
      "type": "object",
      "properties": {
        "prop": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-PropertyType"
          }
        }
      },
      "required": ["prop"]
    },
    "dss2-PropertyType": {
      "$xsd-type": "PropertyType",
      "$xsd-full-type": "dss2:PropertyType",
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "val": {
          "$ref": "#/definitions/dsb-AnyType"
        }
      },
      "required": ["id"]
    },
    "dss2-IncludeObjectType": {
      "$xsd-type": "IncludeObjectType",
      "$xsd-full-type": "dss2:IncludeObjectType",
      "type": "object",
      "properties": {
        "whichDoc": {
          "$ref": "#/definitions/dss2-DocumentBaseType"
        },
        "hasObjectTagsAndAttributesSet": {
          "type": "boolean",
          "default": "false"
        },
        "objId": {
          "type": "string"
        },
        "createRef": {
          "type": "boolean",
          "default": "true"
        }
      }
    },
    "dss2-DocumentBaseType": {
      "$xsd-type": "DocumentBaseType",
      "$xsd-full-type": "dss2:DocumentBaseType",
      "type": "object",
      "properties": {
        "ID": {
          "type": "string"
        },
        "refURI": {
          "type": "string"
        },
        "refType": {
          "type": "string"
        },
        "schemaRefs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DocumentType"
          }
        }
      }
    },
    "dss2-SignaturePlacementType": {
      "$xsd-type": "SignaturePlacementType",
      "$xsd-full-type": "dss2:SignaturePlacementType",
      "type": "object",
      "properties": {
        "xpathAfter": {
          "type": "string"
        },
        "xpathFirstChildOf": {
          "type": "string"
        },
        "xPathAfter": {
          "type": "string"
        },
        "xPathFirstChildOf": {
          "type": "string"
        },
        "nsDecl": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-NsPrefixMappingType"
          }
        },
        "whichDoc": {
          "$ref": "#/definitions/dss2-DocumentBaseType"
        },
        "createEnvelopedSignature": {
          "type": "boolean",
          "default": "true"
        }
      }
    },
    "dss2-SignedReferencesType": {
      "$xsd-type": "SignedReferencesType",
      "$xsd-full-type": "dss2:SignedReferencesType",
      "type": "object",
      "properties": {
        "signedRef": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-SignedReferenceType"
          }
        }
      },
      "required": ["signedRef"]
    },
    "dss2-SignedReferenceType": {
      "$xsd-type": "SignedReferenceType",
      "$xsd-full-type": "dss2:SignedReferenceType",
      "type": "object",
      "properties": {
        "transforms": {
          "$ref": "#/definitions/dsigrw-TransformsType"
        },
        "whichDoc": {
          "$ref": "#/definitions/dss2-DocumentBaseType"
        },
        "refURI": {
          "type": "string"
        },
        "refId": {
          "type": "string"
        }
      },
      "required": ["whichDoc"]
    },
    "dss2-SignResponseType": {
      "$xsd-type": "SignResponseType",
      "$xsd-full-type": "dss2:SignResponseType",
      "type": "object",
      "properties": {
        "result": {
          "$ref": "#/definitions/dsb-ResultType"
        },
        "profile": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reqID": {
          "type": "string"
        },
        "respID": {
          "type": "string"
        },
        "optOutp": {
          "$ref": "#/definitions/dss2-OptionalOutputsSignType"
        },
        "sigObj": {
          "$ref": "#/definitions/dss2-SignatureObjectType"
        }
      }
    },
    "dsb-ResultType": {
      "$xsd-type": "ResultType",
      "$xsd-full-type": "dsb: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",
            "urn:oasis:names:tc:dss:1.0:profiles:asynchronousprocessing:resultmajor:Pending"
          ]
        },
        "min": {
          "type": "string"
        },
        "msg": {
          "$ref": "#/definitions/dsb-InternationalStringType"
        },
        "pRef": {
          "type": "string"
        }
      },
      "required": ["maj"]
    },
    "dsb-InternationalStringType": {
      "$xsd-type": "InternationalStringType",
      "$xsd-full-type": "dsb:InternationalStringType",
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "lang": {
          "type": "string"
        }
      },
      "required": ["lang"]
    },
    "dss2-OptionalOutputsSignType": {
      "$xsd-type": "OptionalOutputsSignType",
      "$xsd-full-type": "dss2:OptionalOutputsSignType",
      "type": "object",
      "properties": {
        "policy": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "other": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-AnyType"
          }
        },
        "transformed": {
          "$ref": "#/definitions/dss2-TransformedDocumentType"
        },
        "schemas": {
          "$ref": "#/definitions/dss2-SchemasType"
        },
        "docWithSignature": {
          "$ref": "#/definitions/dss2-DocumentWithSignatureType"
        }
      }
    },
    "dss2-TransformedDocumentType": {
      "$xsd-type": "TransformedDocumentType",
      "$xsd-full-type": "dss2:TransformedDocumentType",
      "type": "object",
      "properties": {
        "doc": {
          "$ref": "#/definitions/dss2-DocumentType"
        },
        "whichRef": {
          "type": "integer"
        }
      },
      "required": ["doc", "whichRef"]
    },
    "dss2-DocumentWithSignatureType": {
      "$xsd-type": "DocumentWithSignatureType",
      "$xsd-full-type": "dss2:DocumentWithSignatureType",
      "type": "object",
      "properties": {
        "doc": {
          "$ref": "#/definitions/dss2-DocumentType"
        }
      },
      "required": ["doc"]
    },
    "dss2-SignatureObjectType": {
      "$xsd-type": "SignatureObjectType",
      "$xsd-full-type": "dss2:SignatureObjectType",
      "type": "object",
      "properties": {
        "b64Sig": {
          "$ref": "#/definitions/dsb-Base64DataType"
        },
        "sigPtr": {
          "$ref": "#/definitions/dss2-SignaturePtrType"
        },
        "schemaRefs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DocumentBaseType"
          }
        }
      },
      "minProperties": 1
    },
    "dss2-SignaturePtrType": {
      "$xsd-type": "SignaturePtrType",
      "$xsd-full-type": "dss2:SignaturePtrType",
      "type": "object",
      "properties": {
        "xpath": {
          "type": "string"
        },
        "nsDecl": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-NsPrefixMappingType"
          }
        },
        "whichDoc": {
          "$ref": "#/definitions/dss2-DocumentBaseType"
        },
        "xPath": {
          "type": "string"
        }
      },
      "required": ["whichDoc"]
    },
    "dss2-VerifyRequestType": {
      "$xsd-type": "VerifyRequestType",
      "$xsd-full-type": "dss2:VerifyRequestType",
      "type": "object",
      "properties": {
        "profile": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reqID": {
          "type": "string"
        },
        "inDocs": {
          "$ref": "#/definitions/dss2-InputDocumentsType"
        },
        "optInp": {
          "$ref": "#/definitions/dss2-OptionalInputsVerifyType"
        },
        "sigObj": {
          "$ref": "#/definitions/dss2-SignatureObjectType"
        }
      }
    },
    "dss2-OptionalInputsVerifyType": {
      "$xsd-type": "OptionalInputsVerifyType",
      "$xsd-full-type": "dss2:OptionalInputsVerifyType",
      "type": "object",
      "properties": {
        "policy": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "lang": {
          "type": "string"
        },
        "other": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-AnyType"
          }
        },
        "claimedIdentity": {
          "$ref": "#/definitions/dss2-ClaimedIdentityType"
        },
        "schemas": {
          "$ref": "#/definitions/dss2-SchemasType"
        },
        "addTimestamp": {
          "$ref": "#/definitions/dss2-AugmentSignatureInstructionType"
        },
        "useVerificationTime": {
          "$ref": "#/definitions/dss2-UseVerificationTimeType"
        },
        "returnVerificationTime": {
          "type": "boolean",
          "default": "false"
        },
        "addKeyInfo": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-AdditionalKeyInfoType"
          }
        },
        "returnProcDetails": {
          "type": "boolean",
          "default": "false"
        },
        "returnSigningTime": {
          "type": "boolean",
          "default": "false"
        },
        "returnSigner": {
          "type": "boolean",
          "default": "false"
        },
        "returnAugmented": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-AugmentSignatureInstructionType"
          }
        },
        "returnTransformed": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-ReturnTransformedDocumentType"
          }
        },
        "returnTimestamped": {
          "$ref": "#/definitions/dss2-AugmentSignatureInstructionType"
        },
        "verifyManifests": {
          "type": "boolean",
          "default": "false"
        }
      }
    },
    "dss2-UseVerificationTimeType": {
      "$xsd-type": "UseVerificationTimeType",
      "$xsd-full-type": "dss2:UseVerificationTimeType",
      "type": "object",
      "properties": {
        "currTime": {
          "type": "boolean",
          "default": "false"
        },
        "specTime": {
          "type": "integer",
          "format": "utc-millisec"
        },
        "b64Content": {
          "type": "string"
        }
      },
      "minProperties": 1,
      "maxProperties": 1
    },
    "dss2-AdditionalKeyInfoType": {
      "$xsd-type": "AdditionalKeyInfoType",
      "$xsd-full-type": "dss2:AdditionalKeyInfoType",
      "type": "object",
      "properties": {
        "ocspresponse": {
          "$ref": "#/definitions/dsb-Base64DataType"
        },
        "x509Digest": {
          "$ref": "#/definitions/dss2-X509DigestType"
        },
        "sub": {
          "type": "string"
        },
        "ski": {
          "type": "string"
        },
        "cert": {
          "$ref": "#/definitions/dsb-Base64DataType"
        },
        "name": {
          "type": "string"
        },
        "crl": {
          "$ref": "#/definitions/dsb-Base64DataType"
        },
        "ocsp": {
          "$ref": "#/definitions/dsb-Base64DataType"
        },
        "poe": {
          "$ref": "#/definitions/dsb-Base64DataType"
        }
      },
      "minProperties": 1,
      "maxProperties": 1
    },
    "dss2-ReturnTransformedDocumentType": {
      "$xsd-type": "ReturnTransformedDocumentType",
      "$xsd-full-type": "dss2:ReturnTransformedDocumentType",
      "type": "object",
      "properties": {
        "whichRef": {
          "type": "integer"
        }
      },
      "required": ["whichRef"]
    },
    "dss2-VerifyResponseType": {
      "$xsd-type": "VerifyResponseType",
      "$xsd-full-type": "dss2:VerifyResponseType",
      "type": "object",
      "properties": {
        "result": {
          "$ref": "#/definitions/dsb-ResultType"
        },
        "profile": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reqID": {
          "type": "string"
        },
        "respID": {
          "type": "string"
        },
        "optOutp": {
          "$ref": "#/definitions/dss2-OptionalOutputsVerifyType"
        }
      }
    },
    "dss2-OptionalOutputsVerifyType": {
      "$xsd-type": "OptionalOutputsVerifyType",
      "$xsd-full-type": "dss2:OptionalOutputsVerifyType",
      "type": "object",
      "properties": {
        "policy": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "other": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dsb-AnyType"
          }
        },
        "transformed": {
          "$ref": "#/definitions/dss2-TransformedDocumentType"
        },
        "schemas": {
          "$ref": "#/definitions/dss2-SchemasType"
        },
        "docWithSignature": {
          "$ref": "#/definitions/dss2-DocumentWithSignatureType"
        },
        "result": {
          "$ref": "#/definitions/dss2-VerifyManifestResultsType"
        },
        "signingTimeInfo": {
          "$ref": "#/definitions/dss2-SigningTimeInfoType"
        },
        "verificationTimeInfo": {
          "$ref": "#/definitions/dss2-VerificationTimeInfoType"
        },
        "procDetails": {
          "$ref": "#/definitions/dss2-ProcessingDetailsType"
        },
        "signerIdentity": {
          "$ref": "#/definitions/saml2rw-NameIDType"
        },
        "augSig": {
          "$ref": "#/definitions/dss2-AugmentedSignatureType"
        },
        "timestampedSig": {
          "$ref": "#/definitions/dss2-AugmentedSignatureType"
        }
      }
    },
    "dss2-VerifyManifestResultsType": {
      "$xsd-type": "VerifyManifestResultsType",
      "$xsd-full-type": "dss2:VerifyManifestResultsType",
      "type": "object",
      "properties": {
        "result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-ManifestResultType"
          }
        }
      },
      "required": ["result"]
    },
    "dss2-ManifestResultType": {
      "$xsd-type": "ManifestResultType",
      "$xsd-full-type": "dss2: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": {
            "$ref": "#/definitions/dsb-NsPrefixMappingType"
          }
        }
      },
      "required": ["xPath", "status"]
    },
    "dss2-SigningTimeInfoType": {
      "$xsd-type": "SigningTimeInfoType",
      "$xsd-full-type": "dss2:SigningTimeInfoType",
      "type": "object",
      "properties": {
        "signingTime": {
          "type": "integer",
          "format": "utc-millisec"
        },
        "signingTimeBounds": {
          "$ref": "#/definitions/dss2-SigningTimeInfoType%3ASigningTimeBoundaries"
        }
      },
      "required": ["signingTime"]
    },
    "dss2-SigningTimeInfoType:SigningTimeBoundaries": {
      "$xsd-type": "",
      "$xsd-full-type": "",
      "type": "object",
      "properties": {
        "lowerBound": {
          "type": "integer",
          "format": "utc-millisec"
        },
        "upperBound": {
          "type": "integer",
          "format": "utc-millisec"
        }
      }
    },
    "dss2-VerificationTimeInfoType": {
      "$xsd-type": "VerificationTimeInfoType",
      "$xsd-full-type": "dss2:VerificationTimeInfoType",
      "type": "object",
      "properties": {
        "verificationTime": {
          "type": "integer",
          "format": "utc-millisec"
        },
        "additionalTimeInfo": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-AdditionalTimeInfoType"
          }
        }
      },
      "required": ["verificationTime"]
    },
    "dss2-AdditionalTimeInfoType": {
      "$xsd-type": "AdditionalTimeInfoType",
      "$xsd-full-type": "dss2:AdditionalTimeInfoType",
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "format": "utc-millisec"
        },
        "type": {
          "type": "string",
          "format": "uri"
        },
        "ref": {
          "type": "string"
        }
      },
      "required": ["type"]
    },
    "dss2-ProcessingDetailsType": {
      "$xsd-type": "ProcessingDetailsType",
      "$xsd-full-type": "dss2:ProcessingDetailsType",
      "type": "object",
      "properties": {
        "valid": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DetailType"
          }
        },
        "indeterminate": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DetailType"
          }
        },
        "invalid": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dss2-DetailType"
          }
        }
      }
    },
    "dss2-DetailType": {
      "$xsd-type": "DetailType",
      "$xsd-full-type": "dss2:DetailType",
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "msg": {
          "$ref": "#/definitions/dsb-InternationalStringType"
        },
        "b64Content": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": ["type"]
    },
    "dss2-AugmentedSignatureType": {
      "$xsd-type": "AugmentedSignatureType",
      "$xsd-full-type": "dss2:AugmentedSignatureType",
      "type": "object",
      "properties": {
        "sigObj": {
          "$ref": "#/definitions/dss2-SignatureObjectType"
        },
        "type": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": ["sigObj"]
    },
    "dss2-PendingRequestType": {
      "$xsd-type": "PendingRequestType",
      "$xsd-full-type": "dss2:PendingRequestType",
      "type": "object",
      "properties": {
        "profile": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reqID": {
          "type": "string"
        },
        "claimedIdentity": {
          "$ref": "#/definitions/dss2-ClaimedIdentityType"
        }
      }
    },
    "dsb-ResponseBaseType": {
      "$xsd-type": "ResponseBaseType",
      "$xsd-full-type": "dsb:ResponseBaseType",
      "type": "object",
      "properties": {
        "result": {
          "$ref": "#/definitions/dsb-ResultType"
        },
        "profile": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reqID": {
          "type": "string"
        },
        "respID": {
          "type": "string"
        }
      },
      "required": ["result"]
    }
  },
  "id": "https://json.schemastore.org/dss-2.0.0.json",
  "properties": {
    "signReq": {
      "$ref": "#/definitions/dss2-SignRequestType"
    },
    "signResp": {
      "$ref": "#/definitions/dss2-SignResponseType"
    },
    "verifyReq": {
      "$ref": "#/definitions/dss2-VerifyRequestType"
    },
    "verifyResp": {
      "$ref": "#/definitions/dss2-VerifyResponseType"
    },
    "pendingReq": {
      "$ref": "#/definitions/dss2-PendingRequestType"
    },
    "genericResp": {
      "$ref": "#/definitions/dsb-ResponseBaseType"
    }
  },
  "type": "object"
}
