[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: DSS-JSON binding
Hi all, see my draft on a JSON binding
attached. A JSON schema created by the JAXB framework is attached, but the expressiveness and readability leaves room for improvements. Does anyone has experience in deriving a readable JSON schema from a given JSON sample or a XML schema? Moreover, did the dust settle for an agreed JSON schema format?
Greetings,
Andreas
-- Andreas Kühne phone: +49 177 293 24 97 mailto: kuehne@trustable.de Trustable Ltd. Niederlassung Deutschland Gartenheimstr. 39C - 30659 Hannover Amtsgericht Hannover HRB 212612 Director Andreas Kühne Company UK Company No: 5218868 Registered in England and Wales |
Attachment:
DSS_REST_JSON.odt
Description: application/vnd.oasis.opendocument.text
{ "type":"object", "properties":{ "OptionalInputs":{ "type":"object", "properties":{ "signatureForm":{ "type":"string" }, "returnVerificationReport":{ "type":"object", "properties":{ "IncludeVerifier":{ "type":"boolean" }, "IncludeCertificateValues":{ "type":"boolean" }, "IncludeRevocationValues":{ "type":"boolean" }, "ExpandBinaryValues":{ "type":"boolean" }, "ReportDetailLevel":{ "type":"string" } } }, "SignatureType":{ "type":"string" }, "AdditionalProfile":{ "type":"array", "items":{ "type":"string" } }, "SignedReferences":{ "type":"object", "properties":{ "SignedReference":{ "type":"array", "items":{ "type":"object", "properties":{ "transforms":{ "type":"object", "properties":{ "Transform":{ "type":"array", "items":{ "type":"object", "properties":{ "XPath":{ "type":"array", "items":{ "type":"any" } }, "Algorithm":{ "type":"string" } } } } } }, "WhichDocument":null, "RefURI":{ "type":"string" }, "RefId":{ "type":"string" } } } } } }, "ServicePolicy":{ "type":"string" }, "ClaimedIdentity":{ "type":"object", "properties":{ "Name":{ "type":"object", "properties":{ "value":{ "type":"string" }, "NameQualifier":{ "type":"string" }, "Format":{ "type":"string" } } }, "SupportingInfo":{ "type":"object", "properties":{ "Base64Content":{ "type":"array", "items":{ "type":"string" } } } } } }, "Language":{ "type":"string" }, "Schemas":{ "type":"object", "properties":{ "schema":{ "type":"array", "items":{ "type":"object", "properties":{ "id":{ "type":"string" }, "refURI":{ "type":"string" }, "refType":{ "type":"string" }, "schemaRefs":{ "type":"array", "items":{ "type":"any" } }, "Base64XML":{ "type":"array", "items":{ "type":"string" } }, "Base64Data":{ "type":"object", "properties":{ "value":{ "type":"array", "items":{ "type":"string" } }, "MimeType":{ "type":"string" } } }, "AttachmentReference":{ "type":"object", "properties":{ "digestMethod":{ "type":"object", "properties":{ "content":{ "type":"array", "items":{ "type":"any" } }, "Algorithm":{ "type":"string" } } }, "digestValue":{ "type":"array", "items":{ "type":"string" } }, "attRefURI":{ "type":"string" }, "mimeType":{ "type":"string" } } } } } } } }, "AddTimestamp":{ "type":"object", "properties":{ "Type":{ "type":"string" } } }, "IntendedAudience":{ "type":"object", "properties":{ "Recipient":{ "type":"array", "items":{ "type":"object", "properties":{ "value":{ "type":"string" }, "NameQualifier":{ "type":"string" }, "Format":{ "type":"string" } } } } } }, "KeySelector":{ "type":"object", "properties":{ "KeyInfo":{ "type":"object", "properties":{ "pgpdata":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "pgpkeyID":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "pgpkeyPacket":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "PGPKeyID":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "PGPKeyPacket":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "spkidata":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "spkisexp":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "SPKISexp":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "KeyName":{ "type":"array", "items":{ "type":"string" } }, "KeyValue":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"string" } }, "rsakeyValue":{ "type":"object", "properties":{ "Modulus":{ "type":"array", "items":{ "type":"string" } }, "Exponent":{ "type":"array", "items":{ "type":"string" } } } }, "dsakeyValue":{ "type":"object", "properties":{ "P":{ "type":"array", "items":{ "type":"string" } }, "Q":{ "type":"array", "items":{ "type":"string" } }, "G":{ "type":"array", "items":{ "type":"string" } }, "Y":{ "type":"array", "items":{ "type":"string" } }, "J":{ "type":"array", "items":{ "type":"string" } }, "Seed":{ "type":"array", "items":{ "type":"string" } }, "PgenCounter":{ "type":"array", "items":{ "type":"string" } } } }, "DSAKeyValue":{ "type":"object", "properties":{ "P":{ "type":"array", "items":{ "type":"string" } }, "Q":{ "type":"array", "items":{ "type":"string" } }, "G":{ "type":"array", "items":{ "type":"string" } }, "Y":{ "type":"array", "items":{ "type":"string" } }, "J":{ "type":"array", "items":{ "type":"string" } }, "Seed":{ "type":"array", "items":{ "type":"string" } }, "PgenCounter":{ "type":"array", "items":{ "type":"string" } } } }, "RSAKeyValue":{ "type":"object", "properties":{ "Modulus":{ "type":"array", "items":{ "type":"string" } }, "Exponent":{ "type":"array", "items":{ "type":"string" } } } } } } }, "RetrievalMethod":{ "type":"array", "items":{ "type":"object", "properties":{ "transforms":{ "type":"object", "properties":{ "Transform":{ "type":"array", "items":{ "type":"object", "properties":{ "XPath":{ "type":"array", "items":{ "type":"any" } }, "Algorithm":{ "type":"string" } } } } } }, "uri":{ "type":"string" }, "type":{ "type":"string" } } } }, "X509Data":{ "type":"array", "items":{ "type":"object", "properties":{ "X509IssuerSerial":{ "type":"array", "items":{ "type":"object", "properties":{ "X509IssuerName":{ "type":"string" }, "X509SerialNumber":{ "type":"integer" } } } }, "X509SKI":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "X509SubjectName":{ "type":"array", "items":{ "type":"string" } }, "X509Certificate":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "X509CRL":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "PGPData":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "pgpkeyID":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "pgpkeyPacket":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "PGPKeyID":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "PGPKeyPacket":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "SPKIData":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "spkisexp":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "SPKISexp":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "MgmtData":{ "type":"array", "items":{ "type":"string" } }, "Id":{ "type":"string" } } }, "Other":{ "type":"object", "properties":{ "Base64Content":{ "type":"array", "items":{ "type":"string" } } } } } }, "Properties":{ "type":"object", "properties":{ "SignedProperties":{ "type":"object", "properties":{ "Property":{ "type":"array", "items":{ "type":"object", "properties":{ "Identifier":{ "type":"string" }, "Value":{ "type":"object", "properties":{ "Base64Content":{ "type":"array", "items":{ "type":"string" } } } } } } } } }, "UnsignedProperties":{ "type":"object", "properties":{ "Property":{ "type":"array", "items":{ "type":"object", "properties":{ "Identifier":{ "type":"string" }, "Value":{ "type":"object", "properties":{ "Base64Content":{ "type":"array", "items":{ "type":"string" } } } } } } } } } } }, "IncludeObject":{ "type":"object", "properties":{ "WhichDocument":null, "hasObjectTagsAndAttributesSet":{ "type":"boolean", "required":true }, "ObjId":{ "type":"string" }, "createReference":{ "type":"boolean", "required":true } } }, "SignaturePlacement":{ "type":"object", "properties":{ "xpathAfter":{ "type":"string" }, "xpathFirstChildOf":{ "type":"string" }, "XPathAfter":{ "type":"string" }, "XPathFirstChildOf":{ "type":"string" }, "WhichDocument":null, "CreateEnvelopedSignature":{ "type":"boolean", "required":true } } }, "UseVerificationTime":{ "type":"boolean" }, "ReturnVerificationTimeInfo":{ "type":"boolean" }, "AdditionalKeyInfo":{ "type":"object", "properties":{ "KeyInfo":{ "type":"object", "properties":{ "pgpdata":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "pgpkeyID":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "pgpkeyPacket":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "PGPKeyID":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "PGPKeyPacket":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "spkidata":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "spkisexp":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "SPKISexp":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "KeyName":{ "type":"array", "items":{ "type":"string" } }, "KeyValue":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"string" } }, "rsakeyValue":{ "type":"object", "properties":{ "Modulus":{ "type":"array", "items":{ "type":"string" } }, "Exponent":{ "type":"array", "items":{ "type":"string" } } } }, "dsakeyValue":{ "type":"object", "properties":{ "P":{ "type":"array", "items":{ "type":"string" } }, "Q":{ "type":"array", "items":{ "type":"string" } }, "G":{ "type":"array", "items":{ "type":"string" } }, "Y":{ "type":"array", "items":{ "type":"string" } }, "J":{ "type":"array", "items":{ "type":"string" } }, "Seed":{ "type":"array", "items":{ "type":"string" } }, "PgenCounter":{ "type":"array", "items":{ "type":"string" } } } }, "DSAKeyValue":{ "type":"object", "properties":{ "P":{ "type":"array", "items":{ "type":"string" } }, "Q":{ "type":"array", "items":{ "type":"string" } }, "G":{ "type":"array", "items":{ "type":"string" } }, "Y":{ "type":"array", "items":{ "type":"string" } }, "J":{ "type":"array", "items":{ "type":"string" } }, "Seed":{ "type":"array", "items":{ "type":"string" } }, "PgenCounter":{ "type":"array", "items":{ "type":"string" } } } }, "RSAKeyValue":{ "type":"object", "properties":{ "Modulus":{ "type":"array", "items":{ "type":"string" } }, "Exponent":{ "type":"array", "items":{ "type":"string" } } } } } } }, "RetrievalMethod":{ "type":"array", "items":{ "type":"object", "properties":{ "transforms":{ "type":"object", "properties":{ "Transform":{ "type":"array", "items":{ "type":"object", "properties":{ "XPath":{ "type":"array", "items":{ "type":"any" } }, "Algorithm":{ "type":"string" } } } } } }, "uri":{ "type":"string" }, "type":{ "type":"string" } } } }, "X509Data":{ "type":"array", "items":{ "type":"object", "properties":{ "X509IssuerSerial":{ "type":"array", "items":{ "type":"object", "properties":{ "X509IssuerName":{ "type":"string" }, "X509SerialNumber":{ "type":"integer" } } } }, "X509SKI":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "X509SubjectName":{ "type":"array", "items":{ "type":"string" } }, "X509Certificate":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "X509CRL":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "PGPData":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "pgpkeyID":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "pgpkeyPacket":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "PGPKeyID":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "PGPKeyPacket":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "SPKIData":{ "type":"array", "items":{ "type":"object", "properties":{ "base64Content":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "spkisexp":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } }, "SPKISexp":{ "type":"array", "items":{ "type":"array", "items":{ "type":"string" } } } } } }, "MgmtData":{ "type":"array", "items":{ "type":"string" } }, "Id":{ "type":"string" } } } } }, "ReturnProcessingDetails":{ "type":"boolean" }, "ReturnSigningTimeInfo":{ "type":"boolean" }, "ReturnSignerIdentity":{ "type":"boolean" }, "ReturnUpdatedSignature":{ "type":"boolean" }, "ReturnTransformedDocument":{ "type":"boolean" }, "ReturnTimestampedSignature":{ "type":"boolean" } } }, "InputDocuments":{ "type":"object", "properties":{ "Document":{ "type":"array", "items":{ "type":"object", "properties":{ "id":{ "type":"string" }, "refURI":{ "type":"string" }, "refType":{ "type":"string" }, "schemaRefs":{ "type":"array", "items":{ "type":"any" } }, "Base64XML":{ "type":"array", "items":{ "type":"string" } }, "Base64Data":{ "type":"object", "properties":{ "value":{ "type":"array", "items":{ "type":"string" } }, "MimeType":{ "type":"string" } } }, "AttachmentReference":{ "type":"object", "properties":{ "digestMethod":{ "type":"object", "properties":{ "content":{ "type":"array", "items":{ "type":"any" } }, "Algorithm":{ "type":"string" } } }, "digestValue":{ "type":"array", "items":{ "type":"string" } }, "attRefURI":{ "type":"string" }, "mimeType":{ "type":"string" } } } } } }, "TransformedData":{ "type":"array", "items":{ "type":"object", "properties":{ "id":{ "type":"string" }, "refURI":{ "type":"string" }, "refType":{ "type":"string" }, "schemaRefs":{ "type":"array", "items":{ "type":"any" } }, "transforms":{ "type":"object", "properties":{ "Transform":{ "type":"array", "items":{ "type":"object", "properties":{ "XPath":{ "type":"array", "items":{ "type":"any" } }, "Algorithm":{ "type":"string" } } } } } }, "base64Data":{ "type":"object", "properties":{ "value":{ "type":"array", "items":{ "type":"string" } }, "MimeType":{ "type":"string" } } }, "whichReference":{ "type":"integer" } } } }, "DocumentHash":{ "type":"array", "items":{ "type":"object", "properties":{ "id":{ "type":"string" }, "refURI":{ "type":"string" }, "refType":{ "type":"string" }, "schemaRefs":{ "type":"array", "items":{ "type":"any" } }, "Transforms":{ "type":"object", "properties":{ "Transform":{ "type":"array", "items":{ "type":"object", "properties":{ "XPath":{ "type":"array", "items":{ "type":"any" } }, "Algorithm":{ "type":"string" } } } } } }, "DigestMethod":{ "type":"object", "properties":{ "content":{ "type":"array", "items":{ "type":"any" } }, "Algorithm":{ "type":"string" } } }, "DigestValue":{ "type":"array", "items":{ "type":"string" } }, "WhichReference":{ "type":"integer" } } } } } }, "RequestID":{ "type":"string" }, "Profile":{ "type":"string" } } }
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]