🐛 Fix source switching crash & enhance stability (v3.0.4)

### 🐛 Bug Fixes
- Fix random crashes when switching video sources in settings management
- Enhanced VodConfig.setHome() null pointer exception handling
- Improved Fragment lifecycle checks to prevent crashes
- Optimized HistoryDialog source switching safety
- Enhanced thread safety for concurrent loading

###  Performance Improvements
- Added automatic cache cleaning functionality
- Improved memory usage optimization
- Enhanced network request stability

### 🆕 New Features
- Added comprehensive error handling mechanisms
- Enhanced crash protection functionality
- Improved Fragment state validation

### 📱 Build Improvements
- Updated README with professional documentation
- Enhanced build configuration for ARM64-V8A and ARM V7A
- Improved APK packaging and signing process
This commit is contained in:
您的名字
2025-07-30 21:25:10 +08:00
parent 0d7b25710c
commit dab1425dea
345 changed files with 40300 additions and 754 deletions
@@ -0,0 +1,616 @@
## constructor exceptions
# cert path is empty
CertPathReviewer.emptyCertPath.title = CertPath is empty
CertPathReviewer.emptyCertPath.text = PKIXCertPathReviewer: the CertPath is empty.
CertPathReviewer.emptyCertPath.summary = PKIXCertPathReviewer: the CertPath is empty.
CertPathReviewer.emptyCertPath.details = PKIXCertPathReviewer: the CertPath is empty.
## name constraints processing errors
# cert DN is not in the permitted tree
# {0} DN as String
CertPathReviewer.notPermittedDN.title = Name constraint error: certificate DN is not permitted
CertPathReviewer.notPermittedDN.text = Name constraint error: the certificate DN {0} is not permitted.
CertPathReviewer.notPermittedDN.summary = Name constraint error: certificate DN is not permitted.
CertPathReviewer.notPermittedDN.details = Name constraint checking error. The certificate DN {0} is not in the permitted set of DNs.
# cert DN is in the excluded tree
# {0} DN as String
CertPathReviewer.excludedDN.title = Name constraint error: certificate DN is excluded
CertPathReviewer.excludedDN.text = Name constraint error: The certificate DN {0} is excluded.
CertPathReviewer.excludedDN.summary = Name constraint error: certificate DN is excluded.
CertPathReviewer.excludedDN.details = Name constraint checking error. The certificate DN {0} is inside of the excluded set of DNs.
# cert email is not in the permitted tree
# {0} email address as String
CertPathReviewer.notPermittedEmail.title = Name constraint error: not permitted email address
CertPathReviewer.notPermittedEmail.text = Name constraint error: certificate contains the not permitted email address {0}.
CertPathReviewer.notPermittedEmail.summary = Name constraint error: not permitted email address.
CertPathReviewer.notPermittedEmail.details = Name constraint checking error. The certificate contains the email address {0} which is not in the permitted set of email addresses.
# cert email is in the excluded tree
# {0} email as String
CertPathReviewer.excludedEmail.title = Name constraint error: excluded email address
CertPathReviewer.excludedEmail.text = Name constraint error: certificate contains the excluded email address {0}.
CertPathReviewer.excludedEmail.summary = Name constraint error: excluded email address.
CertPathReviewer.excludedEmail.details = Name constraint checking error. The certificate contains the email address {0} which is in the excluded set of email addresses.
# cert IP is not in the permitted tree
# {0} ip address as String
CertPathReviewer.notPermittedIP.title = Name constraint error: not permitted IP address
CertPathReviewer.notPermittedIP.text = Name constraint error: certificate contains the not permitted IP address {0}.
CertPathReviewer.notPermittedIP.summary = Name constraint error: not permitted IP address.
CertPathReviewer.notPermittedIP.details = Name constraint checking error. The certificate contains the IP address {0} which is not in the permitted set of IP addresses.
# cert ip is in the excluded tree
# {0} ip address as String
CertPathReviewer.excludedIP.title = Name constraint error: excluded IP address
CertPathReviewer.excludedIP.text = Name constraint error: certificate contains the excluded IP address {0}.
CertPathReviewer.excludedIP.summary = Name constraint error: excluded IP address.
CertPathReviewer.excludedIP.details = Name constraint checking error. The certificate contains the IP address {0} which is in the excluded set of IP addresses.
# error processing the name constraints extension
CertPathReviewer.ncExtError.title = Name constraint checking failed
CertPathReviewer.ncExtError.text = Name constraint checking failed: there was an error processing the name constraints extension of the certificate.
CertPathReviewer.ncExtError.summary = Error processing the name constraints extension.
CertPathReviewer.ncExtError.details = Name constraint checking failed: there was an error processing the name constraints extension of the certificate.
# error processing the subject alternative name extension
CertPathReviewer.subjAltNameExtError.title = Name constraint checking failed
CertPathReviewer.subjAltNameExtError.text = Name constraint checking failed: there was an error processing the subject alternative name extension of the certificate.
CertPathReviewer.subjAltNameExtError.summary = Error processing the subject alternative name extension.
CertPathReviewer.subjAltNameExtError.details = Name constraint checking failed: there was an error processing the subject alternative name extension of the certificate.
# exception extracting subject name when checking subtrees
# {0} subject Principal
CertPathReviewer.ncSubjectNameError.title = Name constraint checking failed
CertPathReviewer.ncSubjectNameError.text = Name constraint checking failed: there was an exception extracting the DN from the certificate.
CertPathReviewer.ncSubjectNameError.summary = Name constraint checking failed: exception extracting the DN.
CertPathReviewer.ncSubjectNameError.details = Name constraint checking failed: there was an exception extracting the DN from the certificate.
## path length errors
# max path length extended
CertPathReviewer.pathLengthExtended.title = Maximum path length extended
CertPathReviewer.pathLengthExtended.text = Certificate path invalid: Maximum path length extended.
CertPathReviewer.pathLengthExtended.summary = Certificate path invalid: Maximum path length extended.
CertPathReviewer.pathLengthExtended.details = Certificate path invalid: Maximum path length extended.
# error reading length constraint from basic constraint extension
CertPathReviewer.processLengthConstError.title = Path length checking failed
CertPathReviewer.processLengthConstError.text = Path length checking failed: there was an error processing the basic constraint extension of the certificate.
CertPathReviewer.processLengthConstError.summary = Error processing the subject alternative name extension.
CertPathReviewer.processLengthConstError.details = Path length checking failed: there was an error processing the basic constraint extension of the certificate.
## path length notifications
# total path length as defined in rfc 3280
# {0} the path length as Integer
CertPathReviewer.totalPathLength.title = Total path length
CertPathReviewer.totalPathLength.text = The total path length without self-signed certificates is {0}.
CertPathReviewer.totalPathLength.summary = The total path length without self-signed certificates is {0}.
CertPathReviewer.totalPathLength.details = The total path length without self-signed certificates, as defined in RFC 3280, is {0}.
## critical extensions errors
# one unknown critical extension
# {0} extension as String
CertPathReviewer.unknownCriticalExt.title = Unknown critical extension
CertPathReviewer.unknownCriticalExt.text = The certificate contains the unknown critical extension {0}.
CertPathReviewer.unknownCriticalExt.summary = Unknown critical extension: {0}.
CertPathReviewer.unknownCriticalExt.details = The certificate contains the unknown critical extension with the OID {0}.
# more unknown critical extensions
# {0} extensions as Set of Strings
CertPathReviewer.unknownCriticalExts.title = Unknown critical extensions
CertPathReviewer.unknownCriticalExts.text = The certificate contains two or more unknown critical extensions: {0}.
CertPathReviewer.unknownCriticalExts.summary = Unknown critical extensions: {0}.
CertPathReviewer.unknownCriticalExts.details = The certificate contains two or more unknown critical extensions with the OIDs: {0}.
# error processing critical extension
# {0} the message of the underlying exception
# {1} the underlying exception
# {2} the name of the exception
CertPathReviewer.criticalExtensionError.title = Error processing a critical extension
CertPathReviewer.criticalExtensionError.text = Error processing a critical extension. A {0} occurred.
CertPathReviewer.criticalExtensionError.summary = Error processing a critical extension. A {0} occurred.
CertPathReviewer.criticalExtensionError.details = Error processing a critical extension. A {0} occurred. Cause: {0}.
# error initializing the certpath checkers
# {0} the message of the underlying exception
# {1} the underlying exception
# {2} the name of the exception
CertPathReviewer.certPathCheckerError.title = Checking critical extensions failed
CertPathReviewer.certPathCheckerError.text = Checking critical extensions failed: there was a {2} initializing a CertPathChecker.
CertPathReviewer.certPathCheckerError.summary = Checking critical extensions failed: {2} initializing a CertPathChecker
CertPathReviewer.certPathCheckerError.details = Checking critical extensions failed: there was an {2} initializing a CertPathChecker. Cause: {0}
## check signature errors
CertPathReviewer.rootKeyIsValidButNotATrustAnchor.title = Root key with valid signature but no trust anchor
CertPathReviewer.rootKeyIsValidButNotATrustAnchor.text = The certificate has a valid signature, but is no trust anchor
CertPathReviewer.rootKeyIsValidButNotATrustAnchor.summary = The certificate has a valid signature, but is no trust anchor
CertPathReviewer.rootKeyIsValidButNotATrustAnchor.details = The certificate has a valid signature, but is no trust anchor
# trustanchor found, but certificate validation failed
CertPathReviewer.trustButInvalidCert.title = Trust anchor found, but different public key
CertPathReviewer.trustButInvalidCert.text = A trust anchor was found. But it has a different public key, than was used to issue the first certificate of the cert path.
CertPathReviewer.trustButInvalidCert.summary = A trust anchor was found. But it has a different public key, than was used to issue the first certificate of the cert path.
CertPathReviewer.trustButInvalidCert.details = A trust anchor was found. But it has a different public key, than was used to issue the first certificate of the cert path.
# trustanchor - cannot extract issuer
CertPathReviewer.trustAnchorIssuerError.title = Finding trust anchor failed
CertPathReviewer.trustAnchorIssuerError.text = Finding trust anchor failed: cannot extract issuer from certificate.
CertPathReviewer.trustAnchorIssuerError.summary = Finding trust anchor failed: cannot extract issuer from certificate.
CertPathReviewer.trustAnchorIssuerError.details = Finding trust anchor failed: cannot extract issuer from certificate.
# no trustanchor was found for the certificate path
# {0} issuer of the root certificate of the path
# {1} number of trusted root certificates (trustanchors) provided
CertPathReviewer.noTrustAnchorFound.title = No trusted root certificate found
CertPathReviewer.noTrustAnchorFound.text = The root certificate of the certificate path was issued by a CA that is not in the the trusted-root-certificate-store used for the path validation. The name of the CA is "{0}".
CertPathReviewer.noTrustAnchorFound.summary = The root certificate of the certificate path was issued by a CA that is not in the the trusted-root-certificate-store used for the path validation.
CertPathReviewer.noTrustAnchorFound.details = The root certificate of the certificate path was issued by a CA that is not in the the trusted-root-certificate-store used for the path validation. The name of the CA is "{0}". The trusted-root-certificate store contains {1} CA(s).
# conflicting trust anchors
# {0} number of trustanchors found (Integer)
# {1} the ca name
CertPathReviewer.conflictingTrustAnchors.title = Corrupt trust root store
CertPathReviewer.conflictingTrustAnchors.text = Warning: corrupt trust root store: There are {0} trusted public keys for the CA "{1}" - please ensure with CA which is the correct key.
CertPathReviewer.conflictingTrustAnchors.summary = Warning: corrupt trust root store: There are {0} trusted public keys for the CA "{1}" - please ensure with CA which is the correct key.
CertPathReviewer.conflictingTrustAnchors.details = Warning: corrupt trust root store: There are {0} trusted public keys for the CA "{1}" - please ensure with CA which is the correct key.
# trustanchor DN is invalid
# {0} DN of the Trustanchor
CertPathReviewer.trustDNInvalid.title = DN of TrustAnchor is improperly specified
CertPathReviewer.trustDNInvalid.text = The DN of the TrustAnchor is improperly specified: {0}.
CertPathReviewer.trustDNInvalid.summary = The DN of the TrustAnchor is improperly specified.
CertPathReviewer.trustDNInvalid.details = The DN of the TrustAnchor is improperly specified: {0}. It's not a valid X.500 name. See RFC 1779 or RFC 2253.
# trustanchor public key algorithm error
CertPathReviewer.trustPubKeyError.title = Error processing public key of the trust anchor
CertPathReviewer.trustPubKeyError.text = Error processing public key of the trust anchor.
CertPathReviewer.trustPubKeyError.summary = Error processing public key of the trust anchor.
CertPathReviewer.trustPubKeyError.details = Error processing public key of the trust anchor. Could not extract the AlorithmIdentifier for the key.
# can not verifiy signature: issuer public key unknown
CertPathReviewer.NoIssuerPublicKey.title = Can not verify the certificate signature
CertPathReviewer.NoIssuerPublicKey.text = Can not verify the certificate signature: Issuer public key is unknown.
CertPathReviewer.NoIssuerPublicKey.summary = Can not verify the certificate signature: Issuer public key is unknown.
CertPathReviewer.NoIssuerPublicKey.details = Can not verify the certificate signature: Issuer public key is unknown.
# signature can not be verified
# {0} message of the underlying exception (english)
# {1} the underlying exception
# {2} the name of the exception
CertPathReviewer.signatureNotVerified.title = Certificate signature invalid
CertPathReviewer.signatureNotVerified.text = The certificate signature is invalid. A {2} occurred.
CertPathReviewer.signatureNotVerified.summary = The certificate signature is invalid.
CertPathReviewer.signatureNotVerified.details = The certificate signature is invalid. A {2} occurred. Cause: {0}
# certificate expired
# {0} the date the certificate expired
CertPathReviewer.certificateExpired.title = Certificate is expired
CertPathReviewer.certificateExpired.text = Could not validate the certificate. Certificate expired on {0,date} {0,time,full}.
CertPathReviewer.certificateExpired.summary = Certificate expired on {0,date} {0,time,full}.
CertPathReviewer.certificateExpired.details = Could not validate the certificate. Certificate expired on {0,date} {0,time,full}.
# certificate not yet valid
# {0} the date from which on the certificate is valid
CertPathReviewer.certificateNotYetValid.title = Certificate is not yet valid
CertPathReviewer.certificateNotYetValid.text = Could not validate the certificate. Certificate is not valid until {0,date} {0,time,full}.
CertPathReviewer.certificateNotYetValid.summary = Certificate is not valid until {0,date} {0,time,full}.
CertPathReviewer.certificateNotYetValid.details = Could not validate the certificate. Certificate is not valid until {0,date} {0,time,full}.
# certificate invalid issuer DN
# {0} expected issuer DN as String
# {1} found issuer DN as String
CertPathReviewer.certWrongIssuer.title = Issuer of certificate not valid
CertPathReviewer.certWrongIssuer.text = Issuer of certificate is not valid. Expected {0}, but found {1}.
CertPathReviewer.certWrongIssuer.summary = Issuer of certificate is not valid.
CertPathReviewer.certWrongIssuer.details = Issuer of certificate is not valid. Expected {0}, but found {1}.
# intermediate certificate is no ca cert
CertPathReviewer.noCACert.title = Certificate is no CA certificate
CertPathReviewer.noCACert.text = Intermediate certificate is no CA certificate.
CertPathReviewer.noCACert.summary = The certificate is no CA certificate.
CertPathReviewer.noCACert.details = The certificate is no CA certificate but used as one.
# cert laks basic constraints
CertPathReviewer.noBasicConstraints.title = Certificate has no basic constraints
CertPathReviewer.noBasicConstraints.text = Intermediate certificate has no basic constraints.
CertPathReviewer.noBasicConstraints.summary = Intermediate certificate has no basic constraints.
CertPathReviewer.noBasicConstraints.details = Intermediate certificate has no basic constraints.
# error processing basic constraints
CertPathReviewer.errorProcesingBC.title = Error processing the basic constraints extension
CertPathReviewer.errorProcesingBC.text = There was an error while processing the basic constraints extension of this certificate.
CertPathReviewer.errorProcesingBC.summary = Error processing the basic constraints extension.
CertPathReviewer.errorProcesingBC.details = There was an error while processing the basic constraints extension of this certificate.
# certificate not usable for signing certs
CertPathReviewer.noCertSign.title = Key not usable for signing certificates
CertPathReviewer.noCertSign.text = The key usage constraint does not allow the use of this certificate key for signing certificates.
CertPathReviewer.noCertSign.summary = The certificate key can not be used for signing certificates.
CertPathReviewer.noCertSign.details = The key usage constraint does not allow the use of this certificate key for signing certificates.
# error processing public key
CertPathReviewer.pubKeyError.title = Error processing public key
CertPathReviewer.pubKeyError.text = Error processing public key of the certificate.
CertPathReviewer.pubKeyError.summary = Error processing public key of the certificate.
CertPathReviewer.pubKeyError.details = Error processing public key of the certificate. Could not extract the AlorithmIdentifier for the key.
## check signatures notifications
#
# trust anchor has no keyusage certSign
CertPathReviewer.trustKeyUsage.title = Trust anchor key usage
CertPathReviewer.trustKeyUsage.text = The trust anchor is not alloed to sign certificates.
CertPathReviewer.trustKeyUsage.summary = The trust anchor is not alloed to sign certificates.
CertPathReviewer.trustKeyUsage.details = The trust anchor is not alloed to sign certificates.
# certificate path validation date
# {0} date for which the cert path is validated
# {1} current date
CertPathReviewer.certPathValidDate.title = Certificate path validation date
CertPathReviewer.certPathValidDate.text = The certificate path was applied on {0,date} {0,time,full}. It was checked at {1,date} {1,time,full}.
CertPathReviewer.certPathValidDate.summary = The certificate path was validated for {0,date} {0,time,full}. It was checked at {1,date} {1,time,full}.
CertPathReviewer.certPathValidDate.details = The certificate path was validated for {0,date} {0,time,full}. It was checked at {1,date} {1,time,full}.
## check policy errors
# error processing certificate policy extension
CertPathReviewer.policyExtError.title = Policy checking failed
CertPathReviewer.policyExtError.text = Policy checking failed: there was an error processing the certificate policy extension.
CertPathReviewer.policyExtError.summary = Error processing the certificate policy extension.
CertPathReviewer.policyExtError.details = Policy checking failed: there was an error processing the certificate policy extension.
# error processing policy constraints extension
CertPathReviewer.policyConstExtError.title = Policy checking failed
CertPathReviewer.policyConstExtError.text = Policy checking failed: there was an error processing the policy constraints extension.
CertPathReviewer.policyConstExtError.summary = Error processing the policy constraints extension.
CertPathReviewer.policyConstExtError.details = Policy checking failed: there was an error processing the policy constraints extension.
# error processing policy mapping extension
CertPathReviewer.policyMapExtError.title = Policy checking failed
CertPathReviewer.policyMapExtError.text = Policy checking failed: there was an error processing the policy mapping extension.
CertPathReviewer.policyMapExtError.summary = Error processing the policy mapping extension.
CertPathReviewer.policyMapExtError.details = Policy checking failed: there was an error processing the policy mapping extension.
# error processing inhibit any policy extension
CertPathReviewer.policyInhibitExtError.title = Policy checking failed
CertPathReviewer.policyInhibitExtError.text = Policy checking failed: there was an error processing the inhibit any policy extension.
CertPathReviewer.policyInhibitExtError.summary = Error processing the inhibit any policy extension.
CertPathReviewer.policyInhibitExtError.details = Policy checking failed: there was an error processing the inhibit any policy extension.
# error building qualifier set
CertPathReviewer.policyQualifierError.title = Policy checking failed
CertPathReviewer.policyQualifierError.text = Policy checking failed: error building the policy qualifier set.
CertPathReviewer.policyQualifierError.summary = Policy checking failed: error building the policy qualifier set.
CertPathReviewer.policyQualifierError.details = Policy checking failed: error building the policy qualifier set.
# no valid policy tree - explicit policy required
CertPathReviewer.noValidPolicyTree.title = Policy checking failed
CertPathReviewer.noValidPolicyTree.text = Policy checking failed: no valid policy tree found when one expected.
CertPathReviewer.noValidPolicyTree.summary = Policy checking failed: no valid policy tree found when one expected.
CertPathReviewer.noValidPolicyTree.details = Policy checking failed: no valid policy tree found when one expected.
# expicit policy requested, but no policy available
CertPathReviewer.explicitPolicy.title = Policy checking failed
CertPathReviewer.explicitPolicy.text = Policy checking failed: explicit policy requested but no policy available.
CertPathReviewer.explicitPolicy.summary = Policy checking failed: explicit policy requested but no policy available.
CertPathReviewer.explicitPolicy.details = Policy checking failed: explicit policy requested but no policy available.
# path processing failed on policy
CertPathReviewer.invalidPolicy.title = Path processing failed on policy
CertPathReviewer.invalidPolicy.text = Path processing failed on policy.
CertPathReviewer.invalidPolicy.summary = Path processing failed on policy.
CertPathReviewer.invalidPolicy.details = Path processing failed on policy.
# invalid policy mapping
CertPathReviewer.invalidPolicyMapping.title = Invalid policy mapping
CertPathReviewer.invalidPolicyMapping.text = Certificate contains an invalid policy mapping.
CertPathReviewer.invalidPolicyMapping.summary = Certificate contains an invalid policy mapping.
CertPathReviewer.invalidPolicyMapping.details = Certificate contains a policy mapping including the value any policy which is invalid.
## check CRL notifications
# found local valid CRL
# {0} thisUpdate of the CRL
# {1} nextUpdate of the CRL
CertPathReviewer.localValidCRL.title = Found valid local CRL
CertPathReviewer.localValidCRL.text = Found a valid CRL in local certstore. Issued on {0,date}, next update {1,date}.
CertPathReviewer.localValidCRL.summary = Found a valid CRL in local certstore. Issued on {0,date}, next update {1,date}.
CertPathReviewer.localValidCRL.details = Found a valid CRL in local certstore. Issued on {0,date}, next update {1,date}.
# found matching CRL, but not valid
# {0} thisUpdate of the CRL
# {1} nextUpdate of the CRL
CertPathReviewer.localInvalidCRL.title = Local CRL outdated
CertPathReviewer.localInvalidCRL.text = Did not use a matching CRL in a local certstore, because it is outdated. Issued on {0,date}, next update {1,date}.
CertPathReviewer.localInvalidCRL.summary = Did not use a matching CRL in a local certstore, because it is outdated. Issued on {0,date}, next update {1,date}.
CertPathReviewer.localInvalidCRL.details = Did not use a matching CRL in a local certstore, because it is outdated. Issued on {0,date}, next update {1,date}.
# found a valid crl at crl distribution point
# {0} thisUpdate of the CRL
# {1} nextUpdate of the CRL
# {2} the url of the distribution point
CertPathReviewer.onlineValidCRL.title = Found valid CRL at CRL distribution point
CertPathReviewer.onlineValidCRL.text = Found a valid CRL at: {2}. Issued on {0,date}, next update on {1,date}.
CertPathReviewer.onlineValidCRL.summary = Found a valid CRL at: {2}. Issued on {0,date}, next update on {1,date}.
CertPathReviewer.onlineValidCRL.details = Found a valid CRL at: {2}. Issued on {0,date}, next update on {1,date}.
# found an invalid CRL at crl distribution point
# {0} thisUpdate of the CRL
# {1} nextUpdate of the CRL
# {2} the url of the distribution point
CertPathReviewer.onlineInvalidCRL.title = Outdated CRL at CRL distribution point
CertPathReviewer.onlineInvalidCRL.text = The CRL loaded from {2} was outdated. Issued on {0,date}, next update on {1,date}.
CertPathReviewer.onlineInvalidCRL.summary = The CRL loaded from {2} was outdated. Issued on {0,date}, next update on {1,date}.
CertPathReviewer.onlineInvalidCRL.details = The CRL loaded from {2} was outdated. Issued on {0,date}, next update on {1,date}.
#found a CRL at a crl distribution point, but issued by another CA
# {0} issuer of the CRL
# {1} expected issuer
# {2} the url of the distribution point
CertPathReviewer.onlineCRLWrongCA.title = CRL from wrong issuer at CRL distribution point
CertPathReviewer.onlineCRLWrongCA.text = The CRL loaded from {2} has was issued by {0}, excpected {1}.
CertPathReviewer.onlineCRLWrongCA.summary = The CRL loaded from {2} has a wrong issuer.
CertPathReviewer.onlineCRLWrongCA.details = The CRL loaded from {2} has was issued by {0}, excpected {1}.
# Certificate not revoked
CertPathReviewer.notRevoked.title = Certificate not revoked
CertPathReviewer.notRevoked.text = The certificate was not revoked.
CertPathReviewer.notRevoked.summary = The certificate was not revoked.
CertPathReviewer.notRevoked.details = The certificate was not revoked.
# CRL found: certificate was revoked, but after the validationDate
# {0} the date the certificate was revoked
# {1} the reason for revoking the certificate
CertPathReviewer.revokedAfterValidation.title = Certificate was revoked after the validation date
CertPathReviewer.revokedAfterValidation.text = The certificate was revoked after the validation date at {0,date} {0,time,full}. Reason: {1}.
CertPathReviewer.revokedAfterValidation.summary = The certificate was revoked after the validation date at {0,date} {0,time,full}.
CertPathReviewer.revokedAfterValidation.details = The certificate was revoked after the validation date at {0,date} {0,time,full}. Reason: {1}.
# updated crl available
# {0} date since when the update is available
CertPathReviewer.crlUpdateAvailable.title = CRL update available
CertPathReviewer.crlUpdateAvailable.text = An update for the CRL of this certificate is available since {0,date} {0,time,full}.
CertPathReviewer.crlUpdateAvailable.summary = An update for the CRL of this certificate is available since {0,date} {0,time,full}.
CertPathReviewer.crlUpdateAvailable.details = An update for the CRL of this certificate is available since {0,date} {0,time,full}.
# crl distribution point url
# {0} the crl distribution point url as String
CertPathReviewer.crlDistPoint.title = CRL distribution point
CertPathReviewer.crlDistPoint.text = A CRL can be obtained from: {0}.
CertPathReviewer.crlDistPoint.summary = A CRL can be obtained from: {0}.
CertPathReviewer.crlDistPoint.details = A CRL can be obtained from: {0}.
# ocsp location
# {0} the url on which the ocsp service can be found
CertPathReviewer.ocspLocation.title = OCSP responder location
CertPathReviewer.ocspLocation.text = OCSP responder location: {0}.
CertPathReviewer.ocspLocation.summary = OCSP responder location: {0}.
CertPathReviewer.ocspLocation.details = OCSP responder location: {0}.
# unable to get crl from crl distribution point
# {0} the url of the distribution point
# {1} the message of the occurred exception
# {2} the occurred exception
# {3} the name of the exception
CertPathReviewer.loadCrlDistPointError.title = Cannot load CRL from CRL distribution point
CertPathReviewer.loadCrlDistPointError.text = Unable to load a CRL from: {0}. A {3} occurred.
CertPathReviewer.loadCrlDistPointError.summary = Unable to load a CRL from: {0}. A {3} occurred.
CertPathReviewer.loadCrlDistPointError.details = Unable to load a CRL from: {0}. A {3} occurred. Cause: {1}.
# no crl found in certstores
# {0} the issuers which we searched for
# {1} list of crl issuer names that are found in the certstores
# {2} number of crls in the certstores
CertPathReviewer.noCrlInCertstore.title = No matching CRL found in local CRL store
CertPathReviewer.noCrlInCertstore.text = No matching CRL was found in the provided local CRL store.
CertPathReviewer.noCrlInCertstore.summary = No matching CRL was found in the provided local CRL store.
CertPathReviewer.noCrlInCertstore.details = No matching CRL was found in the provided local CRL store. \
No CRL was found for the selector "{0}". The {2} CRL(s) in the certstores are from "{1}".
## check CRL exceptions
# cannot extract issuer from certificate
CertPathReviewer.crlIssuerException.title = CRL checking failed
CertPathReviewer.crlIssuerException.text = CRL checking failed: cannot extract issuer from certificate.
CertPathReviewer.crlIssuerException.summary = CRL checking failed: cannot extract issuer from certificate.
CertPathReviewer.crlIssuerException.details = CRL checking failed: cannot extract issuer from certificate.
# cannot extract crls
# {0} message from the underlying exception
# {1} the underlying exception
# {2} the name of the exception
CertPathReviewer.crlExtractionError.title = CRL checking failed
CertPathReviewer.crlExtractionError.text = CRL checking failed: Cannot extract CRL from CertStore. There was a {2}.
CertPathReviewer.crlExtractionError.summary = CRL checking failed: Cannot extract CRL from CertStore. There was a {2}.
CertPathReviewer.crlExtractionError.details = CRL checking failed: Cannot extract CRL from CertStore. There was a {2}. Cause: {0}.
# Issuer certificate key usage extension does not permit crl signing
CertPathReviewer.noCrlSigningPermited.title = CRL checking failed
CertPathReviewer.noCrlSigningPermited.text = CRL checking failed: issuer certificate does not permit CRL signing.
CertPathReviewer.noCrlSigningPermited.summary = CRL checking failed: issuer certificate does not permit CRL signing.
CertPathReviewer.noCrlSigningPermited.details = CRL checking failed: issuer certificate does not permit CRL signing.
# can not verify crl: issuer public key unknown
CertPathReviewer.crlNoIssuerPublicKey.title = CRL checking failed
CertPathReviewer.crlNoIssuerPublicKey.text = CRL checking failed: Can not verify the CRL: Issuer public key is unknown.
CertPathReviewer.crlNoIssuerPublicKey.summary = CRL checking failed: Can not verify the CRL: Issuer public key is unknown.
CertPathReviewer.crlNoIssuerPublicKey.details = CRL checking failed: Can not verify the CRL: Issuer public key is unknown.
# crl verification failed
CertPathReviewer.crlVerifyFailed.title = CRL checking failed
CertPathReviewer.crlVerifyFailed.text = CRL checking failed: CRL signature is invalid.
CertPathReviewer.crlVerifyFailed.summary = CRL checking failed: CRL signature is invalid.
CertPathReviewer.crlVerifyFailed.details = CRL checking failed: CRL signature is invalid.
# no valid CRL found
CertPathReviewer.noValidCrlFound.title = CRL checking failed
CertPathReviewer.noValidCrlFound.text = CRL checking failed: no valid CRL found.
CertPathReviewer.noValidCrlFound.summary = CRL checking failed: no valid CRL found.
CertPathReviewer.noValidCrlFound.details = CRL checking failed: no valid CRL found.
# No base CRL for delta CRL
CertPathReviewer.noBaseCRL.title = CRL checking failed
CertPathReviewer.noBaseCRL.text = CRL checking failed: no base CRL found for delta CRL.
CertPathReviewer.noBaseCRL.summary = CRL checking failed: no base CRL found for delta CRL.
CertPathReviewer.noBaseCRL.details = CRL checking failed: no base CRL found for delta CRL.
# certificate revoked
# {0} the date the certificate was revoked
# {1} the reason for revoking the certificate
CertPathReviewer.certRevoked.title = Certificate was revoked
CertPathReviewer.certRevoked.text = The certificate was revoked at {0,date} {0,time,full}. Reason: {1}.
CertPathReviewer.certRevoked.summary = The certificate was revoked at {0,date} {0,time,full}.
CertPathReviewer.certRevoked.details = The certificate was revoked at {0,date} {0,time,full}. Reason: {1}.
# error processing issuing distribution point extension
CertPathReviewer.distrPtExtError.title = CRL checking failed
CertPathReviewer.distrPtExtError.text = CRL checking failed: there was an error processing the issuing distribution point extension.
CertPathReviewer.distrPtExtError.summary = Error processing the issuing distribution point extension.
CertPathReviewer.distrPtExtError.details = CRL checking failed: there was an error processing the issuing distribution point extension.
# error processing crl distribution points extension
CertPathReviewer.crlDistPtExtError.title = CRL checking failed
CertPathReviewer.crlDistPtExtError.text = CRL checking failed: there was an error processing the crl distribution points extension.
CertPathReviewer.crlDistPtExtError.summary = Error processing the crl distribution points extension.
CertPathReviewer.crlDistPtExtError.details = CRL checking failed: there was an error processing the crl distribution points extension.
# error processing the authority info access extension
CertPathReviewer.crlAuthInfoAccError.title = CRL checking failed
CertPathReviewer.crlAuthInfoAccError.text = CRL checking failed: there was an error processing the authority info access extension.
CertPathReviewer.crlAuthInfoAccError.summary = Error processing the authority info access extension.
CertPathReviewer.crlAuthInfoAccError.details = CRL checking failed: there was an error processing the authority info access extension.
# error processing delta crl indicator extension
CertPathReviewer.deltaCrlExtError.title = CRL checking failed
CertPathReviewer.deltaCrlExtError.text = CRL checking failed: there was an error processing the delta CRL indicator extension.
CertPathReviewer.deltaCrlExtError.summary = Error processing the delta CRL indicator extension.
CertPathReviewer.deltaCrlExtError.details = CRL checking failed: there was an error processing the delta CRL indicator extension.
# error porcessing crl number extension
CertPathReviewer.crlNbrExtError.title = CRL checking failed
CertPathReviewer.crlNbrExtError.text = CRL checking failed: there was an error processing the CRL number extension.
CertPathReviewer.crlNbrExtError.summary = Error processing the CRL number extension.
CertPathReviewer.crlNbrExtError.details = CRL checking failed: there was an error processing the CRL number extension.
# error processing crl reason code extension
CertPathReviewer.crlReasonExtError.title = CRL checking failed
CertPathReviewer.crlReasonExtError.text = CRL checking failed: there was an error processing the CRL reason code extension.
CertPathReviewer.crlReasonExtError.summary = Error processing the CRL reason code extension.
CertPathReviewer.crlReasonExtError.details = CRL checking failed: there was an error processing the CRL reason code extension.
# error processing basic constraints extension
CertPathReviewer.crlBCExtError.title = CRL checking failed
CertPathReviewer.crlBCExtError.text = CRL checking failed: there was an error processing the basic constraints extension.
CertPathReviewer.crlBCExtError.summary = Error processing the basic constraints extension.
CertPathReviewer.crlBCExtError.details = CRL checking failed: there was an error processing the basic constraints extension.
# CA Cert CRL only contains user certificates
CertPathReviewer.crlOnlyUserCert.title = CRL checking failed
CertPathReviewer.crlOnlyUserCert.text = CRL checking failed: CRL only contains user certificates.
CertPathReviewer.crlOnlyUserCert.summary = CRL checking failed: CRL only contains user certificates.
CertPathReviewer.crlOnlyUserCert.details = CRL checking failed: CRL for CA certificate only contains user certificates.
# End CRL only contains CA certificates
CertPathReviewer.crlOnlyCaCert.title = CRL checking failed
CertPathReviewer.crlOnlyCaCert.text = CRL checking failed: CRL only contains CA certificates.
CertPathReviewer.crlOnlyCaCert.summary = CRL checking failed: CRL only contains CA certificates.
CertPathReviewer.crlOnlyCaCert.details = CRL checking failed: CRL for end certificate only contains CA certificates.
# onlyContainsAttributeCerts boolean is asserted
CertPathReviewer.crlOnlyAttrCert.title = CRL checking failed
CertPathReviewer.crlOnlyAttrCert.text = CRL checking failed: CRL only contains attribute certificates.
CertPathReviewer.crlOnlyAttrCert.summary = CRL checking failed: CRL only contains attribute certificates.
CertPathReviewer.crlOnlyAttrCert.details = CRL checking failed: CRL only contains attribute certificates.
## QcStatement notifications
# unkown statement
# {0} statement OID
# {1} statement as ANS1Sequence
CertPathReviewer.QcUnknownStatement.title = Unknown statement in QcStatement extension
CertPathReviewer.QcUnknownStatement.text = Unknown statement in QcStatement extension: OID = {0}
CertPathReviewer.QcUnknownStatement.summary = Unknown statement in QcStatement extension: OID = {0}
CertPathReviewer.QcUnknownStatement.details = Unknown statement in QcStatement extension: OID = {0}, statement = {1}
# QcLimitValue Alpha currency code
# {0} currency code
# {1} limit value
# {2} monetary value as MonetaryValue
CertPathReviewer.QcLimitValueAlpha.title = Transaction Value Limit
CertPathReviewer.QcLimitValueAlpha.text = This certificate has a limit for the transaction value: {1,number, ###,###,###,##0.00#} {0}.
CertPathReviewer.QcLimitValueAlpha.summary = Transaction value limit: {1,number, ###,###,###,##0.00#} {0}.
CertPathReviewer.QcLimitValueAlpha.details = This certificate has a limitation on the value of transaction for which this certificate can be used to the specified amount, according to the Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures, as implemented in the law of the country specified in the issuer field of this certificate. The limit for this certificate is {1,number, ###,###,###,##0.00#} {0}.
# QcLimitValue Numeric currency code
# {0} currency code
# {1} limit value
# {2} monetary value as MonetaryValue
CertPathReviewer.QcLimitValueNum.title = Transaction Value Limit
CertPathReviewer.QcLimitValueNum.text = This certificate has a limit for the transaction value: {1,number, ###,###,###,##0.00#} of currency {0} (See RFC 4217 for currency codes).
CertPathReviewer.QcLimitValueNum.summary = Transaction value limit: {1,number, ###,###,###,##0.00#} of currency {0} (See RFC 4217 for currency codes).
CertPathReviewer.QcLimitValueNum.details = This certificate has a limitation on the value of transaction for which this certificate can be used to the specified amount, according to the Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures, as implemented in the law of the country specified in the issuer field of this certificate. The limit for this certificate is {1,number, ###,###,###,##0.00#} of currency {0} (See RFC 4217 for currency codes).
# QcSSCD
CertPathReviewer.QcSSCD.title = QcSSCD Statement
CertPathReviewer.QcSSCD.text = (SSCD) The issuer claims that for the certificate where this statement appears that the private key associated with the public key in the certificate is protected according to Annex III of the Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures.
CertPathReviewer.QcSSCD.summary = (SSCD) The issuer claims that for the certificate where this statement appears that the private key associated with the public key in the certificate is protected according to Annex III of the Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures.
CertPathReviewer.QcSSCD.details = (SSCD) The issuer claims that for the certificate where this statement appears that the private key associated with the public key in the certificate is protected according to Annex III of the Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures.
# QcEuCompliance
CertPathReviewer.QcEuCompliance.title = Qualified Certificate
CertPathReviewer.QcEuCompliance.text = This certificate is issued as a Qualified Certificate according Annex I and II of the Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures, as implemented in the law of the country specified in the issuer field of this certificate.
CertPathReviewer.QcEuCompliance.summary = This certificate is issued as a Qualified Certificate according Annex I and II of the Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures, as implemented in the law of the country specified in the issuer field of this certificate.
CertPathReviewer.QcEuCompliance.details = This certificate is issued as a Qualified Certificate according Annex I and II of the Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures, as implemented in the law of the country specified in the issuer field of this certificate.
## QcStatement errors
# error processing the QcStatement extension
CertPathReviewer.QcStatementExtError.title = Error processing the qc statements extension
CertPathReviewer.QcStatementExtError.text = Error processing the qc statements extension.
CertPathReviewer.QcStatementExtError.summary = Error processing the qc statements extension.
CertPathReviewer.QcStatementExtError.details = Error processing the qc statements extension.
## unknown/generic errors
CertPathReviewer.unknown.title = Unexpected Error
CertPathReviewer.unknown.text = Unexpected Error {0}
CertPathReviewer.unknown.summary = Unexpected Error
CertPathReviewer.unknown.details = Unexpected Error {0}
#
# crl reasons
#
unspecified = Unspecified
keyCompromise = Key Compromise
cACompromise = CA Compromise
affiliationChanged = Affiliation Changed
superseded = Superseded
cessationOfOperation = Cessation of Operation
certificateHold = Certificate Hold
unknown = Unknown
removeFromCRL = Remove from CRL
privilegeWithdrawn = Privilege Withdrawn
aACompromise = AA Compromise
#
#
#
missingIssuer = The missing certificate was issued by
missingSerial = with the serial number
@@ -0,0 +1,621 @@
## constructor exceptions
# cert path is empty
CertPathReviewer.emptyCertPath.title = Zertifizierungspfad ist leer
CertPathReviewer.emptyCertPath.text = PKIXCertPathReviewer: der Zertifizierungspfad ist leer.
CertPathReviewer.emptyCertPath.summary = PKIXCertPathReviewer: der Zertifizierungspfad ist leer.
CertPathReviewer.emptyCertPath.details = PKIXCertPathReviewer: der Zertifizierungspfad ist leer.
## name constraints processing errors
# cert DN is not in the permitted tree
# {0} DN as String
CertPathReviewer.notPermittedDN.title = Fehler bei der Namensbeschränkung: Zertifikats DN ist nicht erlaubt
CertPathReviewer.notPermittedDN.text = Fehler bei der Namensbeschränkung: Der Zertifikats DN {0} ist nicht erlaubt.
CertPathReviewer.notPermittedDN.summary = Fehler bei der Namensbeschränkung: Der Zertifikats DN ist nicht erlaubt.
CertPathReviewer.notPermittedDN.details = Fehler bei der Namensbeschränkung: Der Zertifikats DN {0} ist nicht im Set der erlaubten DNs.
# cert DN is in the excluded tree
# {0} DN as String
CertPathReviewer.excludedDN.title = Fehler bei der Namensbeschränkung: Zertifikats DN ist ausgeschlossen
CertPathReviewer.excludedDN.text = Fehler bei der Namensbeschränkung: Der Zertifikats DN {0} ist ausgeschlossen.
CertPathReviewer.excludedDN.summary = Fehler bei der Namensbeschränkung: Der Zertifikats DN ist ausgeschlossen
CertPathReviewer.excludedDN.details = Fehler bei der Namensbeschränkung: Der Zertifikats DN ist {0} is innerhalb des Sets von ausgeschlossenen DNs.
# cert email is not in the permitted tree
# {0} email address as String
CertPathReviewer.notPermittedEmail.title = Fehler bei der Namensbeschränkung: nicht erlaubte Email Addresse
CertPathReviewer.notPermittedEmail.text = Fehler bei der Namensbeschränkung: Das Zertifikat enthält die nicht erlaubte Email Addresse {0}.
CertPathReviewer.notPermittedEmail.summary = Fehler bei der Namensbeschränkung: Die Email Addresse ist nicht erlaubt.
CertPathReviewer.notPermittedEmail.details = Fehler bei der Namensbeschränkung: Das Zertifikat enthält die Email Addresse {0}, welche nicht im Set der erlaubten Email Addressen ist.
# cert email is in the excluded tree
# {0} email as String
CertPathReviewer.excludedEmail.title = Fehler bei der Namensbeschränkung: Email Addresse ausgeschlossen
CertPathReviewer.excludedEmail.text = Fehler bei der Namensbeschränkung: Die Email Addresse {0} im Zertifikat ist ausgeschlossen.
CertPathReviewer.excludedEmail.summary = Fehler bei der Namensbeschränkung: Die Email Addresse ist ausgeschlossen.
CertPathReviewer.excludedEmail.details = Fehler bei der Namensbeschränkung: Das Zertifikat enthält die Email Addresse {0}, welche im Set der ausgeschlossenen Email Addressen ist.
# cert IP is not in the permitted tree
# {0} ip address as String
CertPathReviewer.notPermittedIP.title = Fehler bei der Namensbeschränkung: nicht erlaubte IP Addresse
CertPathReviewer.notPermittedIP.text = Fehler bei der Namensbeschränkung: Das Zertifikat enthält die nicht erlaubte IP Addresse {0}.
CertPathReviewer.notPermittedIP.summary = Fehler bei der Namensbeschränkung: Die IP Addresse ist nicht erlaubt.
CertPathReviewer.notPermittedIP.details = Fehler bei der Namensbeschränkung: Das Zertifikat enthält die IP Addresse {0}, welche nicht im Set der erlaubten IP Addressen ist.
# cert ip is in the excluded tree
# {0} ip address as String
CertPathReviewer.excludedIP.title = Fehler bei der Namensbeschränkung: Ausgeschlossene IP Addresse
CertPathReviewer.excludedIP.text = Fehler bei der Namensbeschränkung: Das Zertifikat enhält die ausgeschlossene IP Addresse {0}.
CertPathReviewer.excludedIP.summary = Fehler bei der Namensbeschränkung: Die IP Addresse im Zertifikat ist ausgeschlossen.
CertPathReviewer.excludedIP.details = Fehler bei der Namensbeschränkung: Das Zertifikat enthält die IP Addresse {0}, welche im Set der ausgeschlossenen IP Addressen ist.
# error processing the name constraints extension
CertPathReviewer.ncExtError.title = Prüfen der Namensbeschränkungen fehlgeschlagen
CertPathReviewer.ncExtError.text = Prüfen der Namensbeschränkungen fehlgeschlagen: Es gab Fehler bei der Verarbeitung der Name Constraints Erweiterung des Zertifikats.
CertPathReviewer.ncExtError.summary = Prüfen der Namensbeschränkungen fehlgeschlagen: Fehler bei der Verarbeitung der Name Constraints Erweiterung.
CertPathReviewer.ncExtError.details = Prüfen der Namensbeschränkungen fehlgeschlagen: Es gab Fehler bei der Verarbeitung der Name Constraints Erweiterung des Zertifikats.
# error processing the subject alternative name extension
CertPathReviewer.subjAltNameExtError.title = Prüfen der Namensbeschränkungen fehlgeschlagen
CertPathReviewer.subjAltNameExtError.text = Prüfen der Namensbeschränkungen fehlgeschlagen: Es gab Fehler bei der Verarbeitung der Subject Alternative Name Erweiterung des Zertifikats.
CertPathReviewer.subjAltNameExtError.summary = Prüfen der Namensbeschränkungen fehlgeschlagen: Fehler bei der Verarbeitung der Subject Alternative Name Erweiterung.
CertPathReviewer.subjAltNameExtError.details = Prüfen der Namensbeschränkungen fehlgeschlagen: Es gab Fehler bei der Verarbeitung der Subject Alternative Name Erweiterung des Zertifikats.
# exception extracting subject name when checking subtrees
# {0} subject Principal
CertPathReviewer.ncSubjectNameError.title = Prüfen der Namensbeschränkungen fehlgeschlagen
CertPathReviewer.ncSubjectNameError.text = Prüfen der Namensbeschränkungen fehlgeschlagen: Es gab einen Fehler beim auslesen des DN des Zertifikats.
CertPathReviewer.ncSubjectNameError.summary = Prüfen der Namensbeschränkungen fehlgeschlagen: Fehler beim auslesen des DNs.
CertPathReviewer.ncSubjectNameError.details = Prüfen der Namensbeschränkungen fehlgeschlagen: Es gab einen Fehler beim auslesen des DN des Zertifikats.
## path length errors
# max path length extended
CertPathReviewer.pathLengthExtended.title = Maximale Pfadlänge überschritten
CertPathReviewer.pathLengthExtended.text = Zertifizierungspfad ungültig: die Maximale Pfadlänge ist überschritten.
CertPathReviewer.pathLengthExtended.summary = Zertifizierungspfad ungültig: die Maximale Pfadlänge ist überschritten.
CertPathReviewer.pathLengthExtended.details = Zertifizierungspfad ungültig: die Maximale Pfadlänge ist überschritten.
# error reading length constraint from basic constraint extension
CertPathReviewer.processLengthConstError.title = Prüfen der Pfadlänge fehlgeschlagen
CertPathReviewer.processLengthConstError.text = Prüfen der Pfadlänge fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der subject alternative name Erweiterung des Zertifikats.
CertPathReviewer.processLengthConstError.summary = Fehler bei der Verarbeitung der subject alternative name Erweiterung.
CertPathReviewer.processLengthConstError.details = Prüfen der Pfadlänge fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der subject alternative name Erweiterung des Zertifikats.
## path length notifications
# total path length as defined in rfc 3280
# {0} the path length as Integer
CertPathReviewer.totalPathLength.title = Totale Pfadlänge
CertPathReviewer.totalPathLength.text = Die totale Pfadlänge ohne self-signed Zertifikate ist {0}.
CertPathReviewer.totalPathLength.summary = Die totale Pfadlänge ohne self-signed Zertifikate ist {0}.
CertPathReviewer.totalPathLength.details = Die totale Pfadlänge ohne self-signed Zertifikate, wie beschrieben in RFC 3280, ist {0}.
## critical extensions errors
# one unknown critical extension
# {0} extension as String
CertPathReviewer.unknownCriticalExt.title = Unbekannte kritische Erweiterung
CertPathReviewer.unknownCriticalExt.text = Das Zertifikat enhält eine unbekannte kritische Erweiterung mit der OID {0}.
CertPathReviewer.unknownCriticalExt.summary = Unbekannte kritische Erweiterung: {0}.
CertPathReviewer.unknownCriticalExt.details = Das Zertifikat enhält eine unbekannte kritische Erweiterung mit der OID {0}.
# more unknown critical extensions
# {0} extensions as Set of Strings
CertPathReviewer.unknownCriticalExts.title = Unbekannte kritische Erweiterung
CertPathReviewer.unknownCriticalExts.text = Das Zertifikat enhält zwei oder mehr unbekannte kritische Erweiterungen mit den OIDs {0}.
CertPathReviewer.unknownCriticalExts.summary = Unbekannte kritische Erweiterungen: {0}.
CertPathReviewer.unknownCriticalExts.details = Das Zertifikat enhält zwei oder mehr unbekannte kritische Erweiterungen mit den OIDs {0}.
# error processing critical extension
# {0} the message of the underlying exception
# {1} the underlying exception
# {2} the name of the exception
CertPathReviewer.criticalExtensionError.title = Fehler bei der Verarbeitung einer kritischen Erweiterung
CertPathReviewer.criticalExtensionError.text = Fehler bei der Verarbeitung einer kritischen Erweiterung. Es gab eine {2}.
CertPathReviewer.criticalExtensionError.summary = Fehler bei der Verarbeitung einer kritischen Erweiterung. Es gab eine {2}.
CertPathReviewer.criticalExtensionError.details = Fehler bei der Verarbeitung einer kritischen Erweiterung. Es gab eine {2}. Grund: {0}.
# error initializing the certpath checkers
# {0} the message of the underlying exception
# {1} the underlying exception
# {2} the name of the exception
CertPathReviewer.certPathCheckerError.title = Prüfen der kritischen Erweiterungen fehlgeschlagen
CertPathReviewer.certPathCheckerError.text = Prüfen der kritischen Erweiterungen fehlgeschlagen: Es gab eine {2} bei der Initialisierung eines CertPathChecker.
CertPathReviewer.certPathCheckerError.summary = Prüfen der kritischen Erweiterungen fehlgeschlagen: {2} bei der Initialisierung eines CertPathChecker.
CertPathReviewer.certPathCheckerError.details = Prüfen der kritischen Erweiterungen fehlgeschlagen: Es gab eine {2} bei der Initialisierung eines CertPathChecker. Grund: {0}
## check signature errors
CertPathReviewer.rootKeyIsValidButNotATrustAnchor.title = rootKeyIsValidButNotATrustAnchor
CertPathReviewer.rootKeyIsValidButNotATrustAnchor.text = Das Zertifikat hat eine gültige Signatur, ist aber kein vertrauenswürdiges Root Zertifikat.
CertPathReviewer.rootKeyIsValidButNotATrustAnchor.summary = Das Zertifikat hat eine gültige Signatur, ist aber kein vertrauenswürdiges Root Zertifikat.
CertPathReviewer.rootKeyIsValidButNotATrustAnchor.details = Das Zertifikat hat eine gültige Signatur, ist aber kein vertrauenswürdiges Root Zertifikat.
# trustanchor found, but certificate validation failed
CertPathReviewer.trustButInvalidCert.title = Vertrauenswürdiges Root Zertifikat invalid
CertPathReviewer.trustButInvalidCert.text = Ein Root Zertifikat wurde gefunden. Es hat aber einen anderen öffentlichen Schlüssel als verwendet wurde um das erste Zertifikat des Zertifizierungspfades zu signieren.
CertPathReviewer.trustButInvalidCert.summary = Ein Root Zertifikat wurde gefunden. Es hat aber einen anderen öffentlichen Schlüssel als verwendet wurde um das erste Zertifikat des Zertifizierungspfades zu signieren.
CertPathReviewer.trustButInvalidCert.details = Ein Root Zertifikat wurde gefunden. Es hat aber einen anderen öffentlichen Schlüssel als verwendet wurde um das erste Zertifikat des Zertifizierungspfades zu signieren.
# trustanchor - cannot extract issuer
CertPathReviewer.trustAnchorIssuerError.title = Kann kein vertrauenswürdiges Root Zertifikat finden
CertPathReviewer.trustAnchorIssuerError.text = Kann kein vertrauenswürdiges Root Zertifikat finden: Der Herausgeber vom Zertifikat kann nicht auslesen werden.
CertPathReviewer.trustAnchorIssuerError.summary = Kann kein vertrauenswürdiges Root Zertifikat finden: Der Herausgeber vom Zertifikat kann nicht auslesen werden.
CertPathReviewer.trustAnchorIssuerError.details = Kann kein vertrauenswürdiges Root Zertifikat finden: Der Herausgeber vom Zertifikat kann nicht auslesen werden.
# no trustanchor was found for the certificate path
# {0} issuer of the root certificate of the path
# {1} number of trusted root certificates (trustanchors) provided
CertPathReviewer.noTrustAnchorFound.title = Kein vertrauenswürdiges Root Zertifikat gefunden
CertPathReviewer.noTrustAnchorFound.text = Das Root Zertifikat der Zertifizierungspfads wurde nicht von einer vertrauenswürdigen CA ausgestellt. Der Name der CA ist "{0}".
CertPathReviewer.noTrustAnchorFound.summary = Das Root Zertifikat der Zertifizierungspfads wurde nicht von einer vertrauenswürdigen CA ausgestellt.
CertPathReviewer.noTrustAnchorFound.details = Das Root Zertifikat der Zertifizierungspfads wurde nicht von einer vertrauenswürdigen CA ausgestellt. Der Name der CA ist "{0}". Der Root-Zertifikat-Speicher enthält {1} CA(s).
# conflicting trust anchors
# {0} number of trustanchors found (Integer)
# {1} the ca name
CertPathReviewer.conflictingTrustAnchors.title = Korrupter Root-Zertifikat-Speicher
CertPathReviewer.conflictingTrustAnchors.text = Warnung: Es sind {0} öffentliche Schlüssel für die CA "{1}" im Root-Zertifikat-Speicher vorhanden - bitte prüfen Sie mit der CA welches der richtige Schlüssel ist.
CertPathReviewer.conflictingTrustAnchors.summary = Warnung: Es sind {0} öffentliche Schlüssel für die CA "{1}" im Root-Zertifikat-Speicher vorhanden - bitte prüfen Sie mit der CA welches der richtige Schlüssel ist.
CertPathReviewer.conflictingTrustAnchors.details = Warnung: Es sind {0} öffentliche Schlüssel für die CA "{1}" im Root-Zertifikat-Speicher vorhanden - bitte prüfen Sie mit der CA welches der richtige Schlüssel ist.
# trustanchor DN is invalid
# {0} DN of the Trustanchor
CertPathReviewer.trustDNInvalid.title = DN des vertrauenswürdigen Root Zertifikats mit falschem Format.
CertPathReviewer.trustDNInvalid.text = Der DN des vertrauenswürdigen Root Zertifikats hat ein falsches Format: {0}.
CertPathReviewer.trustDNInvalid.summary = Der DN des vertrauenswürdigen Root Zertifikats hat ein falsches Format: {0}.
CertPathReviewer.trustDNInvalid.details = Der DN des vertrauenswürdigen Root Zertifikats hat ein falsches Format: {0}. Es ist kein gültiger X.500 Name. Siehe RFC 1779 oder RFC 2253.
# trustanchor public key algorithm error
CertPathReviewer.trustPubKeyError.title = Fehler bei der Verarbeitung des öffentlichen Schlüssels der vertrauenswürdigen Root Zertifikats
CertPathReviewer.trustPubKeyError.text = Fehler bei der Verarbeitung des öffentlichen Schlüssels der vertrauenswürdigen Root Zertifikats.
CertPathReviewer.trustPubKeyError.summary = Fehler bei der Verarbeitung des öffentlichen Schlüssels der vertrauenswürdigen Root Zertifikats.
CertPathReviewer.trustPubKeyError.details = Fehler bei der Verarbeitung des öffentlichen Schlüssels der vertrauenswürdigen Root Zertifikats. Der AlorithmIdentifier vom Schlüssel kann nicht ausgelesen werden.
# can not verifiy signature: issuer public key unknown
CertPathReviewer.NoIssuerPublicKey.title = Zertifikats Signatur kann nicht geprüft werden
CertPathReviewer.NoIssuerPublicKey.text = Die Zertifikats Signatur kann nicht geprüft werden: Der öffentliche Schlüssel des Herausgebers ist unbekannt.
CertPathReviewer.NoIssuerPublicKey.summary = Die Zertifikats Signatur kann nicht geprüft werden: Der öffentliche Schlüssel des Herausgebers ist unbekannt.
CertPathReviewer.NoIssuerPublicKey.details = Die Zertifikats Signatur kann nicht geprüft werden: Der öffentliche Schlüssel des Herausgebers ist unbekannt.
# signature can not be verified
# {0} message of the underlying exception (english)
# {1} the underlying exception
# {2} the name of the exception
CertPathReviewer.signatureNotVerified.title = Zertifikats Signatur ist ungültig
CertPathReviewer.signatureNotVerified.text = Die Zertifikats Signatur ist ungültig. Es gab eine {2}.
CertPathReviewer.signatureNotVerified.summary = Die Zertifikats Signatur ist ungültig.
CertPathReviewer.signatureNotVerified.details = Die Zertifikats Signatur ist ungültig. Es gab eine {2}. Grund: {0}
# certificate expired
# {0} the date the certificate expired
CertPathReviewer.certificateExpired.title = Zertifikat ist abgelaufen
CertPathReviewer.certificateExpired.text = Das Zertifikat ist ungültig. Es ist am {0,date} {0,time,full} abgelaufen.
CertPathReviewer.certificateExpired.summary = Das Zertifikat ist abgelaufen am {0,date} {0,time,full}.
CertPathReviewer.certificateExpired.details = Das Zertifikat ist ungültig. Es ist am {0,date} {0,time,full} abgelaufen.
# certificate not yet valid
# {0} the date from which on the certificate is valid
CertPathReviewer.certificateNotYetValid.title = Das Zertifikat ist noch nicht gültig
CertPathReviewer.certificateNotYetValid.text = Das Zertifikat ist ungültig. Es ist erst gültig ab {0,date} {0,time,full}.
CertPathReviewer.certificateNotYetValid.summary = Das Zertifikat ist nicht gültig bis {0,date} {0,time,full}.
CertPathReviewer.certificateNotYetValid.details = Das Zertifikat ist ungültig. Es ist erst gültig ab {0,date} {0,time,full}.
# certificate invalid issuer DN
# {0} expected issuer DN as String
# {1} found issuer DN as String
CertPathReviewer.certWrongIssuer.title = Falscher Herausgeber
CertPathReviewer.certWrongIssuer.text = Das Herausgeber des Zertifikats ist ungültig. Erwartet {0}, gefunden {1}.
CertPathReviewer.certWrongIssuer.summary = Das Herausgeber des Zertifikats ist ungültig.
CertPathReviewer.certWrongIssuer.details = Das Herausgeber des Zertifikats ist ungültig. Erwartet {0}, gefunden {1}.
# intermediate certificate is no ca cert
CertPathReviewer.noCACert.title = Zertifikat ist kein CA Zertifikat
CertPathReviewer.noCACert.text = Das Zertifikat ist kein CA Zertifikat.
CertPathReviewer.noCACert.summary = Das Zertifikat ist kein CA Zertifikat.
CertPathReviewer.noCACert.details = Das Zertifikat ist kein CA Zertifikat, wird aber wie eines gebraucht.
# cert laks basic constraints
CertPathReviewer.noBasicConstraints.title = Zertifikat hat keine Basiseinschränkungen
CertPathReviewer.noBasicConstraints.text = Das Zertifikat hat keine Basiseinschränkungen.
CertPathReviewer.noBasicConstraints.summary = Das Zertifikat hat keine Basiseinschränkungen.
CertPathReviewer.noBasicConstraints.details = Das Zertifikat hat keine Basiseinschränkungen.
# error processing basic constraints
CertPathReviewer.errorProcesingBC.title = Fehler bei der Verarbeitung der Basiseinschränkungen
CertPathReviewer.errorProcesingBC.text = Es gab einen Fehler bei der Verarbeitung der Basiseinschränkungen des Zertifikats.
CertPathReviewer.errorProcesingBC.summary = Fehler bei der Verarbeitung der Basiseinschränkungen
CertPathReviewer.errorProcesingBC.details = Es gab einen Fehler bei der Verarbeitung der Basiseinschränkungen des Zertifikats.
# certificate not usable for signing certs
CertPathReviewer.noCertSign.title = Schlüssel nicht nutzbar für Zertifikatssignaturen
CertPathReviewer.noCertSign.text = Der Schlüssel kann nicht zum Signieren von Zertifikaten verwendet werden.
CertPathReviewer.noCertSign.summary = Der Schlüssel kann nicht zum Signieren von Zertifikaten verwendet werden.
CertPathReviewer.noCertSign.details = Der Schlüssel kann nicht zum Signieren von Zertifikaten verwendet werden.
# error processing public key
CertPathReviewer.pubKeyError.title = Fehler bei der Verarbeitung des öffentlichen Schlüssels
CertPathReviewer.pubKeyError.text = Fehler bei der Verarbeitung des öffentlichen Schlüssels des Zertifikats.
CertPathReviewer.pubKeyError.summary = Fehler bei der Verarbeitung des öffentlichen Schlüssels des Zertifikats.
CertPathReviewer.pubKeyError.details = Fehler bei der Verarbeitung des öffentlichen Schlüssels des Zertifikats. Der AlorithmIdentifier konnte nicht extrahiert werden.
## check signatures notifications
#
# trust anchor has no keyusage certSign
CertPathReviewer.trustKeyUsage.title = Root-Zertifikat Schlüsselverwendung
CertPathReviewer.trustKeyUsage.text = Das Root-Zertifikat darf nicht zum Signieren von Zertifikaten verwendet werden.
CertPathReviewer.trustKeyUsage.summary = Das Root-Zertifikat darf nicht zum Signieren von Zertifikaten verwendet werden.
CertPathReviewer.trustKeyUsage.details = Das Root-Zertifikat darf nicht zum Signieren von Zertifikaten verwendet werden.
# certificate path validation date
# {0} date for which the cert path is validated
# {1} current date
CertPathReviewer.certPathValidDate.title = Datum der Zertifikatspfad Validierung
CertPathReviewer.certPathValidDate.text = Der Zertifikatspfad wurde am {0,date} {0,time,full} angewendet. Er wurde am {1,date} {1,time,full} geprüft.
CertPathReviewer.certPathValidDate.summary = Der Zertifikatspfad wurde am {0,date} {0,time,full} angewendet. Er wurde am {1,date} {1,time,full} geprüft.
CertPathReviewer.certPathValidDate.details = Der Zertifikatspfad wurde am {0,date} {0,time,full} angewendet. Er wurde am {1,date} {1,time,full} geprüft.
## check policy errors
# error processing certificate policy extension
CertPathReviewer.policyExtError.title = Prüfen der Policy fehlgeschlagen
CertPathReviewer.policyExtError.text = Prüfen der Policy fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Policy Erweiterung.
CertPathReviewer.policyExtError.summary = Fehler bei der Verarbeitung der Policy Erweiterung.
CertPathReviewer.policyExtError.details = Prüfen der Policy fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Policy Erweiterung.
# error processing policy constraints extension
CertPathReviewer.policyConstExtError.title = Prüfen der Policy fehlgeschlagen
CertPathReviewer.policyConstExtError.text = Prüfen der Policy fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Policy Constraints Erweiterung.
CertPathReviewer.policyConstExtError.summary = Fehler bei der Verarbeitung der Policy Constraints Erweiterung.
CertPathReviewer.policyConstExtError.details = Prüfen der Policy fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Policy Constraints Erweiterung.
# error processing policy mapping extension
CertPathReviewer.policyMapExtError.title = Prüfen der Policy fehlgeschlagen
CertPathReviewer.policyMapExtError.text = Prüfen der Policy fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Policy Mapping Erweiterung.
CertPathReviewer.policyMapExtError.summary = Fehler bei der Verarbeitung der Policy Mapping Erweiterung.
CertPathReviewer.policyMapExtError.details = Prüfen der Policy fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Policy Mapping Erweiterung.
# error processing inhibit any policy extension
CertPathReviewer.policyInhibitExtError.title = Prüfen der Policy fehlgeschlagen
CertPathReviewer.policyInhibitExtError.text = Prüfen der Policy fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Inhibit Any Policy Erweiterung.
CertPathReviewer.policyInhibitExtError.summary = Fehler bei der Verarbeitung der Inhibit Any Policy Erweiterung.
CertPathReviewer.policyInhibitExtError.details = Prüfen der Policy fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Inhibit Any Policy Erweiterung.
# error building qualifier set
CertPathReviewer.policyQualifierError.title = Prüfen der Policy fehlgeschlagen
CertPathReviewer.policyQualifierError.text = Prüfen der Policy fehlgeschlagen: Fehler beim erstellen des Policy Qualifier Set.
CertPathReviewer.policyQualifierError.summary = Prüfen der Policy fehlgeschlagen: Fehler beim erstellen des Policy Qualifier Set.
CertPathReviewer.policyQualifierError.details = Prüfen der Policy fehlgeschlagen: Fehler beim erstellen des Policy Qualifier Set.
# no valid policy tree - explicit policy required
CertPathReviewer.noValidPolicyTree.title = Prüfen der Policy fehlgeschlagen
CertPathReviewer.noValidPolicyTree.text = Prüfen der Policy fehlgeschlagen: Kein gültiger Policy Baum gefunden, als einer erwartet wurde.
CertPathReviewer.noValidPolicyTree.summary = Prüfen der Policy fehlgeschlagen: Kein gültiger Policy Baum gefunden, als einer erwartet wurde.
CertPathReviewer.noValidPolicyTree.details = Prüfen der Policy fehlgeschlagen: Kein gültiger Policy Baum gefunden, als einer erwartet wurde.
# expicit policy requested, but no policy available
CertPathReviewer.explicitPolicy.title = Prüfen der Policy fehlgeschlagen
CertPathReviewer.explicitPolicy.text = Prüfen der Policy fehlgeschlagen: Policy verlang, aber keine Policy vorhanden.
CertPathReviewer.explicitPolicy.summary = Prüfen der Policy fehlgeschlagen: Policy verlang, aber keine Policy vorhanden.
CertPathReviewer.explicitPolicy.details = Prüfen der Policy fehlgeschlagen: Policy verlang, aber keine Policy vorhanden.
# path processing failed on policy
CertPathReviewer.invalidPolicy.title = Pfad Validierung wegen der Policy fehlgeschlagen
CertPathReviewer.invalidPolicy.text = Pfad Validierung wegen der Policy fehlgeschlagen.
CertPathReviewer.invalidPolicy.summary = Pfad Validierung wegen der Policy fehlgeschlagen.
CertPathReviewer.invalidPolicy.details = Pfad Validierung wegen der Policy fehlgeschlagen.
# invalid policy mapping
CertPathReviewer.invalidPolicyMapping.title = Ungültiges Policy Mapping
CertPathReviewer.invalidPolicyMapping.text = Das Zertifikat enthält ein Ungültiges Policy Mapping.
CertPathReviewer.invalidPolicyMapping.summary = Das Zertifikat enthält ein Ungültiges Policy Mapping.
CertPathReviewer.invalidPolicyMapping.details = Das Zertifikat enthält ein Ungültiges Policy Mapping, das den Wert Any Policy enthält.
## check CRL notifications
# found local valid CRL
# {0} thisUpdate of the CRL
# {1} nextUpdate of the CRL
CertPathReviewer.localValidCRL.title = Gültige Zertifikatssperrliste (CRL) gefunden
CertPathReviewer.localValidCRL.text = Gültige Zertifikatssperrliste (CRL) im lokalen Speicher gefunden. Herausgegeben am {0,date}, nächstes Update am {1,date}.
CertPathReviewer.localValidCRL.summary = Gültige Zertifikatssperrliste (CRL) im lokalen Speicher gefunden. Herausgegeben am {0,date}, nächstes Update am {1,date}.
CertPathReviewer.localValidCRL.details = Gültige Zertifikatssperrliste (CRL) im lokalen Speicher gefunden. Herausgegeben am {0,date}, nächstes Update am {1,date}.
# found matching CRL, but not valid
# {0} thisUpdate of the CRL
# {1} nextUpdate of the CRL
CertPathReviewer.localInvalidCRL.title = Lokale Zertifikatssperrliste (CRL) veraltet
CertPathReviewer.localInvalidCRL.text = Eine lokale Zertifikatssperrliste (CRL) wurde nicht genutzt, da sie veraltet ist. Herausgegeben am {0,date}, nächstes Update am {1,date}.
CertPathReviewer.localInvalidCRL.summary = Eine lokale Zertifikatssperrliste (CRL) wurde nicht genutzt, da sie veraltet ist. Herausgegeben am {0,date}, nächstes Update am {1,date}.
CertPathReviewer.localInvalidCRL.details = Eine lokale Zertifikatssperrliste (CRL) wurde nicht genutzt, da sie veraltet ist. Herausgegeben am {0,date}, nächstes Update am {1,date}.
# found a valid crl at crl distribution point
# {0} thisUpdate of the CRL
# {1} nextUpdate of the CRL
# {2} the url of the distribution point
CertPathReviewer.onlineValidCRL.title = Gültige Zertifikatssperrliste (CRL) von einem CDP
CertPathReviewer.onlineValidCRL.text = Gültige Zertifikatssperrliste (CRL) gefunden von: {2}. Herausgegeben am {0,date}, nächstes Update am {1,date}.
CertPathReviewer.onlineValidCRL.summary = Gültige Zertifikatssperrliste (CRL) gefunden von: {2}. Herausgegeben am {0,date}, nächstes Update am {1,date}.
CertPathReviewer.onlineValidCRL.details = Gültige Zertifikatssperrliste (CRL) gefunden von: {2}. Herausgegeben am {0,date}, nächstes Update am {1,date}.
# found an invalid CRL at crl distribution point
# {0} thisUpdate of the CRL
# {1} nextUpdate of the CRL
# {2} the url of the distribution point
CertPathReviewer.onlineInvalidCRL.title = Veraltete Zertifikatssperrliste (CRL) von einem CDP
CertPathReviewer.onlineInvalidCRL.text = Die Zertifikatssperrliste (CRL) von {2} ist veraltet. Herausgegeben am {0,date}, nächstes Update am {1,date}.
CertPathReviewer.onlineInvalidCRL.summary = Die Zertifikatssperrliste (CRL) von {2} ist veraltet. Herausgegeben am {0,date}, nächstes Update am {1,date}.
CertPathReviewer.onlineInvalidCRL.details = Die Zertifikatssperrliste (CRL) von {2} ist veraltet. Herausgegeben am {0,date}, nächstes Update am {1,date}.
#found a CRL at a crl distribution point, but issued by another CA
# {0} issuer of the CRL
# {1} expected issuer
# {2} the url of the distribution point
CertPathReviewer.onlineCRLWrongCA.title = Zertifikatssperrliste (CRL) von CDP mit falschem Herausgeber
CertPathReviewer.onlineCRLWrongCA.text = Die Zertifikatssperrliste (CRL) von {2} wurde von {0} herausgegeben, erwartet wurde {1}.
CertPathReviewer.onlineCRLWrongCA.summary = Die Zertifikatssperrliste (CRL) von {2} hat einen falschen Herausgeber.
CertPathReviewer.onlineCRLWrongCA.details = Die Zertifikatssperrliste (CRL) von {2} wurde von {0} herausgegeben, erwartet wurde {1}.
# Certificate not revoked
CertPathReviewer.notRevoked.title = Zertifikat nicht revoziert
CertPathReviewer.notRevoked.text = Das Zertifikat ist nicht revoziert.
CertPathReviewer.notRevoked.summary = Das Zertifikat ist nicht revoziert.
CertPathReviewer.notRevoked.details = Das Zertifikat ist nicht revoziert.
# CRL found: certificate was revoked, but after the validationDate
# {0} the date the certificate was revoked
# {1} the reason for revoking the certificate
CertPathReviewer.revokedAfterValidation.title = Zertifikat revoziert nach dem Validierungdatum
CertPathReviewer.revokedAfterValidation.text = Das Zertifikat wurde nach dem Validierungdatum am {0,date} {0,time,full} revoziert. Grund: {1}.
CertPathReviewer.revokedAfterValidation.summary = Das Zertifikat wurde nach dem Validierungdatum am {0,date} {0,time,full} revoziert.
CertPathReviewer.revokedAfterValidation.details = Das Zertifikat wurde nach dem Validierungdatum am {0,date} {0,time,full} revoziert. Grund: {1}.
# updated crl available
# {0} date since when the update is available
CertPathReviewer.crlUpdateAvailable.title = Zertifikatssperrlisten (CRL) Update erhältlich
CertPathReviewer.crlUpdateAvailable.text = Ein Update für die Zertifikatssperrliste (CRL) für dieses Zertifikat ist erhältlich seit {0,date} {0,time,full}.
CertPathReviewer.crlUpdateAvailable.summary = Ein Update für die Zertifikatssperrliste (CRL) für dieses Zertifikat ist erhältlich seit {0,date} {0,time,full}.
CertPathReviewer.crlUpdateAvailable.details = Ein Update für die Zertifikatssperrliste (CRL) für dieses Zertifikat ist erhältlich seit {0,date} {0,time,full}.
# crl distribution point url
# {0} the crl distribution point url as String
CertPathReviewer.crlDistPoint.title = CDP
CertPathReviewer.crlDistPoint.text = Eine Zertifikatssperrliste (CRL) kann von {0} geladen werden.
CertPathReviewer.crlDistPoint.summary = Eine Zertifikatssperrliste (CRL) kann von {0} geladen werden.
CertPathReviewer.crlDistPoint.details = Eine Zertifikatssperrliste (CRL) kann von {0} geladen werden.
# ocsp location
# {0} the url on which the ocsp service can be found
CertPathReviewer.ocspLocation.title = OCSP Server
CertPathReviewer.ocspLocation.text = OCSP Server: {0}.
CertPathReviewer.ocspLocation.summary = OCSP Server: {0}.
CertPathReviewer.ocspLocation.details = OCSP Server: {0}.
# unable to get crl from crl distribution point
# {0} the url of the distribution point
# {1} the message of the occurred exception
# {2} the occurred exception
# {3} the name of the exception
CertPathReviewer.loadCrlDistPointError.title = Kann Zertifikatssperrliste (CRL) nicht von CDP laden
CertPathReviewer.loadCrlDistPointError.text = Kann die Zertifikatssperrliste (CRL) von {0} nicht laden. Es gab eine {2}.
CertPathReviewer.loadCrlDistPointError.summary = Kann die Zertifikatssperrliste (CRL) von {0} nicht laden. Es gab eine {2}.
CertPathReviewer.loadCrlDistPointError.details = Kann die Zertifikatssperrliste (CRL) von {0} nicht laden. Es gab eine {2}. Grund: {1}.
# no crl found in certstores
# {0} the issuers which we searched for
# {1} list of crl issuer names that are found in the certstores
# {2} number of crls in the certstores
CertPathReviewer.noCrlInCertstore.title = Keine Zertifikatssperrliste (CRL) im lokalen Speicher
CertPathReviewer.noCrlInCertstore.text = Es wurde keine Zertifikatssperrliste (CRL) im lokalen Speicher gefunden.
CertPathReviewer.noCrlInCertstore.summary = Es wurde keine Zertifikatssperrliste (CRL) im lokalen Speicher gefunden.
CertPathReviewer.noCrlInCertstore.details = Es wurde keine Zertifikatssperrliste (CRL) für den Herausgeber {0} im lokalen Speicher gefunden. \
Die {2} Zertifikatssperrlisten im lokalen Speicher wurden hearusgegeben von {1}.
## check CRL exceptions
# cannot extract issuer from certificate
CertPathReviewer.crlIssuerException.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlIssuerException.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Kann den Herausgeber vom Zertifikat nicht extrahieren.
CertPathReviewer.crlIssuerException.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Kann den Herausgeber vom Zertifikat nicht extrahieren.
CertPathReviewer.crlIssuerException.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Kann den Herausgeber vom Zertifikat nicht extrahieren.
# cannot extract crls
# {0} message from the underlying exception
# {1} the underlying exception
# {2} the name of the exception
CertPathReviewer.crlExtractionError.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlExtractionError.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab eine {2} beim laden der Zertifikatssperrliste (CRL) aus dem lokalen Speicher.
CertPathReviewer.crlExtractionError.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab eine {2} beim laden der Zertifikatssperrliste (CRL) aus dem lokalen Speicher.
CertPathReviewer.crlExtractionError.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab eine {2} beim laden der Zertifikatssperrliste (CRL) aus dem lokalen Speicher. Grund: {0}.
# Issuer certificate key usage extension does not permit crl signing
CertPathReviewer.noCrlSigningPermited.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.noCrlSigningPermited.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Das Herausgeber Zertifikat erlaubt keine Signieren von Zertifikatssperrlisten (CRL).
CertPathReviewer.noCrlSigningPermited.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Das Herausgeber Zertifikat erlaubt keine Signieren von Zertifikatssperrlisten (CRL).
CertPathReviewer.noCrlSigningPermited.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Das Herausgeber Zertifikat erlaubt keine Signieren von Zertifikatssperrlisten (CRL).
# can not verify crl: issuer public key unknown
CertPathReviewer.crlNoIssuerPublicKey.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlNoIssuerPublicKey.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Kann die Zertifikatssperrliste (CRL) nicht verifizieren. Der öffentliche Schlüssel des Herausgebers ist unbekannt.
CertPathReviewer.crlNoIssuerPublicKey.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Kann die Zertifikatssperrliste (CRL) nicht verifizieren. Der öffentliche Schlüssel des Herausgebers ist unbekannt.
CertPathReviewer.crlNoIssuerPublicKey.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Kann die Zertifikatssperrliste (CRL) nicht verifizieren. Der öffentliche Schlüssel des Herausgebers ist unbekannt.
# crl verification failed
CertPathReviewer.crlVerifyFailed.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlVerifyFailed.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Signatur der Zertifikatssperrliste (CRL) ist ungültig.
CertPathReviewer.crlVerifyFailed.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Signatur der Zertifikatssperrliste (CRL) ist ungültig.
CertPathReviewer.crlVerifyFailed.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Signatur der Zertifikatssperrliste (CRL) ist ungültig.
# no valid CRL found
CertPathReviewer.noValidCrlFound.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.noValidCrlFound.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: keine gültige Zertifikatssperrliste (CRL) gefunden.
CertPathReviewer.noValidCrlFound.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: keine gültige Zertifikatssperrliste (CRL) gefunden.
CertPathReviewer.noValidCrlFound.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: keine gültige Zertifikatssperrliste (CRL) gefunden.
# No base CRL for delta CRL
CertPathReviewer.noBaseCRL.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.noBaseCRL.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: keine Basis CRL für die Delta CRL gefunden.
CertPathReviewer.noBaseCRL.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: keine Basis CRL für die Delta CRL gefunden.
CertPathReviewer.noBaseCRL.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: keine Basis CRL für die Delta CRL gefunden.
# certificate revoked
# {0} the date the certificate was revoked
# {1} the reason for revoking the certificate
CertPathReviewer.certRevoked.title = Zertifikat wurde revoziert
CertPathReviewer.certRevoked.text = Das Zertifikat wurde am {0,date} {0,time,full} revoziert. Grund: {1}.
CertPathReviewer.certRevoked.summary = Das Zertifikat wurde am {0,date} {0,time,full} revoziert.
CertPathReviewer.certRevoked.details = Das Zertifikat wurde am {0,date} {0,time,full} revoziert. Grund: {1}.
# error processing issuing distribution point extension
CertPathReviewer.distrPtExtError.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.distrPtExtError.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Issuing Distribution Point Erweiterung.
CertPathReviewer.distrPtExtError.summary = Fehler bei der Verarbeitung der Issuing Distribution Point Erweiterung.
CertPathReviewer.distrPtExtError.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Issuing Distribution Point Erweiterung.
# error processing crl distribution points extension
CertPathReviewer.crlDistPtExtError.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlDistPtExtError.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der CRL Distribution Points Erweiterung.
CertPathReviewer.crlDistPtExtError.summary = Fehler bei der Verarbeitung der CRL Distribution Points Erweiterung.
CertPathReviewer.crlDistPtExtError.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der CRL Distribution Points Erweiterung.
# error processing the authority info access extension
CertPathReviewer.crlAuthInfoAccError.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlAuthInfoAccError.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Authority Info Access Erweiterung.
CertPathReviewer.crlAuthInfoAccError.summary = Fehler bei der Verarbeitung der Authority Info Access Erweiterung.
CertPathReviewer.crlAuthInfoAccError.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Authority Info Access Erweiterung.
# error processing delta crl indicator extension
CertPathReviewer.deltaCrlExtError.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.deltaCrlExtError.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Delta CRL Indicator Erweiterung.
CertPathReviewer.deltaCrlExtError.summary = Fehler bei der Verarbeitung der Delta CRL Indicator Erweiterung.
CertPathReviewer.deltaCrlExtError.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der Delta CRL Indicator Erweiterung.
# error porcessing crl number extension
CertPathReviewer.crlNbrExtError.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlNbrExtError.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der CRL Number Erweiterung.
CertPathReviewer.crlNbrExtError.summary = Fehler bei der Verarbeitung der CRL Number Erweiterung.
CertPathReviewer.crlNbrExtError.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der CRL Number Erweiterung.
# error processing crl reason code extension
CertPathReviewer.crlReasonExtError.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlReasonExtError.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der CRL Reason Code Erweiterung.
CertPathReviewer.crlReasonExtError.summary = Fehler bei der Verarbeitung der CRL Reason Code Erweiterung.
CertPathReviewer.crlReasonExtError.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der CRL Reason Code Erweiterung.
# error processing basic constraints extension
CertPathReviewer.crlBCExtError.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlBCExtError.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der CRL Reason Code Erweiterung.
CertPathReviewer.crlBCExtError.summary = Fehler bei der Verarbeitung der CRL Reason Code Erweiterung.
CertPathReviewer.crlBCExtError.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Es gab einen Fehler bei der Verarbeitung der CRL Reason Code Erweiterung.
# CA Cert CRL only contains user certificates
CertPathReviewer.crlOnlyUserCert.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlOnlyUserCert.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur User Zertifikate.
CertPathReviewer.crlOnlyUserCert.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur User Zertifikate.
CertPathReviewer.crlOnlyUserCert.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur User Zertifikate.
# End CRL only contains CA certificates
CertPathReviewer.crlOnlyCaCert.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlOnlyCaCert.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur CA Zertifikate.
CertPathReviewer.crlOnlyCaCert.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur CA Zertifikate.
CertPathReviewer.crlOnlyCaCert.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur CA Zertifikate.
# onlyContainsAttributeCerts boolean is asserted
CertPathReviewer.crlOnlyAttrCert.title = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen
CertPathReviewer.crlOnlyAttrCert.text = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur Attribut Zertifikate.
CertPathReviewer.crlOnlyAttrCert.summary = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur Attribut Zertifikate.
CertPathReviewer.crlOnlyAttrCert.details = Prüfung der Zertifikatssperrliste (CRL) fehlgeschlagen: Die Zertifikatssperrliste (CRL) enthält nur Attribut Zertifikate.
## QcStatement notifications
# unkown statement
# {0} statement OID
# {1} statement as ANS1Sequence
CertPathReviewer.QcUnknownStatement.title = Unbekanntes Statement in der QcStatement Erweiterung
CertPathReviewer.QcUnknownStatement.text = Unbekanntes Statement in der QcStatement Erweiterung: OID = {0}
CertPathReviewer.QcUnknownStatement.summary = Unbekanntes Statement in der QcStatement Erweiterung: OID = {0}
CertPathReviewer.QcUnknownStatement.details = Unbekanntes Statement in der QcStatement Erweiterung: OID = {0}, statement = {1}
# QcLimitValue Alpha currency code
# {0} currency code
# {1} limit value
# {2} monetary value as MonetaryValue
CertPathReviewer.QcLimitValueAlpha.title = Transaction Value Limit
CertPathReviewer.QcLimitValueAlpha.text = Dieses Zertifikat hat ein Wertlimite von {1,number, ###,###,###,##0.00#} {0} für Transaktionen.
CertPathReviewer.QcLimitValueAlpha.summary = Wertlimite von {1,number, ###,###,###,##0.00#} {0} für Transaktionen.
CertPathReviewer.QcLimitValueAlpha.details = Dieses Zertifikat hat eine Wertlimite für Transaktionen für welche\
das Zertifikat genutzt werden kann, gemäss der Richtlinie 1999/93/EG des Europäischen Parlaments und\
des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen und gemäss der Umsetzung der\
Richtlinie im Land, das im Herausgeber dieses Zertifikats angegeben ist. Die Limite für diese Zertifikat ist {1,number, ###,###,###,##0.00#} {0}.
# QcLimitValue Numeric currency code
# {0} currency code
# {1} limit value
# {2} monetary value as MonetaryValue
CertPathReviewer.QcLimitValueNum.title = Transaction Value Limit
CertPathReviewer.QcLimitValueNum.text = Dieses Zertifikat hat eine Wertlimite für Transaktionen von {1,number, ###,###,###,##0.00#} der Währung {0} (Siehe RFC 4217 für Währungscodes).
CertPathReviewer.QcLimitValueNum.summary = Wertlimite für Transaktionen von {1,number, ###,###,###,##0.00#} der Währung {0} (Siehe RFC 4217 für Währungscodes).
CertPathReviewer.QcLimitValueNum.details = Dieses Zertifikat hat eine Wertlimite für Transaktionen für welche\
das Zertifikat genutzt werden kann, gemäss der Richtlinie 1999/93/EG des Europäischen Parlaments und\
des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen und gemäss der Umsetzung der\
Richtlinie im Land, das im Herausgeber dieses Zertifikats angegeben ist. Die Limite für diese Zertifikat ist {1,number, ###,###,###,##0.00#} der Währung {0} (Siehe RFC 4217 für Währungscodes).
# QcSSCD
CertPathReviewer.QcSSCD.title = QcSSCD Statement
CertPathReviewer.QcSSCD.text = (SSCD) Der Herausgeber macht geltend, dass der Private Schlüssel, der mit diesem Zertifikat verbunden ist, nach den Anforderungen die im Anhang III der Richtlinie 1999/93/EG des Europäischen Parlaments und des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen geschützt ist.
CertPathReviewer.QcSSCD.summary = (SSCD) Der Herausgeber macht geltend, dass der Private Schlüssel, der mit diesem Zertifikat verbunden ist, nach den Anforderungen die im Anhang III der Richtlinie 1999/93/EG des Europäischen Parlaments und des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen geschützt ist.
CertPathReviewer.QcSSCD.details = (SSCD) Der Herausgeber macht geltend, dass der Private Schlüssel, der mit diesem Zertifikat verbunden ist, nach den Anforderungen die im Anhang III der Richtlinie 1999/93/EG des Europäischen Parlaments und des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen geschützt ist.
# QcEuCompliance
CertPathReviewer.QcEuCompliance.title = Qualifiziertes Zertifikat
CertPathReviewer.QcEuCompliance.text = Dieses Zertifikat wurde als Qualifiziertes Zertifikat herausgegeben gemäss Anhang I und II der Richtlinie 1999/93/EG des Europäischen Parlaments und des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen und gemäss der Umsetzung der Richtlinie im Land, das im Herausgeber dieses Zertifikats angegeben ist.
CertPathReviewer.QcEuCompliance.summary = Dieses Zertifikat wurde als Qualifiziertes Zertifikat herausgegeben gemäss Anhang I und II der Richtlinie 1999/93/EG des Europäischen Parlaments und des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen und gemäss der Umsetzung der Richtlinie in dem Land, das im Herausgeber dieses Zertifikats angegeben ist.
CertPathReviewer.QcEuCompliance.details = Dieses Zertifikat wurde als Qualifiziertes Zertifikat herausgegeben gemäss Anhang I und II der Richtlinie 1999/93/EG des Europäischen Parlaments und des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen und gemäss der Umsetzung der Richtlinie in dem Land, das im Herausgeber dieses Zertifikats angegeben ist.
## QcStatement errors
# error processing the QcStatement extension
CertPathReviewer.QcStatementExtError.title = Fehler bei der Verarbeitung der QcStatement Erweiterung
CertPathReviewer.QcStatementExtError.text = Fehler bei der Verarbeitung der QcStatement Erweiterung.
CertPathReviewer.QcStatementExtError.summary = Fehler bei der Verarbeitung der QcStatement Erweiterung.
CertPathReviewer.QcStatementExtError.details = Fehler bei der Verarbeitung der QcStatement Erweiterung.
## unknown/generic errors
CertPathReviewer.unknown.title = Unbekannter Fehler
CertPathReviewer.unknown.text = Unbekannter Fehler {0}
CertPathReviewer.unknown.summary = Unbekannter Fehler
CertPathReviewer.unknown.details = Unbekannter Fehler {0}
#
# crl reasons
#
unspecified = Nicht spezifiziert
keyCompromise = Schlüssel Kompromittierung
cACompromise = CA Kompromittierung
affiliationChanged = Veränderte Zugehörigkeit
superseded = Ersetzt
cessationOfOperation = Einstellen der Tätigkeiten
certificateHold = Zertifikat vorübergehend gesperrt
unknown = Unbekannt
removeFromCRL = Entferne von der CRL
privilegeWithdrawn = Zurückgezogene Rechte
aACompromise = AA Kompromittierung
#
#
#
missingIssuer = The missing certificate was issued by
missingSerial = with the serial number
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,4 @@
text/html = ISO-8859-1
text/plain = ISO-8859-1
text/xml = UTF-8
text/json = UTF-8
@@ -0,0 +1,181 @@
ai = application/postscript
aif = audio/x-aiff
aifc = audio/x-aiff
aiff = audio/x-aiff
apk = application/vnd.android.package-archive
asc = text/plain
asf = video/x.ms.asf
asx = video/x.ms.asx
au = audio/basic
avi = video/x-msvideo
bcpio = application/x-bcpio
bin = application/octet-stream
cab = application/x-cabinet
cdf = application/x-netcdf
class = application/java-vm
cpio = application/x-cpio
cpt = application/mac-compactpro
crt = application/x-x509-ca-cert
csh = application/x-csh
css = text/css
csv = text/comma-separated-values
dcr = application/x-director
dir = application/x-director
dll = application/x-msdownload
dms = application/octet-stream
doc = application/msword
dtd = application/xml-dtd
dvi = application/x-dvi
dxr = application/x-director
eps = application/postscript
etx = text/x-setext
exe = application/octet-stream
ez = application/andrew-inset
gif = image/gif
gtar = application/x-gtar
gz = application/gzip
gzip = application/gzip
hdf = application/x-hdf
hqx = application/mac-binhex40
htc = text/x-component
htm = text/html
html = text/html
ice = x-conference/x-cooltalk
ico = image/x-icon
ief = image/ief
iges = model/iges
igs = model/iges
jad = text/vnd.sun.j2me.app-descriptor
jar = application/java-archive
java = text/plain
jnlp = application/x-java-jnlp-file
jpe = image/jpeg
jpeg = image/jpeg
jpg = image/jpeg
js = application/x-javascript
jsp = text/html
kar = audio/midi
latex = application/x-latex
lha = application/octet-stream
lzh = application/octet-stream
man = application/x-troff-man
mathml = application/mathml+xml
me = application/x-troff-me
mesh = model/mesh
mid = audio/midi
midi = audio/midi
mif = application/vnd.mif
mol = chemical/x-mdl-molfile
mov = video/quicktime
movie = video/x-sgi-movie
mp2 = audio/mpeg
mp3 = audio/mpeg
mpe = video/mpeg
mpeg = video/mpeg
mpg = video/mpeg
mpga = audio/mpeg
ms = application/x-troff-ms
msh = model/mesh
msi = application/octet-stream
nc = application/x-netcdf
oda = application/oda
odb = application/vnd.oasis.opendocument.database
odc = application/vnd.oasis.opendocument.chart
odf = application/vnd.oasis.opendocument.formula
odg = application/vnd.oasis.opendocument.graphics
odi = application/vnd.oasis.opendocument.image
odm = application/vnd.oasis.opendocument.text-master
odp = application/vnd.oasis.opendocument.presentation
ods = application/vnd.oasis.opendocument.spreadsheet
odt = application/vnd.oasis.opendocument.text
ogg = application/ogg
otc = application/vnd.oasis.opendocument.chart-template
otf = application/vnd.oasis.opendocument.formula-template
otg = application/vnd.oasis.opendocument.graphics-template
oth = application/vnd.oasis.opendocument.text-web
oti = application/vnd.oasis.opendocument.image-template
otp = application/vnd.oasis.opendocument.presentation-template
ots = application/vnd.oasis.opendocument.spreadsheet-template
ott = application/vnd.oasis.opendocument.text-template
pbm = image/x-portable-bitmap
pdb = chemical/x-pdb
pdf = application/pdf
pgm = image/x-portable-graymap
pgn = application/x-chess-pgn
png = image/png
pnm = image/x-portable-anymap
ppm = image/x-portable-pixmap
pps = application/vnd.ms-powerpoint
ppt = application/vnd.ms-powerpoint
ps = application/postscript
qt = video/quicktime
ra = audio/x-pn-realaudio
ram = audio/x-pn-realaudio
ras = image/x-cmu-raster
rdf = application/rdf+xml
rgb = image/x-rgb
rm = audio/x-pn-realaudio
roff = application/x-troff
rpm = application/x-rpm
rtf = application/rtf
rtx = text/richtext
rv = video/vnd.rn-realvideo
ser = application/java-serialized-object
sgm = text/sgml
sgml = text/sgml
sh = application/x-sh
shar = application/x-shar
silo = model/mesh
sit = application/x-stuffit
skd = application/x-koan
skm = application/x-koan
skp = application/x-koan
skt = application/x-koan
smi = application/smil
smil = application/smil
snd = audio/basic
spl = application/x-futuresplash
src = application/x-wais-source
sv4cpio = application/x-sv4cpio
sv4crc = application/x-sv4crc
svg = image/svg+xml
swf = application/x-shockwave-flash
t = application/x-troff
tar = application/x-tar
tar.gz = application/x-gtar
tcl = application/x-tcl
tex = application/x-tex
texi = application/x-texinfo
texinfo = application/x-texinfo
tgz = application/x-gtar
tif = image/tiff
tiff = image/tiff
tr = application/x-troff
tsv = text/tab-separated-values
txt = text/plain
ustar = application/x-ustar
vcd = application/x-cdlink
vrml = model/vrml
vxml = application/voicexml+xml
wav = audio/x-wav
wbmp = image/vnd.wap.wbmp
wml = text/vnd.wap.wml
wmlc = application/vnd.wap.wmlc
wmls = text/vnd.wap.wmlscript
wmlsc = application/vnd.wap.wmlscriptc
wrl = model/vrml
wtls-ca-certificate = application/vnd.wap.wtls-ca-certificate
xbm = image/x-xbitmap
xht = application/xhtml+xml
xhtml = application/xhtml+xml
xls = application/vnd.ms-excel
xml = application/xml
xpm = image/x-xpixmap
xsd = application/xml
xsl = application/xml
xslt = application/xslt+xml
xul = application/vnd.mozilla.xul+xml
xwd = image/x-xwindowdump
xyz = chemical/x-xyz
z = application/compress
zip = application/zip
@@ -0,0 +1 @@
AbstractHandler: Jetty Handler.
@@ -0,0 +1,24 @@
ContextHandler: URI Context
aliases: True if alias checking is performed on resource
allowNullPathInfo: Checks if the /context is not redirected to /context/
classPath: RO: The file classpath
compactPath: True if URLs are compacted to replace the multiple '/'s with a single '/'
connectorNames: Names and ports of accepted connectors
contextAttributes: RO:MBean: Map of context attributes
contextPath: URI prefix of context
displayName: RO: Display name of the Context
errorHandler: MObject: The error handler to use for the context
initParams: Initial Parameter map for the context
maxFormContentSize: The maximum content size
removeContextAttribute(java.lang.String): MBean:ACTION: remove context attribute
removeContextAttribute(java.lang.String)[0]: name: The attribute name
resourceBase: Document root for the context
setContextAttribute(java.lang.String,java.lang.Object): MBean:ACTION: Set context attribute
setContextAttribute(java.lang.String,java.lang.Object)[0]: name: The attribute name
setContextAttribute(java.lang.String,java.lang.Object)[1]: value: The attribute value
setContextAttribute(java.lang.String,java.lang.String): MBean:ACTION: Set context attribute
setContextAttribute(java.lang.String,java.lang.String)[0]: name: The attribute name
setContextAttribute(java.lang.String,java.lang.String)[1]: value: The attribute value
shutdown: False if this context is accepting new requests. True for graceful shutdown, which allows existing requests to complete
virtualHosts: Virtual hosts accepted by the context
welcomeFiles: Partial URIs of directory welcome files
@@ -0,0 +1,2 @@
ContextHandlerCollection: Context Handler Collection
mapContexts(): Update the mapping of context path to context
@@ -0,0 +1,2 @@
HandlerCollection: Handler of multiple Handlers
handlers: MObject:Wrapped handlers
@@ -0,0 +1,2 @@
HandlerWrapper: Handler wrapping another Handler
handler: MObject:Wrapped handler
@@ -0,0 +1,28 @@
StatisticsHandler: Request Statistics gathering
statsOnMs: Time in milliseconds stats have been collected for.
statsReset(): Resets statistics.
requests: Number of requests since statsReset() called.
requestsActive: Number of requests currently active since statsReset() called.
requestsActiveMax: Maximum number of active requests since statsReset() called.
requestTimeMax: Maximum time in milliseconds of request handling since statsReset() called.
requestTimeTotal: Total time in milliseconds of all request handling since statsReset() called.
requestTimeMean: Mean of time in milliseconds of request handling since statsReset() called.
requestTimeStdDev: Standard deviation of time in milliseconds of request handling since statsReset() called.
dispatched: Number of dispatches since statsReset() called.
dispatchedActive: Number of dispatches currently active since statsReset() called.
dispatchedActiveMax: Maximum number of active dispatches since statsReset() called.
dispatchedTimeMax: Maximum time in milliseconds of dispatched handling since statsReset() called.
dispatchedTimeTotal: Total time in milliseconds of all dispatched handling since statsReset() called.
dispatchedTimeMean: Mean of time in milliseconds of dispatch handling since statsReset() called.
dispatchedTimeStdDev: Standard deviation of time in milliseconds of dispatch handling since statsReset() called.
suspends: Number of requests suspended since statsReset() called.
suspendsActive: Number of dispatches currently active since statsReset() called.
suspendsActiveMax: Maximum number of active dispatches since statsReset() called.
resumes: Number of requests resumed since statsReset() called.
expires: Number of requests expired since statsReset() called.
responses1xx: Number of responses with a 1xx status since statsReset() called.
responses2xx: Number of responses with a 2xx status since statsReset() called.
responses3xx: Number of responses with a 3xx status since statsReset() called.
responses4xx: Number of responses with a 4xx status since statsReset() called.
responses5xx: Number of responses with a 5xx status since statsReset() called.
responsesBytesTotal: Total number of bytes of all responses since statsReset() called.
@@ -0,0 +1,19 @@
AbstractConnector: Abstract implementation of the Connector interface.
acceptors: The number of acceptor threads.
acceptQueueSize: The size of the accept queue.
acceptorPriorityOffset: Priority offset of the acceptor threads. The priority is adjusted by this amount to either favor the acceptance of new threads and newly active connections or to favor the handling of already dispatched connections.
forwardedForHeader: The header name for forwarded for (default x-forwarded-for).
forwardedHostHeader: The header name for forwarded hosts (default x-forwarded-host)
forwardedServerHeader: The header name for forwarded server (default x-forwarded-server)
forwarded: Whether reverse proxy handling is on. True if this connector is checking the forwarded for/host/server headers.
host: Host name of the server.
hostHeader: Forced value for the host header. Only used if forwarded is true.
soLingerTime: Enable or disable SO_LINGER with the specified linger time in seconds.
reuseAddress: Whether the server socket will be opened in SO_REUSEADDR mode.
name: Name of the connector.
resolveNames: Whether or not to use DNS when handling forwards.
confidentialPort: Port to use for confidential redirections.
confidentialScheme: Scheme to use for confidential redirections.
integralPort: Port to use for integral redirections.
integralScheme: Scheme to use for integral redirections.
lowResourcesMaxIdleTime: The period in ms that a connection may be idle when the connector has low resources, before it is closed.
@@ -0,0 +1,29 @@
Connector: HTTP Connector.
server: MObject:RO:The server for this connector
requestHeaderSize: The size of a request header buffer
requestBufferSize: The size of a request content buffer
responseHeaderSize: The size of a response header buffer
responseBufferSize: The size of a response content buffer
integralPort: Port to use for integral redirections
integralScheme: Scheme to use for integral redirections
confidentialPort: Port to use for confidential redirections
confidentialScheme: Scheme to use for confidential redirections
host: Host name to accept connections on
port: TCP/IP port to accept connections on
maxIdleTime: Maximum time in ms that a connection can be idle before being closed
statsOn: True if statistics collection is turned on.
statsOnMs: Time in milliseconds stats have been collected for.
statsReset(): Reset statistics.
connections: Number of connections accepted by the server since statsReset() called. Undefined if setStatsOn(false).
connectionsOpen: Number of connections currently open that were opened since statsReset() called. Undefined if setStatsOn(false).
connectionsOpenMax: Maximum number of connections opened simultaneously since statsReset() called. Undefined if setStatsOn(false).
connectionsDurationMean: Mean duration in milliseconds of open connections since statsReset() called. Undefined if setStatsOn(false).
connectionsDurationStdDev: Standard deviation of duration in milliseconds of an open connection since statsReset() called. Undefined if setStatsOn(false).
connectionsDurationMax: Maximum duration in milliseconds of an open connection since statsReset() called. Undefined if setStatsOn(false).
connectionsDurationTotal: Total duration in milliseconds of all open connection since statsReset() called. Undefined if setStatsOn(false).
connectionsRequestsMean: Mean number of requests per connection since statsReset() called. Undefined if setStatsOn(false).
connectionsRequestsStdDev: Standard deviation of number of requests per connection since statsReset() called. Undefined if setStatsOn(false).
connectionsRequestsMax: Maximum number of requests per connection since statsReset() called. Undefined if setStatsOn(false).
requests: Number of requests since statsReset() called. Undefined if setStatsOn(false).
open(): Open the listening port
close(): Close the listening port (but allow existing connections to continue for graceful shutdown)
@@ -0,0 +1,3 @@
Handler: Jetty Handler.
server: MObject:RO:The Jetty server for this handler
destroy(): destroy associated resources (eg MBean)
@@ -0,0 +1,3 @@
HandlerContainer: Handler of multiple Handlers
handlers: MObject:RO:Handlers in this container
childHandlers: MObject:RO:All contained handlers
@@ -0,0 +1,6 @@
NCSARequestLog : NCSA standard format request log
filename : Filename of log
retainDays : Number of days that the log files are kept
append : Existing log files are appended to the new one
extended : Use the extended NCSA format
LogTimeZone : The timezone
@@ -0,0 +1,9 @@
Server: Jetty HTTP Servlet server
connectors: MObject:HTTP Connectors for this server
version: RO: The version of this server
sendServerVersion: If true include the server version in HTTP headers
threadPool: MObject:The server Thread Pool
contexts: MMBean:RO:The contexts of this server
startupTime: MBean:RO:The startup time, in milliseconds, since January 1st 1970
dumpAfterStart: RW:Dump state to stderr after start
dumpBeforeStop: RW:Dump state to stderr before stop
@@ -0,0 +1,2 @@
SelectChannelConnector: HTTP connector using NIO ByteChannels and Selectors
lowResourcesConnections: The number of connections, which if exceeded represents low resources
@@ -0,0 +1,19 @@
AbstractSessionManager: Abstract Session Manager
httpOnly: True if cookies use the http only flag
idManager: MObject:RO:The ID Manager instance
maxCookieAge: if greater than zero, the time in seconds a session cookie will last for
maxInactiveInterval: default maximum time in seconds a session may be idle
refreshCookieAge: The time in seconds after which a session cookie is re-set
secureCookies: If true, the secure cookie flag is set on session cookies
sessionCookie: The set session cookie
sessionDomain: The domain of the session cookie or null for the default
sessionPath: The path of the session cookie or null for the default
sessionsTotal: The total number of sessions
sessionIdPathParameterName: The name to use for URL session tracking
statsReset(): Reset statistics
sessions: Current instantaneous number of sessions
sessionsMax: Maximum number of simultaneous sessions since statsReset() was called
sessionTimeMax: Maximum amount of time in seconds session remained valid since statsReset() was called
sessionTimeTotal: Total amount of time in seconds sessions remained valid since statsReset() was called
sessionTimeMean: Mean amount of time in seconds a session remained valid since statsReset() was called
sessionTimeStdDev: Standard deviation of amount of time in seconds a session remained valid since statsReset() was called
@@ -0,0 +1,4 @@
FilterMapping: Filter Mapping
filterName: RO:Filter Name
pathSpecs: RO:URL patterns
servletNames: RO:Servlet Names
@@ -0,0 +1,5 @@
Holder: Holder
name: RO:Name
displayName: RO:Display Name
className: RO:Class Name
initParameters: RO:Initial parameters
@@ -0,0 +1,4 @@
ServletContextHandler: Servlet Context Handler
securityHandler: MObject: The context's security handler
servletHandler: MObject: The context's servlet handler
sessionHandler: MObject: The context's session handler
@@ -0,0 +1,5 @@
ServletHandler: Servlet Handler
servlets: MObject:RO:Servlets
servletMappings: MObject:RO:Mappings of servlets
filters: MObject:RO:Filters
filterMappings: MObject:RO:Mappings of filters
@@ -0,0 +1,4 @@
ServletHolder: Servlet Holder
initOrder: Initialization order
runAsRole: Role to run servlet as
forcedPath: Forced servlet path
@@ -0,0 +1,3 @@
ServletMapping: Servlet Mapping
servletName: RO:Servlet Name
pathSpecs: RO:URL patterns
@@ -0,0 +1,354 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:schemas-upnp-org:metadata-1-0/AVT/"
xmlns:avt="urn:schemas-upnp-org:metadata-1-0/AVT/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<!--
TODO: This schema was copied from AVTransport1.0.pdf.
Apparently the UPnP clowns couldn't agree if it is *Metadata or *MetaData.
So I've made changes and now all elements are called *MetaData, like the
state variables in the spec. That _will_ break if someone really uses
the original schema.
-->
<xsd:annotation>
<xsd:documentation xml:lang="en">
Schema for UPnP A/V AVTransport Service events, version 0.1(sic!)
</xsd:documentation>
</xsd:annotation>
<!--============================================================
'Event' is the root element of AVTransport event document fragments.
'InstanceID' is the only valid child of 'Event'.
============================================================-->
<xsd:element name="Event">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>Event is the root
element
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="avt:InstanceID"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<!--============================================================
'InstanceID' elements identify an individual event instance.
============================================================-->
<xsd:group name="allowed-under-InstanceID">
<xsd:annotation>
<xsd:documentation>
This group defines the elements allowed under the InstanceID element
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element ref="avt:TransportState"/>
<xsd:element ref="avt:TransportStatus"/>
<xsd:element ref="avt:PlaybackStorageMedium"/>
<xsd:element ref="avt:RecordStorageMedium"/>
<xsd:element ref="avt:PossiblePlaybackStorageMedia"/>
<xsd:element ref="avt:PossibleRecordStorageMedia"/>
<xsd:element ref="avt:CurrentPlayMode"/>
<xsd:element ref="avt:TransportPlaySpeed"/>
<xsd:element ref="avt:RecordMediumWriteStatus"/>
<xsd:element ref="avt:CurrentRecordQualityMode"/>
<xsd:element ref="avt:PossibleRecordQualityModes"/>
<xsd:element ref="avt:NumberOfTracks"/>
<xsd:element ref="avt:CurrentTransportActions"/>
<xsd:element ref="avt:CurrentTrack"/>
<xsd:element ref="avt:CurrentTrackDuration"/>
<xsd:element ref="avt:CurrentMediaDuration"/>
<xsd:element ref="avt:CurrentTrackURI"/>
<xsd:element ref="avt:CurrentTrackMetaData"/>
<xsd:element ref="avt:AVTransportURI"/>
<xsd:element ref="avt:AVTransportURIMetaData"/>
<xsd:element ref="avt:NextAVTransportURI"/>
<xsd:element ref="avt:NextAVTransportURIMetaData"/>
</xsd:choice>
</xsd:group>
<xsd:element name="InstanceID">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
InstanceID elements identify an individual event instance.
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="avt:allowed-under-InstanceID"/>
</xsd:choice>
<!-- TODO: That attribute was missing in the spec! -->
<xsd:attribute name="val" type="xsd:unsignedInt" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
TransportState
============================================================-->
<xsd:element name="TransportState">
<xsd:complexType>
<xsd:attribute name="val" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="STOPPED"/>
<xsd:enumeration value="PLAYING"/>
<xsd:enumeration value="TRANSITIONING"/>
<xsd:enumeration value="PAUSED_PLAYBACK"/>
<xsd:enumeration value="PAUSED_RECORDING"/>
<xsd:enumeration value="RECORDING"/>
<xsd:enumeration value="NO_MEDIA_PRESENT"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<!--============================================================
TransportStatus
============================================================-->
<xsd:element name="TransportStatus">
<xsd:complexType>
<xsd:attribute name="val" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="OK"/>
<xsd:enumeration value="ERROR_OCCURRED"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<!--============================================================
PlaybackStorageMedium
============================================================-->
<xsd:element name="PlaybackStorageMedium">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
RecordStorageMedium
============================================================-->
<xsd:element name="RecordStorageMedium">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
PossiblePlaybackStorageMedia
============================================================-->
<xsd:element name="PossiblePlaybackStorageMedia">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
PossibleRecordStorageMedia
============================================================-->
<xsd:element name="PossibleRecordStorageMedia">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentPlayMode
============================================================-->
<xsd:element name="CurrentPlayMode">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
TransportPlaySpeed
============================================================-->
<xsd:element name="TransportPlaySpeed">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
RecordMediumWriteStatus
============================================================-->
<xsd:element name="RecordMediumWriteStatus">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentRecordQualityMode
============================================================-->
<xsd:element name="CurrentRecordQualityMode">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
PossibleRecordQualityModes (!!! TYPO IN SPEC !!!)
============================================================-->
<xsd:element name="PossibleRecordQualityModes">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
NumberOfTracks
============================================================-->
<xsd:element name="NumberOfTracks">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTrack
============================================================-->
<xsd:element name="CurrentTrack">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTrackDuration
============================================================-->
<xsd:element name="CurrentTrackDuration">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentMediaDuration
============================================================-->
<xsd:element name="CurrentMediaDuration">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTrackMetaData
============================================================-->
<xsd:element name="CurrentTrackMetaData">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTrackURI
============================================================-->
<xsd:element name="CurrentTrackURI">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
AVTransportURI
============================================================-->
<xsd:element name="AVTransportURI">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
AVTransportURIMetaData
============================================================-->
<xsd:element name="AVTransportURIMetaData">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
NextAVTransportURI
============================================================-->
<xsd:element name="NextAVTransportURI">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
NextAVTransportURIMetaData
============================================================-->
<xsd:element name="NextAVTransportURIMetaData">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTransportActions
============================================================-->
<xsd:element name="CurrentTransportActions">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
@@ -0,0 +1,403 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:schemas-upnp-org:metadata-1-0/AVT/"
xmlns:avt="urn:schemas-upnp-org:metadata-1-0/AVT/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<!--
TODO: This schema was copied from AVTransport1.0.pdf.
Apparently the UPnP clowns couldn't agree if it is *Metadata or *MetaData.
So I've made changes and now all elements are called *MetaData, like the
state variables in the spec. That _will_ break if someone really uses
the original schema.
-->
<xsd:annotation>
<xsd:documentation xml:lang="en">
Schema for UPnP A/V AVTransport Service events, version 0.1(sic!)
</xsd:documentation>
</xsd:annotation>
<!--============================================================
'Event' is the root element of AVTransport event document fragments.
'InstanceID' is the only valid child of 'Event'.
============================================================-->
<xsd:element name="Event">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>Event is the root
element
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="avt:InstanceID"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<!--============================================================
'InstanceID' elements identify an individual event instance.
============================================================-->
<xsd:group name="allowed-under-InstanceID">
<xsd:annotation>
<xsd:documentation>
This group defines the elements allowed under the InstanceID element
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element ref="avt:TransportState"/>
<xsd:element ref="avt:TransportStatus"/>
<xsd:element ref="avt:PlaybackStorageMedium"/>
<xsd:element ref="avt:RecordStorageMedium"/>
<xsd:element ref="avt:PossiblePlaybackStorageMedia"/>
<xsd:element ref="avt:PossibleRecordStorageMedia"/>
<xsd:element ref="avt:CurrentPlayMode"/>
<xsd:element ref="avt:TransportPlaySpeed"/>
<xsd:element ref="avt:RecordMediumWriteStatus"/>
<xsd:element ref="avt:CurrentRecordQualityMode"/>
<xsd:element ref="avt:PossibleRecordQualityModes"/>
<xsd:element ref="avt:NumberOfTracks"/>
<xsd:element ref="avt:CurrentTransportActions"/>
<xsd:element ref="avt:CurrentTrack"/>
<xsd:element ref="avt:CurrentTrackDuration"/>
<xsd:element ref="avt:CurrentMediaDuration"/>
<xsd:element ref="avt:CurrentTrackURI"/>
<xsd:element ref="avt:CurrentTrackMetaData"/>
<xsd:element ref="avt:AVTransportURI"/>
<xsd:element ref="avt:AVTransportURIMetaData"/>
<xsd:element ref="avt:NextAVTransportURI"/>
<xsd:element ref="avt:NextAVTransportURIMetaData"/>
<xsd:element ref="avt:RelativeTimePosition"/>
<xsd:element ref="avt:AbsoluteTimePosition"/>
<xsd:element ref="avt:RelativeCounterPosition"/>
<xsd:element ref="avt:AbsoluteCounterPosition"/>
</xsd:choice>
</xsd:group>
<xsd:element name="InstanceID">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
InstanceID elements identify an individual event instance.
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="avt:allowed-under-InstanceID"/>
</xsd:choice>
<!-- TODO: That attribute was missing in the spec! -->
<xsd:attribute name="val" type="xsd:unsignedInt" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
TransportState
============================================================-->
<xsd:element name="TransportState">
<xsd:complexType>
<xsd:attribute name="val" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="STOPPED"/>
<xsd:enumeration value="PLAYING"/>
<xsd:enumeration value="TRANSITIONING"/>
<xsd:enumeration value="PAUSED_PLAYBACK"/>
<xsd:enumeration value="PAUSED_RECORDING"/>
<xsd:enumeration value="RECORDING"/>
<xsd:enumeration value="NO_MEDIA_PRESENT"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<!--============================================================
TransportStatus
============================================================-->
<xsd:element name="TransportStatus">
<xsd:complexType>
<xsd:attribute name="val" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="OK"/>
<xsd:enumeration value="ERROR_OCCURRED"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<!--============================================================
PlaybackStorageMedium
============================================================-->
<xsd:element name="PlaybackStorageMedium">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
RecordStorageMedium
============================================================-->
<xsd:element name="RecordStorageMedium">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
PossiblePlaybackStorageMedia
============================================================-->
<xsd:element name="PossiblePlaybackStorageMedia">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
PossibleRecordStorageMedia
============================================================-->
<xsd:element name="PossibleRecordStorageMedia">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentPlayMode
============================================================-->
<xsd:element name="CurrentPlayMode">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
TransportPlaySpeed
============================================================-->
<xsd:element name="TransportPlaySpeed">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
RecordMediumWriteStatus
============================================================-->
<xsd:element name="RecordMediumWriteStatus">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentRecordQualityMode
============================================================-->
<xsd:element name="CurrentRecordQualityMode">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
PossibleRecordQualityModes (!!! TYPO IN SPEC !!!)
============================================================-->
<xsd:element name="PossibleRecordQualityModes">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
NumberOfTracks
============================================================-->
<xsd:element name="NumberOfTracks">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTrack
============================================================-->
<xsd:element name="CurrentTrack">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTrackDuration
============================================================-->
<xsd:element name="CurrentTrackDuration">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentMediaDuration
============================================================-->
<xsd:element name="CurrentMediaDuration">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTrackMetaData
============================================================-->
<xsd:element name="CurrentTrackMetaData">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTrackURI
============================================================-->
<xsd:element name="CurrentTrackURI">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
AVTransportURI
============================================================-->
<xsd:element name="AVTransportURI">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
AVTransportURIMetaData
============================================================-->
<xsd:element name="AVTransportURIMetaData">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
NextAVTransportURI
============================================================-->
<xsd:element name="NextAVTransportURI">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
NextAVTransportURIMetaData
============================================================-->
<xsd:element name="NextAVTransportURIMetaData">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
CurrentTransportActions
============================================================-->
<xsd:element name="CurrentTransportActions">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
RelativeTimePosition
============================================================-->
<xsd:element name="RelativeTimePosition">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
AbsoluteTimePosition
============================================================-->
<xsd:element name="AbsoluteTimePosition">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
RelativeCounterPosition
============================================================-->
<xsd:element name="RelativeCounterPosition">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
AbsoluteTimePosition
============================================================-->
<xsd:element name="AbsoluteCounterPosition">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
@@ -0,0 +1,60 @@
<xsd:schema
targetNamespace="http://purl.org/dc/elements/1.1/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="2.1">
<xsd:annotation>
<xsd:appinfo>
<jaxb:schemaBindings>
<jaxb:package name="org.fourthline.cling.support.contentdirectory.descriptor.dc"/>
</jaxb:schemaBindings>
</xsd:appinfo>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation xml:lang="en">
Simple DC XML Schema, 2002-10-09
by Pete Johnston ([email protected]),
Carl Lagoze ([email protected]), Andy Powell ([email protected]),
Herbert Van de Sompel ([email protected]).
This schema defines terms for Simple Dublin Core, i.e. the 15
elements from the http://purl.org/dc/elements/1.1/ namespace, with
no use of encoding schemes or element refinements.
Default content type for all elements is xsd:string with xml:lang attribute available.
Supercedes version of 2002-03-12.
Amended to remove namespace declaration for http://www.w3.org/XML/1998/namespace namespace,
and to reference lang attribute via built-in xml: namespace prefix.
xsd:appinfo also removed.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="creator" type="xsd:string"/>
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="publisher" type="xsd:string"/>
<xsd:element name="contributor" type="xsd:string"/>
<xsd:element name="date" type="xsd:string"/>
<xsd:element name="language" type="xsd:string"/>
<xsd:element name="relation" type="xsd:string"/>
<xsd:element name="rights" type="xsd:string"/>
<!-- TODO
<xsd:complexType name="elementType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="xml:lang" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
-->
</xsd:schema>
@@ -0,0 +1,298 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
xmlns:didl-lite="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="2.1">
<!--
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
-->
<xsd:annotation>
<xsd:appinfo>
<jaxb:schemaBindings>
<jaxb:package name="org.fourthline.cling.support.contentdirectory.descriptor.didl"/>
</jaxb:schemaBindings>
<jaxb:globalBindings generateElementClass="true" typesafeEnumMaxMembers="100">
<!--
<xjc:superClass name="org.fourthline.cling.support.didl.DidlObject"/>
-->
</jaxb:globalBindings>
</xsd:appinfo>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation xml:lang="en">
DIDL-Lite schema for UPnP A/V Content Directory Services, version 1.0.
</xsd:documentation>
</xsd:annotation>
<xsd:import namespace="urn:schemas-upnp-org:metadata-1-0/upnp/" schemaLocation="upnp-cds-1.0.xsd"/>
<xsd:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dc-elements-1.1.xsd"/>
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xsd:element name="DIDL-Lite">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
'DIDL-Lite' is the root element of DIDL-Lite documents.
&lt;p>
Attributes:
&lt;p>
xml:lang use: optional
&lt;p>
The 'xml:lang' attribute may optionally be used to specify the language of text
in the DIDL-Lite document.
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:appinfo>
<jaxb:property name="children"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:element ref="didl-lite:item"/>
<xsd:element ref="didl-lite:container"/>
<xsd:element ref="didl-lite:desc"/>
</xsd:choice>
<!-- TODO
<xsd:attribute ref="xml:lang" use="optional"/>
-->
</xsd:complexType>
</xsd:element>
<xsd:element name="container">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
A 'container' element may contain any number of
&lt;p>
1. Dublin Core,&lt;br/>
2. upnp,&lt;br/>
3. res,&lt;br/>
4. ref,&lt;br/>
5 item,&lt;br/>
6. container&lt;br/>
and 7. desc elements.&lt;br/>
&lt;p>
In all cases, the first element in each container child element sequence is
required to be "dc:title". The 'upnp:class' element must also appear under
container. Each container is required to specify a value for the 'id'
and 'parentID' attributes. Each container is also required to specify a value for
the 'restricted' attribute (true, false, 1, 0). When restricted="true", the ability to
change or delete the container is restricted.
&lt;p>
Other optional container element attributes are 'parentID', 'childCount',
and 'searchable'.
&lt;p>
Other optional attributes are 'parentID' and 'childCount'.
&lt;p>
Attributes:
&lt;p>
id type: string use: required&lt;br/>
parentID type: string use: required&lt;br/>
childCount type: int use: optional&lt;br/>
restricted type: boolean use: required&lt;br/>
&lt;p>
The equivalent MPEG21 DIDL element is 'CONTAINER'
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="dc:title"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:appinfo>
<jaxb:property name="children"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:any namespace="urn:schemas-upnp-org:metadata-1-0/upnp/" processContents="strict"/>
<xsd:any namespace="http://purl.org/dc/elements/1.1/" processContents="strict"/>
<xsd:element ref="didl-lite:desc"/>
<xsd:element ref="didl-lite:item"/>
<xsd:element ref="didl-lite:res"/>
<!--
Section 2.8.3: Incremental navigation i.e. the full hierarchy is never returned
in one call since this is likely to flood the resources available to the control
point (memory, network bandwidth, etc.).
So... why is this recursive then?
-->
<xsd:element ref="didl-lite:container"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="parentID" type="xsd:string" use="required"/>
<xsd:attribute name="childCount" type="xsd:int"/>
<xsd:attribute name="restricted" type="xsd:boolean" use="required"/>
<xsd:attribute name="searchable" type="xsd:boolean"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="item">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
An 'item' element contains any number of
&lt;p/>
1. Dublin Core,&lt;br/>
2. upnp,&lt;br/>
3. res, and&lt;br/>
4. desc elements.&lt;br/>
&lt;p/>
In all cases, the first element in each item child element sequence is required
to be "dc:title". The 'upnp:class' element must also appear under item. Each item
is additionally required to specify a value for the 'id' attribute. If the item
is actually a reference to another item, a value for 'refID' is specified.
Each item is also required to specify a value for the 'parentID attribute, as well
as the 'restricted' attribute (true, false, 1, 0). When restricted="true", the
ability to change or delete the item is restricted.
&lt;p/>
Attributes:
&lt;p/>
id type: string use: required&lt;br/>
parentID type: string use: required&lt;br/>
refID type: string use: optional&lt;br/>
restricted type: boolean use: required&lt;br/>
&lt;p/>
The equivalent MPEG21 DIDL element is 'ITEM'.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="dc:title"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:appinfo>
<jaxb:property name="children"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:any namespace="urn:schemas-upnp-org:metadata-1-0/upnp/" processContents="strict"/>
<xsd:any namespace="http://purl.org/dc/elements/1.1/" processContents="strict"/>
<xsd:element ref="didl-lite:desc"/>
<xsd:element ref="didl-lite:res"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="refID" type="xsd:string"/>
<xsd:attribute name="parentID" type="xsd:string" use="required"/>
<xsd:attribute name="restricted" type="xsd:boolean" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="res">
<xsd:complexType mixed="true">
<xsd:annotation>
<xsd:documentation>
A 'res' element indentifies a resource. A resource is typically some type of a
binary asset, such as photo, song, video, etc. A 'res' element contains a uri
that identifies the resource.
&lt;p/>
Attributes:
&lt;p/>
'importUri' type: anyURI use: optional&lt;br/>
The 'importUri' attribute is the optional uri locator for resource update.
&lt;p/>
'protocolInfo' type: string use: required&lt;br/>
The 'protocolInfo' attribute is a string that identifies the streaming or
transport protocol for transmitting the resource. If not present then the
content has not yet been fully imported by the ContentDirectory and is not yet
accesible for playback purposes.
&lt;p/>
'size' type: unsignedLong use: optional&lt;br/>
The size, in bytes, of the resource.
&lt;p/>
'duration' type: string use: optional&lt;br/>
The 'duration' attribute identifies the duration of the playback of the resource, at normal speed.
The form of the duration string is: H*:MM:SS.F*, or H*:MM:SS.F0/F1 where :
H* means any number of digits (including no digits) to indicate elapsed hours
MM means exactly 2 digits to indicate minutes (00 to 59)
SS means exactly 2 digits to indicate seconds (00 to 59)
F* means any number of digits (including no digits) to indicate fractions of seconds
F0/F1 means a fraction, with F0 and F1 at least one digit long, and F0 &lt; F1
The string may be preceded by an optional + or - sign, and the decimal point itself may
be omitted if there are no fractional second digits.
&lt;p/>
'bitrate' type: unsignedInt use: optional&lt;br/>
The bitrate in bytes/second of the resource.
&lt;p/>
'sampleFrequency' type: unsignedInt use: optional&lt;br/>
The sample frequency of the resource in Hz
&lt;p/>
'bitsPerSample' type: unsignedInt use: optional&lt;br/>
The bits per sample of the resource.
&lt;p/>
'nrAudioChannels' type: unsignedInt use: optional&lt;br/>
Number of audio channels of the resource, e.g. 1 for mono, 2 for stereo, 6 for Dolby surround, etc.
&lt;p/>
'resolution' type: pattern-string use: optional&lt;br/>
X*Y resolution of the resource (image or video). The string pattern is restricted to strings of the
form: [0-9]+x[0-9]+ (one or more digits,'x', followed by one or more digits).
&lt;p/>
'colorDepth' type: unsignedInt use: optional&lt;br/>
The color depth in bits of the resource (image or video).
&lt;p/>
'protection' type: string use: optional&lt;br/>
Some statement of the protection type of the resource (not standardized).
&lt;p/>
The equivalent MPEG21 DIDL element is 'RESOURCE'.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="importUri" type="xsd:anyURI"/>
<xsd:attribute name="protocolInfo" type="xsd:string" use="required"/>
<xsd:attribute name="size" type="xsd:unsignedLong"/>
<xsd:attribute name="duration" type="xsd:string"/>
<xsd:attribute name="bitrate" type="xsd:unsignedInt"/>
<xsd:attribute name="sampleFrequency" type="xsd:unsignedInt"/>
<xsd:attribute name="bitsPerSample" type="xsd:unsignedInt"/>
<xsd:attribute name="nrAudioChannels" type="xsd:unsignedInt"/>
<xsd:attribute name="colorDepth" type="xsd:unsignedInt"/>
<xsd:attribute name="protection" type="xsd:string"/>
<xsd:attribute name="resolution">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]+x[0-9]+"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="desc">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
A 'desc' element identifies a descriptor. A descriptor is intended to contain a block of metadata. A
bio
of a music artist is an example use of 'desc'. A 'desc' element may possess child elements from any
namespace except the DIDL-Lite namespace. Values for 'id' and 'nameSpace' is required. An optional
'type' attribute allows designation of the metadata type, e.g. 'ratings', 'rights', etc.
Attributes:
'id' type: string use: optional
'name' type: string use: optional
'nameSpace' type: uri use: optional
The equivalent MPEG21 DIDL element is 'DESCRIPTOR'.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any namespace="##other"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="nameSpace" type="xsd:anyURI" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
@@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="urn:schemas-upnp-org:metadata-1-0/upnp/"
xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="2.1">
<xsd:annotation>
<xsd:appinfo>
<jaxb:schemaBindings>
<jaxb:package name="org.fourthline.cling.support.contentdirectory.descriptor.upnp"/>
</jaxb:schemaBindings>
</xsd:appinfo>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation xml:lang="en">
UPnP Content Directory Service 1.0 schema, derived from the crude examples in the PDF document.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="class">
<xsd:complexType mixed="true">
<!-- TODO: That causes weird namespace errors in marshalled XML output...
<xsd:annotation>
<xsd:appinfo>
<jaxb:class name="Clazz"/>
</xsd:appinfo>
</xsd:annotation>
-->
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="searchClass">
<xsd:complexType mixed="true">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" use="optional"/>
<xsd:attribute name="includeDerived" type="xsd:boolean" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="createClass">
<xsd:complexType mixed="true">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" use="optional"/>
<xsd:attribute name="includeDerived" type="xsd:boolean" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="writeStatus" type="upnp:writeStatusValue"/>
<xsd:simpleType name="writeStatusValue">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="WRITABLE"/>
<xsd:enumeration value="PROTECTED"/>
<xsd:enumeration value="NOT_WRITABLE"/>
<xsd:enumeration value="UNKNOWN"/>
<xsd:enumeration value="MIXED"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="genre" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Name of the genre to which an object belongs.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="album" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Title of the album to which the item belongs.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="playlist" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Name of a playlist to which the item belongs.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="storageUsed" type="xsd:long" default="-1">
<xsd:annotation>
<xsd:documentation>
Combined space, in bytes, used by all the objects held in the storage
represented by the container.
Value 1 is reserved to indicate that the capacity is 'unknown'
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="storageTotal" type="xsd:long" default="-1">
<xsd:annotation>
<xsd:documentation>
Total capacity, in bytes, of the storage represented by the
container.
Value 1 is reserved to indicate that the capacity is 'unknown'
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="storageFree" type="xsd:long" default="-1">
<xsd:annotation>
<xsd:documentation>
Total free capacity, in bytes, of the storage represented by the container
Value 1 is reserved to indicate that the capacity is 'unknown'
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="storageMaxPartition" type="xsd:long" default="-1">
<xsd:annotation>
<xsd:documentation>
Largest amount of space, in bytes, available for storing a single resource
in the container.
Value 1 is reserved to indicate that the capacity is 'unknown'
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="storageMedium" type="upnp:storageMediumValue">
<xsd:annotation>
<xsd:documentation>
Indicates the type of storage medium used for the content. Potentially useful
for user-interface purposes.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:simpleType name="storageMediumValue">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="UNKNOWN"/>
<xsd:enumeration value="DV"/>
<xsd:enumeration value="MINI-DV"/>
<xsd:enumeration value="VHS"/>
<xsd:enumeration value="W-VHS"/>
<xsd:enumeration value="S-VHS"/>
<xsd:enumeration value="D-VHS"/>
<xsd:enumeration value="VHSC"/>
<xsd:enumeration value="VIDEO8"/>
<xsd:enumeration value="HI8"/>
<xsd:enumeration value="CD-ROM"/>
<xsd:enumeration value="CD-DA"/>
<xsd:enumeration value="CD-R"/>
<xsd:enumeration value="CD-RW"/>
<xsd:enumeration value="VIDEO-CD"/>
<xsd:enumeration value="SACD"/>
<xsd:enumeration value="MD-AUDIO"/>
<xsd:enumeration value="MD-PICTURE"/>
<xsd:enumeration value="DVD-ROM"/>
<xsd:enumeration value="DVD-VIDEO"/>
<xsd:enumeration value="DVD-R"/>
<xsd:enumeration value="DVD+RW">
<xsd:annotation>
<xsd:appinfo>
<jaxb:typesafeEnumMember name="DVD_PLUS_RW"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="DVD-RW"/>
<xsd:enumeration value="DVD-RAM"/>
<xsd:enumeration value="DVD-AUDIO"/>
<xsd:enumeration value="DAT"/>
<xsd:enumeration value="LD"/>
<xsd:enumeration value="HDD"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="longDescription" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
A few lines of description of the content item (longer than
DublinCore's description element).
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="icon" type="xsd:anyURI">
<xsd:annotation>
<xsd:documentation>
Some icon that a control point can use in its UI to display the
content, e.g. a CNN logo for a Tuner channel. Recommend same format
as the icon element in the UPnP device description document schema.
(PNG). Values must be properly escaped URIs as described in [RFC 2396].
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="region" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Some identification of the region, associated with the
"source" of the object, e.g. "US", "Latin America",
"Seattlle".
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="rating" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Rating of the object's resource, for 'parental control' filtering purposes,
such as "R", "PG-13", "X", etc.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:schema>
@@ -0,0 +1,284 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
TODO: UPNP VIOLATION: RenderingControl 1.0 specification schema says "/RCS/" but examples
in the spec say "/AVT_RCS". We had "/AVT_RCS", then "/RCS", now we have "/RCS/", let's
see who complains.
-->
<xsd:schema targetNamespace="urn:schemas-upnp-org:metadata-1-0/RCS/"
xmlns:rcs="urn:schemas-upnp-org:metadata-1-0/RCS/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Schema for UPnP A/V Rendering Control Service events, version 0.1 (sic!)
</xsd:documentation>
</xsd:annotation>
<!--============================================================
'Event' is the root element of Rendering Control event document fragments.
'InstanceID' is the only valid child of 'Event'.
============================================================-->
<xsd:element name="Event">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
Event is the root element
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="rcs:InstanceID"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<!--============================================================
'InstanceID' elements identify an individual event instance.
============================================================-->
<xsd:group name="allowed-under-InstanceID">
<xsd:annotation>
<xsd:documentation>
This group defines the elements allowed under the InstanceID element
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element ref="rcs:PresetNameList"/>
<xsd:element ref="rcs:Brightness"/>
<xsd:element ref="rcs:Contrast"/>
<xsd:element ref="rcs:Sharpness"/>
<xsd:element ref="rcs:RedVideoGain"/>
<xsd:element ref="rcs:GreenVideoGain"/>
<xsd:element ref="rcs:BlueVideoGain"/>
<xsd:element ref="rcs:RedVideoBlackLevel"/>
<xsd:element ref="rcs:GreenVideoBlackLevel"/>
<xsd:element ref="rcs:BlueVideoBlackLevel"/>
<xsd:element ref="rcs:ColorTemperature"/>
<xsd:element ref="rcs:HorizontalKeystone"/>
<xsd:element ref="rcs:VerticalKeystone"/>
<xsd:element ref="rcs:Mute"/>
<xsd:element ref="rcs:Volume"/>
<xsd:element ref="rcs:VolumeDB"/>
<xsd:element ref="rcs:Loudness"/>
</xsd:choice>
</xsd:group>
<xsd:element name="InstanceID">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
InstanceID elements identify an individual event instance.
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="rcs:allowed-under-InstanceID"/>
</xsd:choice>
<xsd:attribute name="val" type="xsd:unsignedInt" use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
PresetNameList
============================================================-->
<xsd:element name="PresetNameList">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:string"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
Brightness
============================================================-->
<xsd:element name="Brightness">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
Contrast
============================================================-->
<xsd:element name="Contrast">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
Sharpness
============================================================-->
<xsd:element name="Sharpness">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
RedVideoGain
============================================================-->
<xsd:element name="RedVideoGain">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
GreenVideoGain
============================================================-->
<xsd:element name="GreenVideoGain">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
BlueVideoGain
============================================================-->
<xsd:element name="BlueVideoGain">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
RedVideoBlackLevel
============================================================-->
<xsd:element name="RedVideoBlackLevel">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
GreenVideoBlackLevel
============================================================-->
<xsd:element name="GreenVideoBlackLevel">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
BlueVideoBlackLevel
============================================================-->
<xsd:element name="BlueVideoBlackLevel">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
ColorTemperature
============================================================-->
<xsd:element name="ColorTemperature">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
HorizontalKeystone
============================================================-->
<xsd:element name="HorizontalKeystone">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:integer"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
VerticalKeystone
============================================================-->
<xsd:element name="VerticalKeystone">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:integer"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
Mute
============================================================-->
<xsd:element name="Mute">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:boolean"
use="required"/>
<xsd:attribute name="channel" type="xsd:string"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
Volume
============================================================-->
<xsd:element name="Volume">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:unsignedInt"
use="required"/>
<xsd:attribute name="channel" type="xsd:string"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
VolumeDB
============================================================-->
<xsd:element name="VolumeDB">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:integer"
use="required"/>
<xsd:attribute name="channel" type="xsd:string"
use="required"/>
</xsd:complexType>
</xsd:element>
<!--============================================================
Loudness
============================================================-->
<xsd:element name="Loudness">
<xsd:complexType>
<xsd:attribute name="val" type="xsd:boolean"
use="required"/>
<xsd:attribute name="channel" type="xsd:string"
use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
@@ -0,0 +1,1030 @@
#
# Default JavaScript messages file.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# This is replaced during jar assembly from property string
# and should not be translated
implementation.version = @IMPLEMENTATION.VERSION@
#
# To add JavaScript error messages for a particular locale, create a
# new Messages_[locale].properties file, where [locale] is the Java
# string abbreviation for that locale. For example, JavaScript
# messages for the Polish locale should be located in
# Messages_pl.properties, and messages for the Italian Swiss locale
# should be located in Messages_it_CH.properties. Message properties
# files should be accessible through the classpath under
# org.mozilla.javascript.resources
#
# See:
# java.util.ResourceBundle
# java.text.MessageFormat
#
# SomeJavaClassWhereUsed
params.omit.non.js.object.warning = true
msg.non.js.object.warning =\
RHINO USAGE WARNING: Missed Context.javaToJS() conversion: Rhino runtime detected object "{0}" of class "{1}" where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.
# Codegen
msg.dup.parms =\
Duplicate parameter name "{0}".
msg.too.big.jump =\
Program too complex: too big jump offset.
msg.too.big.index =\
Program too complex: internal index exceeds 64K limit.
msg.while.compiling.fn =\
Encountered code generation error while compiling function "{0}": {1}
msg.while.compiling.script =\
Encountered code generation error while compiling script: {0}
# Context
msg.ctor.not.found =\
Constructor for "{0}" not found.
msg.not.ctor =\
"{0}" is not a constructor.
# FunctionObject
msg.varargs.ctor =\
Method or constructor "{0}" must be static with the signature \
"(Context cx, Object[] args, Function ctorObj, boolean inNewExpr)" \
to define a variable arguments constructor.
msg.varargs.fun =\
Method "{0}" must be static with the signature \
"(Context cx, Scriptable thisObj, Object[] args, Function funObj)" \
to define a variable arguments function.
msg.incompat.call =\
Method "{0}" called on incompatible object.
msg.incompat.call.details =\
Method "{0}" called on incompatible object ({1} is not an instance of {2}).
msg.bad.parms =\
Unsupported parameter type "{0}" in method "{1}".
msg.bad.method.return =\
Unsupported return type "{0}" in method "{1}".
msg.bad.ctor.return =\
Construction of objects of type "{0}" is not supported.
msg.no.overload =\
Method "{0}" occurs multiple times in class "{1}".
msg.method.not.found =\
Method "{0}" not found in "{1}".
msg.method.missing.parameter =\
{0}: At least {1} arguments required, but only {2} passed
# IRFactory
msg.bad.for.in.lhs =\
Invalid left-hand side of for..in loop.
msg.mult.index =\
Only one variable allowed in for..in loop.
msg.bad.for.in.destruct =\
Left hand side of for..in loop must be an array of length 2 to accept \
key/value pair.
msg.bad.computed.property.in.destruct =\
Unsupported computed property in destructuring.
msg.cant.convert =\
Can''t convert to type "{0}".
msg.bad.assign.left =\
Invalid assignment left-hand side.
msg.bad.decr =\
Invalid decrement operand.
msg.bad.incr =\
Invalid increment operand.
msg.bad.yield =\
yield must be in a function.
msg.yield.parenthesized =\
yield expression must be parenthesized.
msg.nullish.bad.token =\
Syntax Error: Unexpected token.
# NativeGlobal
msg.cant.call.indirect =\
Function "{0}" must be called directly, and not by way of a \
function of another name.
msg.eval.nonstring =\
Calling eval() with anything other than a primitive string value will \
simply return the value. Is this what you intended?
msg.eval.nonstring.strict =\
Calling eval() with anything other than a primitive string value is not \
allowed in strict mode.
msg.bad.destruct.op =\
Invalid destructuring assignment operator
# NativeCall
msg.only.from.new =\
"Constructor {0}" may only be invoked from a "new" expression.
msg.deprec.ctor =\
The "{0}" constructor is deprecated.
# NativeFunction
msg.no.function.ref.found =\
no source found to decompile function reference {0}
msg.arg.isnt.array =\
second argument to Function.prototype.apply must be an array
# NativeGlobal
msg.bad.esc.mask =\
invalid string escape mask
# NativeJavaClass
msg.cant.instantiate =\
error instantiating ({0}): class {1} is interface or abstract
msg.bad.ctor.sig =\
Found constructor with wrong signature: \
{0} calling {1} with signature {2}
msg.not.java.obj =\
Expected argument to getClass() to be a Java object.
msg.no.java.ctor =\
Java constructor for "{0}" with arguments "{1}" not found.
# NativeJavaMethod
msg.method.ambiguous =\
The choice of Java method {0}.{1} matching JavaScript argument types ({2}) is ambiguous; \
candidate methods are: {3}
msg.constructor.ambiguous =\
The choice of Java constructor {0} matching JavaScript argument types ({1}) is ambiguous; \
candidate constructors are: {2}
# NativeJavaObject
msg.conversion.not.allowed =\
Cannot convert {0} to {1}
msg.no.empty.interface.conversion =\
Cannot convert function to interface {0} with no methods
msg.no.function.interface.conversion =\
Cannot convert function to interface {0} since it contains methods with \
different names
msg.undefined.function.interface =\
Property "{0}" is not defined in interface adapter
msg.not.function.interface =\
Property "{0}" is not a function in interface adapter
# NativeJavaPackage
msg.not.classloader =\
Constructor for "Packages" expects argument of type java.lang.Classloader
# NativeRegExp
msg.bad.quant =\
Invalid quantifier {0}
msg.overlarge.backref =\
Overly large back reference {0}
msg.overlarge.min =\
Overly large minimum {0}
msg.overlarge.max =\
Overly large maximum {0}
msg.zero.quant =\
Zero quantifier {0}
msg.max.lt.min =\
Invalid regular expression: The quantifier maximum ''{0}'' is less than the minimum ''{1}''.
msg.unterm.quant =\
Unterminated quantifier {0}
msg.unterm.paren =\
Unterminated parenthetical {0}
msg.unterm.class =\
Unterminated character class {0}
msg.bad.range =\
Invalid range in character class.
msg.trail.backslash =\
Trailing \\ in regular expression.
msg.re.unmatched.right.paren =\
unmatched ) in regular expression.
msg.no.regexp =\
Regular expressions are not available.
msg.bad.backref =\
back-reference exceeds number of capturing parentheses.
msg.bad.regexp.compile =\
Only one argument may be specified if the first argument to \
RegExp.prototype.compile is a RegExp object.
msg.arg.not.object =\
Expected argument of type object, but instead had type {0}
msg.str.match.all.no.global.flag =\
String.prototype.matchAll called with a non-global RegExp argument
# NativeDate
msg.invalid.date =\
Date is invalid.
msg.toisostring.must.return.primitive =\
toISOString must return a primitive value, but instead returned "{0}"
msg.invalid.toprimitive.hint =\
[Symbol.toPrimitive]: expected "string", "number", or "default", but got "{0}"
# NativeJSON
msg.json.cant.serialize =\
Do not know how to serialize a {0}
# Parser
msg.got.syntax.errors = \
Compilation produced {0} syntax errors.
msg.var.redecl =\
redeclaration of var {0}.
msg.const.redecl =\
redeclaration of const {0}.
msg.let.redecl =\
redeclaration of variable {0}.
msg.parm.redecl =\
redeclaration of formal parameter {0}.
msg.fn.redecl =\
redeclaration of function {0}.
msg.let.decl.not.in.block =\
let declaration not directly within block
msg.bad.object.init =\
invalid object initializer
# NodeTransformer
msg.dup.label =\
duplicated label
msg.undef.label =\
undefined label
msg.bad.break =\
unlabelled break must be inside loop or switch
msg.continue.outside =\
continue must be inside loop
msg.continue.nonloop =\
continue can only use labeles of iteration statements
msg.bad.throw.eol =\
Line terminator is not allowed between the throw keyword and throw \
expression.
msg.no.paren.parms =\
missing ( before function parameters.
msg.no.parm =\
missing formal parameter
msg.no.paren.after.parms =\
missing ) after formal parameters
msg.parm.after.rest =\
parameter after rest parameter
msg.no.brace.body =\
missing '{' before function body
msg.no.brace.after.body =\
missing } after function body
msg.no.paren.cond =\
missing ( before condition
msg.no.paren.after.cond =\
missing ) after condition
msg.no.semi.stmt =\
missing ; before statement
msg.missing.semi =\
missing ; after statement
msg.no.name.after.dot =\
missing name after . operator
msg.no.name.after.coloncolon =\
missing name after :: operator
msg.no.name.after.dotdot =\
missing name after .. operator
msg.no.name.after.xmlAttr =\
missing name after .@
msg.no.bracket.index =\
missing ] in index expression
msg.no.paren.switch =\
missing ( before switch expression
msg.no.paren.after.switch =\
missing ) after switch expression
msg.no.brace.switch =\
missing '{' before switch body
msg.bad.switch =\
invalid switch statement
msg.no.colon.case =\
missing : after case expression
msg.double.switch.default =\
double default label in the switch statement
msg.no.while.do =\
missing while after do-loop body
msg.no.paren.for =\
missing ( after for
msg.no.semi.for =\
missing ; after for-loop initializer
msg.no.semi.for.cond =\
missing ; after for-loop condition
msg.in.after.for.name =\
missing in after for
msg.no.paren.for.ctrl =\
missing ) after for-loop control
msg.no.paren.with =\
missing ( before with-statement object
msg.no.paren.after.with =\
missing ) after with-statement object
msg.no.with.strict =\
with statements not allowed in strict mode
msg.no.paren.after.let =\
missing ( after let
msg.no.paren.let =\
missing ) after variable list
msg.no.curly.let =\
missing } after let statement
msg.bad.return =\
invalid return
msg.no.brace.block =\
missing } in compound statement
msg.bad.label =\
invalid label
msg.bad.var =\
missing variable name
msg.bad.var.init =\
invalid variable initialization
msg.no.colon.cond =\
missing : in conditional expression
msg.no.paren.arg =\
missing ) after argument list
msg.no.bracket.arg =\
missing ] after element list
msg.bad.prop =\
invalid property id
msg.no.colon.prop =\
missing : after property id
msg.no.brace.prop =\
missing } after property list
msg.no.paren =\
missing ) in parenthetical
msg.reserved.id =\
identifier is a reserved word: {0}
msg.super.shorthand.function =\
super should be inside a shorthand function
msg.optional.super =\
super is not allowed in an optional chaining expression
msg.super.delete =\
cannot delete a super property
msg.no.paren.catch =\
missing ( before catch-block condition
msg.bad.catchcond =\
invalid catch block condition
msg.catch.unreachable =\
any catch clauses following an unqualified catch are unreachable
msg.no.brace.try =\
missing '{' before try block
msg.no.brace.catchblock =\
missing '{' before catch-block body
msg.try.no.catchfinally =\
''try'' without ''catch'' or ''finally''
msg.no.return.value =\
function {0} does not always return a value
msg.anon.no.return.value =\
anonymous function does not always return a value
msg.return.inconsistent =\
return statement is inconsistent with previous usage
msg.generator.returns =\
generator function {0} returns a value
msg.anon.generator.returns =\
anonymous generator function returns a value
msg.syntax.invalid.assignment.lhs =\
syntax error: Invalid left-hand side in assignment
msg.syntax =\
syntax error
msg.unexpected.eof =\
Unexpected end of file
msg.XML.bad.form =\
illegally formed XML syntax
msg.XML.not.available =\
XML runtime not available
msg.too.deep.parser.recursion =\
Too deep recursion while parsing
msg.too.many.constructor.args =\
Too many constructor arguments
msg.too.many.function.args =\
Too many function arguments
msg.no.side.effects =\
Code has no side effects
msg.extra.trailing.semi =\
Extraneous trailing semicolon
msg.extra.trailing.comma =\
Trailing comma is not legal in an ECMA-262 object initializer
msg.trailing.array.comma =\
Trailing comma in array literal has different cross-browser behavior
msg.equal.as.assign =\
Test for equality (==) mistyped as assignment (=)?
msg.var.hides.arg =\
Variable {0} hides argument
msg.destruct.assign.no.init =\
Missing = in destructuring declaration
msg.default.args =\
Default values are only supported in version >= 200
msg.no.old.octal.strict =\
Old octal numbers prohibited in strict mode.
msg.no.old.octal.bigint =\
Old octal numbers prohibited in BigInt.
msg.dup.obj.lit.prop.strict =\
Property "{0}" already defined in this object literal.
msg.dup.param.strict =\
Parameter "{0}" already declared in this function.
msg.bad.id.strict =\
"{0}" is not a valid identifier for this use in strict mode.
msg.no.unary.expr.on.left.exp =\
"{0}" is not allowed on the left-hand side of "**".
# ScriptRuntime
# is there a better message for this?
# it's currently only used as a poison pill for caller, caller and arguments properties
msg.op.not.allowed =\
This operation is not allowed.
msg.no.properties =\
{0} has no properties.
msg.invalid.iterator =\
Invalid iterator value
msg.iterator.primitive =\
__iterator__ returned a primitive value
msg.not.iterable = \
{0} is not iterable
msg.invalid.for.each = \
invalid for each loop
msg.assn.create.strict =\
Assignment to undeclared variable {0}
msg.ref.undefined.prop =\
Reference to undefined property "{0}"
msg.prop.not.found =\
Property {0} not found.
msg.set.prop.no.setter =\
Cannot set property {0} that has only a getter to value ''{1}''.
msg.invalid.type =\
Invalid JavaScript value of type {0}
msg.primitive.expected =\
Primitive type expected (had {0} instead)
msg.namespace.expected =\
Namespace object expected to left of :: (found {0} instead)
msg.null.to.object =\
Cannot convert null to an object.
msg.undef.to.object =\
Cannot convert undefined to an object.
msg.cant.convert.to.bigint =\
Cannot convert {0} to an BigInt.
msg.cant.convert.to.bigint.isnt.integer =\
Cannot convert {0} to an BigInt. It isn\'t an integer.
msg.bigint.bad.form =\
illegally formed BigInt syntax
msg.cyclic.value =\
Cyclic {0} value not allowed.
msg.is.not.defined =\
"{0}" is not defined.
msg.undef.prop.read =\
Cannot read property "{1}" from {0}
msg.undef.prop.write =\
Cannot set property "{1}" of {0} to "{2}"
msg.undef.prop.delete =\
Cannot delete property "{1}" of {0}
msg.undef.method.call =\
Cannot call method "{1}" of {0}
msg.undef.with =\
Cannot apply "with" to {0}
msg.isnt.function =\
{0} is not a function, it is {1}.
msg.isnt.function.in =\
Cannot call property {0} in object {1}. It is not a function, it is "{2}".
msg.function.not.found =\
Cannot find function {0}.
msg.function.not.found.in =\
Cannot find function {0} in object {1}.
msg.isnt.xml.object =\
{0} is not an xml object.
msg.no.ref.to.get =\
{0} is not a reference to read reference value.
msg.no.ref.to.set =\
{0} is not a reference to set reference value to {1}.
msg.no.ref.from.function =\
Function {0} can not be used as the left-hand side of assignment \
or as an operand of ++ or -- operator.
msg.bad.default.value =\
Object''s getDefaultValue() method returned an object.
msg.instanceof.not.object = \
Can''t use ''instanceof'' on a non-object.
msg.instanceof.bad.prototype = \
''prototype'' property of {0} is not an object.
msg.in.not.object = \
Can''t use ''in'' on a non-object.
msg.bad.radix = \
illegal radix {0}.
msg.division.zero = \
Division by zero.
msg.bigint.negative.exponent = \
BigInt negative exponent.
msg.bigint.out.of.range.arithmetic = \
BigInt is too large.
msg.cant.convert.to.primitive = \
Cannot convert object to primitive value.
# ScriptableObject
msg.default.value =\
Cannot find default value for object.
msg.zero.arg.ctor =\
Cannot load class "{0}" which has no zero-parameter constructor.
duplicate.defineClass.name =\
Invalid method "{0}": name "{1}" is already in use.
msg.ctor.multiple.parms =\
Can''t define constructor or class {0} since more than one \
constructor has multiple parameters.
msg.extend.scriptable =\
{0} must extend ScriptableObject in order to define property {1}.
msg.bad.getter.parms =\
In order to define a property, getter {0} must have zero parameters \
or a single ScriptableObject parameter.
msg.obj.getter.parms =\
Expected static or delegated getter {0} to take a ScriptableObject parameter.
msg.getter.static =\
Getter and setter must both be static or neither be static.
msg.setter.return =\
Setter must have void return type: {0}
msg.setter2.parms =\
Two-parameter setter must take a ScriptableObject as its first parameter.
msg.setter1.parms =\
Expected single parameter setter for {0}
msg.setter2.expected =\
Expected static or delegated setter {0} to take two parameters.
msg.setter.parms =\
Expected either one or two parameters for setter.
msg.setter.bad.type =\
Unsupported parameter type "{0}" in setter "{1}".
msg.add.sealed =\
Cannot add a property to a sealed object: {0}.
msg.remove.sealed =\
Cannot remove a property from a sealed object: {0}.
msg.modify.sealed =\
Cannot modify a property of a sealed object: {0}.
msg.modify.readonly =\
Cannot modify readonly property: {0}.
msg.both.data.and.accessor.desc =\
Cannot be both a data and an accessor descriptor.
msg.change.configurable.false.to.true =\
Cannot change the configurable attribute of "{0}" from false to true.
msg.change.enumerable.with.configurable.false =\
Cannot change the enumerable attribute of "{0}" because configurable is false.
msg.change.writable.false.to.true.with.configurable.false =\
Cannot change the writable attribute of "{0}" from false to true because configurable is false.
msg.change.value.with.writable.false =\
Cannot change the value of attribute "{0}" because writable is false.
msg.change.getter.with.configurable.false =\
Cannot change the get attribute of "{0}" because configurable is false.
msg.change.setter.with.configurable.false =\
Cannot change the set attribute of "{0}" because configurable is false.
msg.change.property.data.to.accessor.with.configurable.false =\
Cannot change "{0}" from a data property to an accessor property because configurable is false.
msg.change.property.accessor.to.data.with.configurable.false =\
Cannot change "{0}" from an accessor property to a data property because configurable is false.
msg.not.extensible =\
Cannot add properties to this object because extensible is false.
msg.delete.property.with.configurable.false =\
Cannot delete "{0}" property because configurable is false.
# TokenStream
msg.missing.exponent =\
missing exponent
msg.caught.nfe =\
number format error
msg.unterminated.string.lit =\
unterminated string literal
msg.unterminated.comment =\
unterminated comment
msg.unterminated.re.lit =\
unterminated regular expression literal
msg.invalid.re.flag =\
invalid flag ''{0}'' after regular expression
msg.no.re.input.for =\
no input for {0}
msg.illegal.character =\
illegal character: {0}
msg.invalid.escape =\
invalid Unicode escape sequence
msg.bad.namespace =\
not a valid default namespace statement. \
Syntax is: default xml namespace = EXPRESSION;
# TokensStream warnings
msg.bad.octal.literal =\
illegal octal literal digit {0}; interpreting it as a decimal digit
msg.reserved.keyword =\
illegal usage of future reserved keyword {0}; interpreting it as ordinary identifier
# LiveConnect errors
msg.java.internal.field.type =\
Internal error: type conversion of {0} to assign to {1} on {2} failed.
msg.java.conversion.implicit_method =\
Can''t find converter method "{0}" on class {1}.
msg.java.method.assign =\
Java method "{0}" cannot be assigned to.
msg.java.internal.private =\
Internal error: attempt to access private/protected field "{0}".
msg.java.no_such_method =\
Can''t find method {0}.
msg.script.is.not.constructor =\
Script objects are not constructors.
msg.nonjava.method =\
Java method "{0}" was invoked with {1} as "this" value that can not be converted to Java type {2}.
msg.java.member.not.found =\
Java class "{0}" has no public instance field or method named "{1}".
msg.java.array.index.out.of.bounds =\
Array index {0} is out of bounds [0..{1}].
msg.java.array.member.not.found =\
Java arrays have no public instance fields or methods named "{0}".
msg.pkg.int =\
Java package names may not be numbers.
msg.access.prohibited =\
Access to Java class "{0}" is prohibited.
# ImporterTopLevel
msg.ambig.import =\
Ambiguous import: "{0}" and and "{1}".
msg.not.pkg =\
Function importPackage must be called with a package; had "{0}" instead.
msg.not.class =\
Function importClass must be called with a class; had "{0}" instead.
msg.not.class.not.pkg =\
"{0}" is neither a class nor a package.
msg.prop.defined =\
Cannot import "{0}" since a property by that name is already defined.
#JavaAdapter
msg.adapter.zero.args =\
JavaAdapter requires at least one argument.
msg.not.java.class.arg = \
Argument {0} is not Java class: {1}.
#JavaAdapter
msg.only.one.super = \
Only one class may be extended by a JavaAdapter. Had {0} and {1}.
# Arrays
msg.arraylength.bad =\
Inappropriate array length.
# Arrays
msg.arraylength.too.big =\
Array length {0} exceeds supported capacity limit.
msg.empty.array.reduce =\
Reduce of empty array with no initial value
# URI
msg.bad.uri =\
Malformed URI sequence.
# Number
msg.bad.precision =\
Precision {0} out of range.
# NativeGenerator
msg.send.newborn =\
Attempt to send value to newborn generator
msg.already.exec.gen =\
Already executing generator
msg.StopIteration.invalid =\
StopIteration may not be changed to an arbitrary object.
msg.generator.executing =\
The generator is still executing from a previous invocation.
# Interpreter
msg.yield.closing =\
Yield from closing generator
msg.called.null.or.undefined=\
{0}.prototype.{1} method called on null or undefined
msg.first.arg.not.regexp=\
First argument to {0}.prototype.{1} must not be a regular expression
msg.arrowfunction.generator =\
arrow function can not become generator
# Arguments
msg.arguments.not.access.strict =\
Cannot access "{0}" property of the arguments object in strict mode.
msg.object.cyclic.prototype =\
Cyclic prototype "{0}" value not allowed.
msg.default.args.use.strict =\
A function cannot have "use strict" directive with default arguments
# Symbol support
msg.object.not.symbolscriptable =\
Object {0} does not support Symbol keys
msg.no.assign.symbol.strict =\
Symbol objects may not be assigned properties in strict mode
msg.not.a.string =\
The object is not a string
msg.not.a.number =\
The object is not a number
msg.cant.convert.to.number =\
Cannot convert {0} to a number
msg.no.symbol.new =\
Symbol objects may not be constructed using \"new\"
msg.compare.symbol =\
Symbol objects may not be compared
msg.no.new =\
{0} objects may not be constructed using \"new\"
msg.map.function.not =\
Map function is not actually a function
msg.constructor.no.function =\
The constructor for {0} may not be invoked as a function
msg.this.not.instance =\
\"this\" is not an instance of the class
# Promises
msg.function.expected =\
Expecting the first argument to be a function
msg.constructor.expected =\
Expecting the first argument to be a constructor
msg.promise.self.resolution =\
Promise is being self-resolved
msg.promise.capability.state =\
Invalid promise capability state
msg.promise.all.toobig =\
Too many inputs to Promise.all
msg.promise.any.toobig =\
Too many inputs to Promise.any
msg.typed.array.ctor.incompatible = \
Method %TypedArray%.prototype.{0} called on incompatible receiver
msg.typed.array.bad.offset = \
offset {0} out of range
msg.typed.array.bad.length = \
length {0} out of range
msg.typed.array.bad.offset.byte.size = \
offset {0} must be a multiple of the byte size {1}
msg.typed.array.bad.buffer.length.byte.size = \
used buffer length {0} must be a multiple of the byte size {1}
msg.typed.array.bad.source.array = \
source array is too long
msg.typed.array.index.out.of.bounds =\
index {0} is out of bounds [{1}..{2}]
# Error
msg.iterable.expected =\
Expected the first argument to be iterable
# ArrayBuffer
msg.species.invalid.ctor =\
The [Symbol.species] property of object's constructor is not a constructor
msg.arraybuf.smaller.len =\
Expected ArrayBuffer with at least {0} bytes, but got {1} bytes instead
msg.arraybuf.same =\
Expected different ArrayBuffer
@@ -0,0 +1,10 @@
#
# English JavaScript messages file.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# The base messages file is used for all messages, but this file is
# here so that English is selectable as a language when the default
# Locale also has a translation.
@@ -0,0 +1,821 @@
#
# French JavaScript messages file.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Codegen
msg.dup.parms =\
Le nom de param\u00E8tre "{0}" existe d\u00E9j\u00E0.
msg.too.big.jump =\
Programme trop complexe: d\u00E9calage de saut trop important
msg.too.big.index =\
Programme trop complexe: l''indice interne d\u00E9passe la limite de 64\u00a0ko
msg.while.compiling.fn =\
Une erreur de g\u00e9n\u00e9ration de code a \u00e9t\u00e9 rencontr\u00e9e \u00e0 la compilation de la fonction "{0}": {1}
msg.while.compiling.script =\
Une erreur de g\u00e9n\u00e9ration de code a \u00e9t\u00e9 rencontr\u00e9e \u00e0 la compilation du script: {0}
# Context
msg.ctor.not.found =\
Le constructeur de "{0}" est introuvable
msg.not.ctor =\
{0} n''est pas un constructeur
# FunctionObject
msg.varargs.ctor =\
La m\u00E9thode ou le constructeur "{0}" doit \u00EAtre statique avec la signature \
"(Context cx, Object[] args, Function ctorObj, boolean inNewExpr)" \
pour d\u00E9finir un constructeur d''arguments de variable.
msg.varargs.fun =\
La m\u00E9thode "{0}" doit \u00EAtre statique avec la signature \
"(Context cx, Scriptable thisObj, Object[] args, Function funObj)" \
pour d\u00E9finir une fonction d''arguments de variable
msg.incompat.call =\
La m\u00E9thode "{0}" a \u00E9t\u00E9 appel\u00E9e dans un objet non compatible
msg.bad.parms =\
Les param\u00E8tres de la m\u00E9thode sont incorrects pour "{0}"
msg.bad.method.return =\
Le type de retour "{0}" de la m\u00e9thode "{1}" est incorrect.
msg.bad.ctor.return =\
La construction d''objets du type "{0}" n''est pas possible.
msg.no.overload =\
La m\u00E9thode "{0}" appara\u00EEt plusieurs fois dans la classe "{1}"
msg.method.not.found =\
La m\u00E9thode "{0}" est introuvable dans "{1}"
# IRFactory
msg.bad.for.in.lhs =\
La partie gauche de la boucle for..in est incorrecte
msg.mult.index =\
Une seule variable est autoris\u00E9e dans la boucle for..in
msg.bad.for.in.destruct =\
La partie gauche de la boucle for..in doit \u00eatre un tableau de longueur 2 pour accepter \
une paire clef/valeur.
msg.cant.convert =\
La conversion en type "{0}" est impossible
msg.bad.assign.left =\
La partie gauche de l''affectation est incorrecte
msg.bad.decr =\
L''op\u00e9rande d\u00e9cr\u00e9ment\u00e9e est incorrecte.
msg.bad.incr =\
L''op\u00e9rande incr\u00e9ment\u00e9e est incorrecte.
msg.bad.yield =\
''yield'' doit \u00eatre dans une fonction.
msg.yield.parenthesized =\
L''expression suivant ''yield'' doit \u00eatre entre parenth\u00e8ses.
msg.nullish.bad.token =\
Erreur de syntaxe: Jeton inattendu.
# NativeGlobal
msg.cant.call.indirect =\
La fonction "{0}" doit \u00EAtre appel\u00E9e directement et non par l''interm\u00E9diaire \
d''une fonction portant un autre nom
msg.eval.nonstring =\
Si vous appelez la fonction eval() avec une valeur qui n''est pas \u00E0 une cha\u00EEne primitive, \
c''est la valeur en question qui est renvoy\u00E9e. \u00E9tait-ce votre intention?
msg.eval.nonstring.strict =\
La fonction eval() ne peut \u00eatre appel\u00e9e avec une valeur autre qu''une cha\u00EEne primitive \
en mode strict
msg.bad.destruct.op =\
L''op\u00e9rateur de l''assignation d\u00e9structurante est incorrect
# NativeCall
msg.only.from.new =\
{0} ne peut \u00EAtre appel\u00E9e qu''\u00E0 partir d''une "nouvelle" expression.
msg.deprec.ctor =\
Le constructeur "{0}" est d\u00E9conseill\u00E9
# NativeFunction
msg.no.function.ref.found =\
aucune source n''a \u00E9t\u00E9 trouv\u00E9e pour d\u00E9compiler la r\u00E9f\u00E9rence de fonction {0}
msg.arg.isnt.array =\
le second argument de la m\u00E9thode Function.prototype.apply doit \u00EAtre un tableau
# NativeGlobal
msg.bad.esc.mask =\
le masque d''\u00E9chappement de cha\u00EEne est incorrect
# NativeJavaClass
msg.cant.instantiate =\
erreur lors de l''instanciation ({0}): la classe {1} est une classe interface ou abstract
msg.bad.ctor.sig =\
Un constructeur avec une signature incorrecte a \u00E9t\u00E9 d\u00E9tect\u00E9: \
{0} qui appelle {1} avec la signature {2}
msg.not.java.obj =\
L''argument attendu pour la fonction getClass() doit \u00EAtre un objet Java
msg.no.java.ctor =\
Le constructeur Java de "{0}" avec les arguments "{1}" est introuvable
# NativeJavaMethod
msg.method.ambiguous =\
Le choix de la m\u00E9thode Java {0}.{1} correspondant aux types d''argument JavaScript ({2}) est ambigu. \
Les m\u00E9thodes propos\u00E9es sont les suivantes: {3}
msg.constructor.ambiguous =\
Le choix du constructeur Java {0} correspondant aux types d''argument JavaScript ({1}) est ambigu. \
Les constructeurs propos\u00E9s sont les suivants: {2}
# NativeJavaObject
msg.conversion.not.allowed =\
Impossible de convertir {0} en {1}
msg.no.empty.interface.conversion =\
Impossible de convertir la fonction en interface {0} sans aucune m\u00e9thode
msg.no.function.interface.conversion =\
Impossible de convertir la fonction {0} en interface puisqu''elle contient des m\u00e9thodes avec \
des noms diff\u00e9rents
msg.undefined.function.interface =\
La propri\u00E9t\u00E9 "{0}" n''est pas d\u00E9finie dans l''adaptateur d''interface
msg.not.function.interface =\
La propri\u00E9t\u00E9 "{0}" n''est pas une fonction dans l''adaptateur d''interface
# NativeJavaPackage
msg.not.classloader =\
Le constructeur de "Packages" attend un argument de type java.lang.Classloader
# NativeRegExp
msg.bad.quant =\
Le quantificateur {0} est incorrect
msg.overlarge.backref =\
La r\u00e9f\u00e9rence ant\u00e9rieure est trop importante {0}
msg.overlarge.min =\
Le minimum {0} est trop important
msg.overlarge.max =\
Le maximum {0} est trop important
msg.zero.quant =\
Le quantificateur {0} est nul
msg.max.lt.min =\
Expression r\u00e9guli\u00e8re invalide : Le quantificateur maximum ''{0}'' est inf\u00e9rieur au minimum ''{1}''.
msg.unterm.quant =\
Le quantificateur {0} n''a pas de limite
msg.unterm.paren =\
Les parenth\u00E8ses {0} n''ont pas de limite
msg.unterm.class =\
La classe de caract\u00E8res {0} n''a pas de limite
msg.bad.range =\
La classe de caract\u00E8res contient une plage de valeurs incorrecte
msg.trail.backslash =\
\\ \u00e0 la fin d''une expression rationnelle
msg.re.unmatched.right.paren =\
Parenth\u00e8se fermante orpheline dans l''expression rationnelle
msg.no.regexp =\
Les expressions rationnelles ne sont pas disponibles
msg.bad.backref =\
la r\u00E9f\u00E9rence ant\u00E9rieure d\u00E9passe le nombre de parenth\u00E8ses de capture
msg.bad.regexp.compile =\
Un seul argument peut \u00eatre sp\u00e9cifi\u00e9 si le premier argument de \
RegExp.prototype.compile est un objet de type RegExp.
msg.arg.not.object =\
L''argument attendu est de type ''object'' au lieu de ''{0}''
# NativeDate
msg.invalid.date =\
Date incorrecte.
msg.toisostring.must.return.primitive =\
toISOString doit renvoyer une valeur primitive, mais a retourn\u00e9 \u00e0 la place "{0}"
# Parser
msg.got.syntax.errors = \
La compilation a produit {0} erreur(s) de syntaxe.
msg.var.redecl =\
Erreur de type: la variable "{0}" a \u00e9t\u00e9 de nouveau d\u00e9clar\u00e9e.
msg.const.redecl =\
Erreur de type: la constante "{0}" a \u00e9t\u00e9 de nouveau d\u00e9clar\u00e9e.
msg.let.redecl =\
Erreur de type: la variable "{0}" a \u00e9t\u00e9 de nouveau d\u00e9clar\u00e9e.
msg.parm.redecl =\
Erreur de type: le param\u00e8tre formel "{0}" a \u00e9t\u00e9 de nouveau d\u00e9clar\u00e9.
msg.fn.redecl =\
Erreur de type: la fonction "{0}" a \u00E9t\u00E9 de nouveau d\u00E9clar\u00E9e.
msg.let.decl.not.in.block =\
Erreur de syntaxe: la d\u00e9claration ''let'' n''est pas directement dans un block
msg.bad.object.init =\
Erreur de syntaxe: initialiseur d''objet incorrect
# NodeTransformer
msg.dup.label =\
Le libell\u00E9 {0} existe d\u00E9j\u00E0
msg.undef.label =\
Le libell\u00E9 {0} n''est pas d\u00E9fini
msg.bad.break =\
Le saut non libell\u00E9 doit se trouver dans une boucle ou un switch
msg.continue.outside =\
continue doit se trouver dans la boucle
msg.continue.nonloop =\
Il n''est possible de continuer que dans l''instruction d''it\u00E9ration libell\u00E9e
msg.bad.throw.eol =\
Un retour \u00e0 la ligne n''est pas autoris\u00e9 entre un mot-clef throw et son \
expression.
msg.no.paren.parms =\
il manque ''('' avant les param\u00E8tres de la fonction
msg.no.parm =\
il manque un param\u00E8tre formel
msg.no.paren.after.parms =\
il manque '')'' apr\u00E8s les param\u00E8tres formels
msg.no.brace.body =\
il manque ''{'' avant le corps d''une fonction
msg.no.brace.after.body =\
il manque ''}'' apr\u00E8s le corps d''une fonction
msg.no.paren.cond =\
il manque ''('' avant une condition
msg.no.paren.after.cond =\
il manque '')'' apr\u00E8s une condition
msg.no.semi.stmt =\
il manque '';'' avant une instruction
msg.missing.semi =\
il manque '';'' apr\u00e8s une instruction
msg.no.name.after.dot =\
il manque un nom apr\u00E8s un op\u00E9rateur ''.''
msg.no.name.after.coloncolon =\
il manque un nom apr\u00e8s un op\u00e9rateur ''::''
msg.no.name.after.dotdot =\
il manque un nom apr\u00e8s un op\u00e9rateur ''..''
msg.no.name.after.xmlAttr =\
il manque un nom apr\u00e8s ''.@''
msg.no.bracket.index =\
il manque '']'' dans l''expression de l''indice
msg.no.paren.switch =\
il manque ''('' avant l''expression du switch
msg.no.paren.after.switch =\
il manque '')'' apr\u00E8s l''expression du switch
msg.no.brace.switch =\
il manque ''{'' avant le corps du switch
msg.bad.switch =\
l''instruction switch est incorrecte
msg.no.colon.case =\
il manque '':'' apr\u00E8s l''expression d''un cas
msg.double.switch.default =\
le libell\u00e9 ''default'' appara\u00eet plusieurs fois dans le bloc switch
msg.no.while.do =\
il manque ''while'' apr\u00E8s le corps d''une boucle do-loop
msg.no.paren.for =\
il manque ''('' apr\u00E8s for
msg.no.semi.for =\
Il manque '';'' apr\u00E8s l''initialiseur for-loop
msg.no.semi.for.cond =\
il manque '';'' apr\u00E8s la condition for-loop
msg.in.after.for.name =\
il manque le mot-clef ''in'' apr\u00e8s ''for''
msg.no.paren.for.ctrl =\
il manque '')'' apr\u00E8s le contr\u00f4le for-loop
msg.no.paren.with =\
il manque ''('' avant un objet with-statement
msg.no.paren.after.with =\
il manque '')'' apr\u00E8s un objet with-statement
msg.no.with.strict =\
L''instruction with n''est pas autoris\u00e9e en mode strict
msg.no.paren.after.let =\
il manque ''('' apr\u00e8s let
msg.no.paren.let =\
il manque '')'' apr\u00e8s la liste de variables
msg.no.curly.let =\
il manque ''}'' apr\u00e8s l''instruction let
msg.bad.return =\
la valeur renvoy\u00E9e est incorrecte
msg.no.brace.block =\
il manque ''}'' dans une instruction compos\u00E9e
msg.bad.label =\
le libell\u00E9 est incorrect
msg.bad.var =\
il manque un nom de variable
msg.bad.var.init =\
l''initialisation de la variable est incorrecte
msg.no.colon.cond =\
il manque '':'' dans une expression conditionnelle
msg.no.paren.arg =\
il manque '')'' apr\u00E8s une liste d''arguments
msg.no.bracket.arg =\
il manque '']'' apr\u00E8s une liste d''\u00E9l\u00E9ments
msg.bad.prop =\
l''identifiant de propri\u00E9t\u00E9 est incorrect
msg.no.colon.prop =\
il manque '':'' apr\u00E8s un identifiant de propri\u00E9t\u00E9
msg.no.brace.prop =\
il manque ''}'' apr\u00E8s une liste de propri\u00E9t\u00E9s
msg.no.paren =\
il manque '')'' dans des parenth\u00E8ses
msg.reserved.id =\
l''identifiant est un mot r\u00E9serv\u00E9
msg.no.paren.catch =\
il manque ''('' avant une condition catch-block
msg.bad.catchcond =\
la condition catch-block est incorrecte
msg.catch.unreachable =\
aucune clause catch suivant une interception non qualifi\u00E9e ne peut \u00EAtre atteinte
msg.no.brace.try =\
il manque ''{'' avant le bloc try
msg.no.brace.catchblock =\
il manque ''{'' avant le corps catch-block
msg.try.no.catchfinally =\
''try'' a \u00E9t\u00E9 d\u00E9tect\u00E9 sans ''catch'' ni ''finally''
msg.no.return.value =\
la fonction {0} ne renvoie pas toujours de valeur
msg.anon.no.return.value =\
la fonction anonyme ne renvoie pas toujours de valeur
msg.return.inconsistent =\
l''instruction return est incoh\u00e9rente avec les usages pr\u00e9c\u00e9dents
msg.generator.returns =\
Erreur de type: la fonction g\u00e9n\u00e9ratrice {0} renvoie une valeur
msg.anon.generator.returns =\
Erreur de type: la fonction g\u00e9n\u00e9ratrice anonyme renvoie une valeur
msg.syntax =\
erreur de syntaxe
msg.unexpected.eof =\
Fin de fichier inattendue
msg.XML.bad.form =\
la syntaxe XML est mal form\u00e9e
msg.XML.not.available =\
L''interpr\u00e9tation du XML n''est pas disponible
msg.too.deep.parser.recursion =\
R\u00e9cursion trop profonde pendant l''analyse
msg.too.many.constructor.args =\
Le constructeur a trop d''arguments
msg.too.many.function.args =\
La fonction a trop d''arguments
msg.no.side.effects =\
Le code n''a pas de valeur de retour
msg.extra.trailing.semi =\
Point virgule superflux \u00e0 la fin
msg.extra.trailing.comma =\
Une virgule \u00e0 la fin d''un initialiseur d''objet n''est pas autoris\u00e9 par le standard ECMA-262
msg.trailing.array.comma =\
Une virgule \u00e0 la fin d''un tableau lit\u00e9ral a un comportement diff\u00e9rent suivant le navigateur utilis\u00e9
msg.equal.as.assign =\
Le test d''\u00e9galit\u00e9 (==) a t''il \u00e9t\u00e9 saisi par erreur comme une assignation (=) ?
msg.var.hides.arg =\
La variable {0} masque un argument
msg.destruct.assign.no.init =\
Il manque ''='' dans l''assignation d\u00e9structurante
msg.no.octal.strict =\
Les nombres octaux ne sont pas autoris\u00e9s en mode strict.
msg.dup.obj.lit.prop.strict =\
La propri\u00e9t\u00e9 "{0}" est d\u00e9j\u00e0 d\u00e9finie dans cet objet lit\u00e9ral.
msg.dup.param.strict =\
Le param\u00e8tre "{0}" est d\u00e9j\u00e0 d\u00e9clar\u00e9 dans cette fonction.
msg.bad.id.strict =\
"{0}" n''est pas un identifiant valide pour cet usage en mode strict.
# ScriptRuntime
# is there a better message for this?
# it's currently only used as a poison pill for caller, caller and arguments properties
msg.op.not.allowed =\
Cette op\u00e9ration n''est pas autoris\u00e9e.
msg.no.properties =\
{0} n''a pas de propri\u00e9t\u00e9s.
msg.invalid.iterator =\
La valeur n''est pas un it\u00e9rateur valide
msg.iterator.primitive =\
__iterator__ a renvoy\u00e9 une valeur primitive
msg.assn.create.strict =\
Assignation d''une variable non d\u00e9clar\u00e9e: {0}
msg.ref.undefined.prop =\
R\u00e9f\u00e9rence \u00e0 une propri\u00e9t\u00e9 non d\u00e9finie "{0}"
msg.prop.not.found =\
La propri\u00E9t\u00E9 est introuvable
msg.set.prop.no.setter =\
Impossible de changer la propri\u00e9t\u00e9 ''{0}'' en l''absence de m\u00e9thode de d\u00e9finition.
msg.invalid.type =\
Valeur JavaScript de type {0} incorrecte
msg.primitive.expected =\
Un type primitif \u00E9tait attendu (et non {0})
msg.namespace.expected =\
Un espace de nom est attendu \u00e0 gauche de :: ({0} trouv\u00e9 \u00e0 la place)
msg.null.to.object =\
Il est impossible de convertir la valeur null en objet
msg.undef.to.object =\
Il est impossible de convertir une valeur non d\u00E9finie en objet
msg.cyclic.value =\
La valeur cyclique {0} n''est pas autoris\u00E9e
msg.is.not.defined =\
"{0}" n''est pas d\u00E9fini
msg.undef.prop.read =\
Impossible de lire la propri\u00e9t\u00e9 "{1}" de {0}
msg.undef.prop.write =\
Impossible de changer la propri\u00e9t\u00e9 "{1}" de {0} en "{2}"
msg.undef.prop.delete =\
Impossible de supprimer la propri\u00e9t\u00e9 "{1}" de {0}
msg.undef.method.call =\
Impossible d''appeler la m\u00e9thode "{1}" de {0}
msg.undef.with =\
Impossible d''appliquer "with" \u00e0 {0}
msg.isnt.function =\
{0} n''est pas une fonction, c''est un {1}
msg.isnt.function.in =\
Impossible d''appeler la propri\u00e9t\u00e9 {0} de l''objet {1}. Ce n''est pas une fonction, c''est un "{2}".
msg.function.not.found =\
Impossible de trouver la fonction {0}.
msg.function.not.found.in =\
Impossible de trouver la fonction {0} dans l''objet {1}.
msg.isnt.xml.object =\
{0} n''est pas un objet xml.
msg.no.ref.to.get =\
{0} n''est pas une r\u00e9f\u00e9rence vers une m\u00e9thode d''obtention.
msg.no.ref.to.set =\
{0} n''est pas une r\u00e9f\u00e9rence vers une m\u00e9thode de d\u00e9finition.
msg.no.ref.from.function =\
La fonction {0} ne peut pas \u00eatre utilis\u00e9e comme la partie gauche de l''assignation \
ou comme l''op\u00e9rande de l''op\u00e9rateur ++ ou --.
msg.bad.default.value =\
La m\u00E9thode getDefaultValue() de l''objet a renvoy\u00E9 un objet
msg.instanceof.not.object =\
Il est impossible d''utiliser une instance d''un \u00E9l\u00E9ment autre qu''un objet
msg.instanceof.bad.prototype =\
La propri\u00E9t\u00E9 ''prototype'' de {0} n''est pas un objet
msg.in.not.object = \
Il est impossible d''utiliser une instance d''un \u00E9l\u00E9ment autre qu''un objet
msg.bad.radix =\
la base {0} n''est pas autoris\u00E9e
# ScriptableObject
msg.default.value =\
La valeur par d\u00E9faut de l''objet est introuvable
msg.zero.arg.ctor =\
Il est impossible de charger la classe "{0}", qui ne poss\u00E8de pas de constructeur de param\u00E8tre z\u00E9ro
duplicate.defineClass.name =\
M\u00e9thode "{0}" incorrecte: le nom "{1}" est d\u00e9j\u00e0 utilis\u00e9.
msg.ctor.multiple.parms =\
Il est impossible de d\u00E9finir le constructeur ou la classe {0} car plus d''un \
constructeur poss\u00E8de plusieurs param\u00E8tres
msg.extend.scriptable =\
{0} doit \u00E9tendre ScriptableObject afin de d\u00E9finir la propri\u00E9t\u00E9 {1}
msg.bad.getter.parms =\
Pour d\u00E9finir une propri\u00E9t\u00E9, la m\u00E9thode d''obtention {0} doit avoir des param\u00E8tres z\u00E9ro \
ou un seul param\u00E8tre ScriptableObject
msg.obj.getter.parms =\
La m\u00E9thode d''obtention statique ou d\u00E9l\u00E9gu\u00E9e {0} doit utiliser un param\u00E8tre ScriptableObject
msg.getter.static =\
La m\u00E9thode d''obtention et la m\u00E9thode de d\u00E9finition doivent toutes deux avoir le m\u00EAme \u00E9tat (statique ou non)
msg.setter.return =\
La m\u00e9thode de d\u00e9finition doit avoir un type de retour vide: {0}
msg.setter2.parms =\
La m\u00E9thode de d\u00E9finition \u00E0 deux param\u00E8tres doit utiliser un param\u00E8tre ScriptableObject comme premier param\u00E8tre
msg.setter1.parms =\
Une m\u00E9thode d''obtention \u00E0 param\u00E8tre unique est attendue pour {0}
msg.setter2.expected =\
La m\u00E9thode de d\u00E9finition statique ou d\u00E9l\u00E9gu\u00E9e {0} doit utiliser deux param\u00E8tres
msg.setter.parms =\
Un ou deux param\u00E8tres sont attendus pour la m\u00E9thode de d\u00E9finition
msg.setter.bad.type =\
Le type de param\u00e8tre "{0}" est incorrect dans la m\u00e9thode de d\u00e9finition "{1}".
msg.add.sealed =\
Il est impossible d''ajouter une propri\u00E9t\u00E9 \u00E0 un objet scell\u00E9: {0}.
msg.remove.sealed =\
Il est impossible de supprimer une propri\u00E9t\u00E9 d''un objet scell\u00E9: {0}.
msg.modify.sealed =\
Il est impossible de modifier une propri\u00e9t\u00e9 d''un objet scell\u00E9: {0}.
msg.modify.readonly =\
Il est impossible de modifier une propri\u00e9t\u00e9 en lecture seule: {0}.
msg.both.data.and.accessor.desc =\
Le descripteur ne peut pas d\u00e9finir \u00e0 la fois un accesseur et une donn\u00e9e.
msg.change.configurable.false.to.true =\
Impossible de changer de false \u00e0 true l''attribut ''configurable'' de "{0}".
msg.change.enumerable.with.configurable.false =\
Impossible de changer l''attribut ''enumerable'' de "{0}" car ''configurable'' est ''false''.
msg.change.writable.false.to.true.with.configurable.false =\
Impossible de changer de false \u00e0 true l''attribut ''writable'' de "{0}" car ''configurable'' est ''false''.
msg.change.value.with.writable.false =\
Impossible de changer la valeur de l''attribut "{0}" car ''writable'' est ''false''.
msg.change.getter.with.configurable.false =\
Impossible de changer l''attribut get de "{0}" car ''configurable'' est ''false''.
msg.change.setter.with.configurable.false =\
Impossible de changer l''attribut set de "{0}" car ''configurable'' est ''false''.
msg.change.property.data.to.accessor.with.configurable.false =\
Impossible de changer la propri\u00e9t\u00e9 par donn\u00e9e "{0}" en propri\u00e9t\u00e9 par accesseur car ''configurable'' est ''false''
msg.change.property.accessor.to.data.with.configurable.false =\
Impossible de changer la propri\u00e9t\u00e9 par accesseur "{0}" en propri\u00e9t\u00e9 par donn\u00e9e car ''configurable'' est ''false''
msg.not.extensible =\
Impossible d''ajouter des propri\u00e9t\u00e9s \u00e0 cet objet car ''extensible'' est ''false''.
# TokenStream
msg.missing.exponent =\
il manque un exposant
msg.caught.nfe =\
erreur de format de nombre: {0}
msg.unterminated.string.lit =\
le litt\u00E9ral de la cha\u00EEne n''a pas de limite
msg.unterminated.comment =\
le commentaire n''a pas de limite
msg.unterminated.re.lit =\
le litt\u00E9ral de l''expression rationnelle n''a pas de limite
msg.invalid.re.flag =\
une expression rationnelle est suivie d''un indicateur incorrect ''{0}''
msg.no.re.input.for =\
il n''y a pas d''entr\u00E9e pour {0}
msg.illegal.character =\
caract\u00E8re non autoris\u00E9
msg.invalid.escape =\
la s\u00E9quence d''\u00E9chappement Unicode est incorrecte
msg.bad.namespace =\
L''instruction ''default xml namespace'' est incorrecte. \
La syntaxe est: default xml namespace = EXPRESSION;
# TokensStream warnings
msg.bad.octal.literal =\
le chiffre octal du litt\u00E9ral, {0}, n''est pas autoris\u00E9 et sera interpr\u00E9t\u00E9 comme un chiffre d\u00E9cimal
msg.reserved.keyword =\
l''utilisation du futur mot-cl\u00E9 r\u00E9serv\u00E9 {0} n''est pas autoris\u00E9e et celui-ci sera interpr\u00E9t\u00E9 comme un identifiant ordinaire
# LiveConnect errors
msg.java.internal.field.type =\
Erreur interne: la conversion de type de {0} afin d''affecter {1} \u00E0 {2} a \u00E9chou\u00E9
msg.java.conversion.implicit_method =\
La m\u00E9thode de conversion "{0}" est introuvable dans la classe {1}
msg.java.method.assign =\
La m\u00E9thode Java "{0}" ne peut pas \u00EAtre affect\u00E9e \u00E0
msg.java.internal.private =\
Erreur interne: une tentative d''acc\u00E9der \u00E0 un champ "{0}" priv\u00E9/prot\u00E9g\u00E9 a \u00E9t\u00E9 d\u00E9tect\u00E9e
msg.java.no_such_method =\
La m\u00E9thode ''{0}'' est introuvable
msg.script.is.not.constructor =\
Les objets Script ne sont pas des constructeurs
msg.nonjava.method =\
La m\u00E9thode Java "{0}" a \u00E9t\u00E9 appel\u00E9e avec une valeur ''this'' qui n''est pas un objet Java
msg.java.member.not.found =\
La classe Java "{0}" ne poss\u00E8de aucun champ ou aucune m\u00E9thode d''instance publique appel\u00E9 "{1}"
msg.java.array.index.out.of.bounds =\
L''indice {0} du tableau est en dehors de l''intervalle [0..{1}].
msg.java.array.member.not.found =\
Les tableaux Java n''ont pas de champs ou de m\u00e9thodes publiques "{0}".
msg.pkg.int =\
Les noms de package Java ne peuvent pas \u00EAtre des nombres
msg.access.prohibited =\
L''acc\u00e8s \u00e0 la classe Java "{0}" est prohib\u00e9.
# ImporterTopLevel
msg.ambig.import =\
Importation ambigu\u00EB: "{0}" et "{1}"
msg.not.pkg =\
La fonction importPackage doit \u00EAtre appel\u00E9e avec un package et non avec "{0}"
msg.not.class =\
La fonction importClass doit \u00EAtre appel\u00E9e avec une classe et non avec "{0}"
msg.not.class.not.pkg =\
"{0}" n''est ni une classe ni un package.
msg.prop.defined =\
Il est impossible d''importer "{0}" car une propri\u00E9t\u00E9 portant le m\u00EAme nom a d\u00E9j\u00E0 \u00E9t\u00E9 d\u00E9finie
#JavaAdapter
msg.adapter.zero.args =\
JavaAdapter n\u00e9cessite au moins un argument.
msg.not.java.class.arg = \
L''argument {0} n''est pas une classe Java: {1}.
#JavaAdapter
msg.only.one.super = \
Un JavaAdapter ne peut \u00e9tendre qu''une seule classe. Les classes {0} et {1} ont \u00e9t\u00e9 donn\u00e9es.
# Arrays
msg.arraylength.bad =\
La longueur du tableau n''est pas appropri\u00E9e
# Arrays
msg.arraylength.too.big =\
La longueur du tableau {0} d\u00e9passe la capacit\u00e9 limite.
msg.empty.array.reduce =\
La m\u00e9thode ''reduce'' ne fonctionne pas sans valeur initiale sur un tableau vide
# URI
msg.bad.uri =\
La s\u00E9quence URI n''est pas form\u00E9e correctement
# Number
msg.bad.precision =\
La pr\u00E9cision {0} ne se trouve pas dans la plage de valeurs
# NativeGenerator
msg.send.newborn =\
La m\u00e9thode send() d''un g\u00e9n\u00e9rateur ne peut \u00eatre appel\u00e9e avant un premier appel \u00e0 next()
msg.already.exec.gen =\
Le g\u00e9n\u00e9rateur est d\u00e9j\u00e0 en cours d''ex\u00e9cution
msg.StopIteration.invalid =\
L''exception StopIteration ne peut pas \u00eatre chang\u00e9e en un objet arbitraire.
# Interpreter
msg.yield.closing =\
yield impossible quand le g\u00e9n\u00e9rateur est en train de se fermer
@@ -0,0 +1,879 @@
#
# Default JavaScript messages file.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# This is replaced during jar assembly from property string
# and should not be translated
implementation.version = @IMPLEMENTATION.VERSION@
#
# To add JavaScript error messages for a particular locale, create a
# new Messages_[locale].properties file, where [locale] is the Java
# string abbreviation for that locale. For example, JavaScript
# messages for the Polish locale should be located in
# Messages_pl.properties, and messages for the Italian Swiss locale
# should be located in Messages_it_CH.properties. Message properties
# files should be accessible through the classpath under
# org.mozilla.javascript.resources
#
# See:
# java.util.ResourceBundle
# java.text.MessageFormat
#
# SomeJavaClassWhereUsed
params.omit.non.js.object.warning = true
msg.non.js.object.warning =\
Rhino用法警告:缺少 Context.javaToJS() 转换:Rhino 运行时检测到类 “{1}” 的对象 “{0}”,它需要字符串、数字、布尔值或可编写脚本的实例。请检查您的代码是否缺少 Context.javaToJS() 调用。
# Codegen
msg.dup.parms =\
参数名称 “{0}” 已存在。
msg.too.big.jump =\
程序太复杂:跳转偏移量太大。
msg.too.big.index =\
程序太复杂:内部索引超过 64KB 限制。
msg.while.compiling.fn =\
编译函数 “{0}” 时遇到代码生成错误:{1}
msg.while.compiling.script =\
编译脚本时遇到代码生成错误:{0}
# Context
msg.ctor.not.found =\
未找到 “{0}” 的构造函数。
msg.not.ctor =\
“{0}” 不是构造函数。
# FunctionObject
msg.varargs.ctor =\
方法或构造函数 “{0}” 必须是带有签名的静态 \
“(Context cx, Object[] args, Function ctorObj, boolean inNewExpr)” \
以定义可变参数的构造函数。
msg.varargs.fun =\
方法 “{0}” 必须是带有签名的静态 \
“(Context cx, Scriptable thisObj, Object[] args, Function funObj)” \
以定义可变参数的函数。
msg.incompat.call =\
在不兼容的对象中调用了方法 “{0}”。
msg.incompat.call.details =\
对不兼容对象调用的方法 “{0}”({1} 不是 {2} 的实例)。
msg.bad.parms =\
方法 “{1}” 中不支持参数类型 “{0}”。
msg.bad.method.return =\
方法 “{1}” 中不支持返回类型 “{0}”。
msg.bad.ctor.return =\
无法构造 “{0}” 类型的对象。
msg.no.overload =\
方法 “{0}” 在类 “{1}” 中出现多次。
msg.method.not.found =\
在 “{1}” 中找不到方法 “{0}” 。
msg.method.missing.parameter =\
{0}:至少需要 {1} 个参数,但仅通过了 {2} 个
# IRFactory
msg.bad.for.in.lhs =\
for..in 循环的左边部分不正确。
msg.mult.index =\
for..in 循环中只允许有一个变量
msg.bad.for.in.destruct =\
for..in 循环的左侧必须是一个长度为 2 的数组才能接受一个键值对。
msg.cant.convert =\
无法转换为类型 “{0}”。
msg.bad.assign.left =\
左侧分配无效。
msg.bad.decr =\
递减的操作数无效。
msg.bad.incr =\
递增的操作数无效。
msg.bad.yield =\
yield 必须在函数内部。
msg.yield.parenthesized =\
yield 后面的表达式必须放在括号中。
# NativeGlobal
msg.cant.call.indirect =\
必须直接调用函数 “{0}”,而不是通过具有其他名称的函数。
msg.eval.nonstring =\
如果您使用不是原始字符串的值调用 eval() 函数,\
则返回有问题的值。那是你的意图吗?
msg.eval.nonstring.strict =\
在严格模式下,不能使用原始字符串以外的值调用 eval() 函数。
msg.bad.destruct.op =\
无效的解构赋值运算符
# NativeCall
msg.only.from.new =\
“构造函数 {0}”只能从 “new” 表达式调用。
msg.deprec.ctor =\
“{0}” 构造函数已弃用。
# NativeFunction
msg.no.function.ref.found =\
未找到反编译函数引用 {0} 的源
msg.arg.isnt.array =\
Function.prototype.apply 方法的第二个参数必须是一个数组
# NativeGlobal
msg.bad.esc.mask =\
字符串转义掩码不正确
# NativeJavaClass
msg.cant.instantiate =\
实例化错误 ({0}):类 {1} 是接口或抽象类
msg.bad.ctor.sig =\
检测到具有不正确签名的构造函数:\
{0} 调用带有签名 {2} 的 {1}
msg.not.java.obj =\
getClass() 函数的预期参数必须是 Java 对象。
msg.no.java.ctor =\
未找到带有参数 “{1}” 的 “{0}” 的 Java 构造函数。
# NativeJavaMethod
msg.method.ambiguous =\
对应于 JavaScript 参数类型 ({2}) 的 Java 方法 {0}.{1} 的选择不明确。 \
建议的方法是:{3}
msg.constructor.ambiguous =\
对应于 JavaScript 参数类型 ({1}) 的 Java 构造函数 {0} 的选择不明确。 \
建议的构造函数是:{2}
# NativeJavaObject
msg.conversion.not.allowed =\
无法将 {0} 转换为 {1}
msg.no.empty.interface.conversion =\
无法在没有任何方法的情况下将函数转换为接口 {0}
msg.no.function.interface.conversion =\
无法将函数 {0} 转换为接口,因为它包含具有不同名称的方法
msg.undefined.function.interface =\
接口适配器中未设置属性“{0}”
msg.not.function.interface =\
属性 “{0}” 不是接口适配器中的函数
# NativeJavaPackage
msg.not.classloader =\
“Packages” 的构造函数需要 java.lang.Classloader 类型的参数
# NativeRegExp
msg.bad.quant =\
量词 {0} 不正确
msg.overlarge.backref =\
过大的反向引用 {0}
msg.overlarge.min =\
最小值 {0} 太大
msg.overlarge.max =\
最大值 {0} 太大
msg.zero.quant =\
量词 {0} 为空
msg.max.lt.min =\
最大值 {0} 小于最小值
msg.unterm.quant =\
量词 {0} 没有限制
msg.unterm.paren =\
{0} 括号没有限制
msg.unterm.class =\
字符类 {0} 没有限制
msg.bad.range =\
字符类包含不正确的值范围。
msg.trail.backslash =\
“\\” 在正则表达式的末尾。
msg.re.unmatched.right.paren =\
只有一个 “)” 在正则表达式中。
msg.no.regexp =\
正则表达式不可用。
msg.bad.backref =\
反向引用超过了捕获括号的数量。
msg.bad.regexp.compile =\
如果 RegExp.prototype.compile 的第一个参数是 RegExp 类型的对象,则只能指定一个参数。
msg.arg.not.object =\
预期参数的类型是 “object” 而不是 “{0}”
# NativeDate
msg.invalid.date =\
日期不正确。
msg.toisostring.must.return.primitive =\
toISOString 应该返回一个原始值,而不是返回 “{0}”
# NativeJSON
msg.json.cant.serialize =\
不知道如何序列化 {0}
# Parser
msg.got.syntax.errors = \
编译产生 {0} 个语法错误。
msg.var.redecl =\
类型错误:变量 {0} 被重新声明。
msg.const.redecl =\
类型错误:重新声明了常量 {0}。
msg.let.redecl =\
类型错误:变量 {0} 被重新声明。
msg.parm.redecl =\
类型错误:重新声明了形式参数 {0} 。
msg.fn.redecl =\
类型错误:重新声明了函数 {0}。
msg.let.decl.not.in.block =\
语法错误:let 语句不能直接在块中
msg.bad.object.init =\
语法错误:无效的对象初始化程序
# NodeTransformer
msg.dup.label =\
标签 {0} 已存在
msg.undef.label =\
标签 {0} 未定义
msg.bad.break =\
未标记的 break 必须在 loop 或 switch 内
msg.continue.outside =\
只能在循环语句中使用 continue
msg.continue.nonloop =\
只能在迭代语句中使用 continue
msg.bad.throw.eol =\
在关键字 throw 与 throw 表达式之间不允许使用换行符表示。
msg.no.paren.parms =\
在函数参数前面缺少 “(”。
msg.no.parm =\
缺少形式参数
msg.no.paren.after.parms =\
在形式参数后面缺少 “)”
msg.no.brace.body =\
在函数体前面缺少 “{”
msg.no.brace.after.body =\
在函数体后面缺少 “}”
msg.no.paren.cond =\
在条件前面缺少 “(”
msg.no.paren.after.cond =\
在字符 “)” 后面缺少条件
msg.no.semi.stmt =\
在语句前面缺少 “;”
msg.missing.semi =\
在语句后面缺少 “;”
msg.no.name.after.dot =\
在运算符 “.” 后面缺少名称
msg.no.name.after.coloncolon =\
在运算符 “::” 后面缺少名称
msg.no.name.after.dotdot =\
在运算符 “..” 后面缺少名称
msg.no.name.after.xmlAttr =\
在 “.@” 后面缺少名称
msg.no.bracket.index =\
在索引表达式中缺少 “]”
msg.no.paren.switch =\
在 switch 表达式的前面缺少 “(”
msg.no.paren.after.switch =\
在 switch 表达式的后面缺少 “)”
msg.no.brace.switch =\
在 switch 正文的前面缺少 “{”
msg.bad.switch =\
switch 语句不正确
msg.no.colon.case =\
在 case 表达式的后面缺少 “:”
msg.double.switch.default =\
default 标签在 switch 语句中重复出现
msg.no.while.do =\
在 do-loop 的后面缺少 while
msg.no.paren.for =\
在 for 之后缺少 “(”
msg.no.semi.for =\
在 for-loop 初始化程序的后面缺少 “;”
msg.no.semi.for.cond =\
在 for-loop 条件的后面缺少 “;”
msg.in.after.for.name =\
在 for 的后面缺少 “in”
msg.no.paren.for.ctrl =\
在 for-loop 控件的后面缺少 “)”
msg.no.paren.with =\
在 With-Statement 对象的前面缺少 “(”
msg.no.paren.after.with =\
在 With-Statement 对象的后面面缺少 “(”
msg.no.with.strict =\
严格模式下不允许使用 with 语句
msg.no.paren.after.let =\
在 let 的后面缺少 “(”
msg.no.paren.let =\
在变量列表后面缺少 “)”
msg.no.curly.let =\
在 let 语句的后面缺少 “}”
msg.bad.return =\
返回的值无效
msg.no.brace.block =\
复合语句中缺少 “}”
msg.bad.label =\
无效标签
msg.bad.var =\
缺少变量名
msg.bad.var.init =\
变量初始化不正确
msg.no.colon.cond =\
在条件表达式中缺少 “:”
msg.no.paren.arg =\
在参数列表的后面缺少 “)”
msg.no.bracket.arg =\
在元素列表的后面缺少 “]”
msg.bad.prop =\
属性 ID 不正确
msg.no.colon.prop =\
在属性 ID 的后面缺少 “:”
msg.no.brace.prop =\
在属性列表的后面缺少 “}”
msg.no.paren =\
在括号中缺少 “)”
msg.reserved.id =\
标识符是保留字: {0}
msg.no.paren.catch =\
在 catch-block 条件的前面缺少 “(”
msg.bad.catchcond =\
无效的 catch-block 条件
msg.catch.unreachable =\
不合格的 catch 后面的任何 catch 子句都是到达不了的
msg.no.brace.try =\
在 try 的前面缺少 “{”
msg.no.brace.catchblock =\
在 catch-block 主体的前面缺少 “{”
msg.try.no.catchfinally =\
try 被检测到没有 catch 或 finally
msg.no.return.value =\
函数 {0} 并不总是返回值
msg.anon.no.return.value =\
匿名函数并不总是返回值
msg.return.inconsistent =\
return 语句与之前的用法不一致
msg.generator.returns =\
类型错误:生成器函数 {0} 返回一个值
msg.anon.generator.returns =\
类型错误:匿名生成器函数返回一个值
msg.syntax =\
语法错误
msg.unexpected.eof =\
文件意外结束
msg.XML.bad.form =\
XML 语法格式错误
msg.XML.not.available =\
XML 解析不可用
msg.too.deep.parser.recursion =\
解析期间递归太深
msg.too.many.constructor.args =\
构造函数的参数太多
msg.too.many.function.args =\
函数的参数太多
msg.no.side.effects =\
代码没有返回值
msg.extra.trailing.semi =\
末尾有多余的分号
msg.extra.trailing.comma =\
按照 ECMA-262 的标准不允许对象初始值设定项末尾的逗号
msg.trailing.array.comma =\
数组文字末尾的逗号根据所使用的浏览器表现不同
msg.equal.as.assign =\
判断相等性 “==” 错误地输入成为赋值 “=” ?
msg.var.hides.arg =\
变量 {0} 隐藏了一个参数
msg.destruct.assign.no.init =\
解构赋值中缺少 “=”
msg.destruct.default.vals =\
解构声明中的默认值不支持
msg.no.old.octal.strict =\
严格模式下不允许使用旧的八进制数。
msg.no.old.octal.bigint =\
BigInt 中不允许使用旧的八进制数。
msg.dup.obj.lit.prop.strict =\
此对象文字中已定义属性 “{0}”。
msg.dup.param.strict =\
此函数中已声明参数 “{0}”。
msg.bad.id.strict =\
“{0}” 不是严格模式下此用途的有效标识符。
msg.no.unary.expr.on.left.exp =\
“{0}” 不允许出现在 “**” 的左侧。
# 脚本运行时(ScriptRuntime)
# is there a better message for this?
# it's currently only used as a poison pill for caller, caller and arguments properties
msg.op.not.allowed =\
不允许此操作。
msg.no.properties =\
{0} 没有属性。
msg.invalid.iterator =\
值不是有效的迭代器
msg.iterator.primitive =\
__iterator__ 返回一个原始值
msg.not.iterable = \
{0} 不可迭代
msg.invalid.for.each = \
对每个循环无效
msg.assn.create.strict =\
未声明变量的赋值 {0}
msg.ref.undefined.prop =\
对未定义属性 “{0}” 的引用
msg.prop.not.found =\
未找到属性 {0}。
msg.set.prop.no.setter =\
无法将只有 getter 的属性 {0} 的值设置为 “{1}”。
msg.invalid.type =\
{0} 类型的 JavaScript 值无效
msg.primitive.expected =\
需要使用原始类型,而不是使用 {0}
msg.namespace.expected =\
命名空间对象应该位于 “::” 左侧(找到 {0} 代替)
msg.null.to.object =\
无法将 null 转换为对象。
msg.undef.to.object =\
无法将未定义的值转换为对象。
msg.cant.convert.to.bigint =\
无法将 {0} 转换为 BigInt。
msg.cant.convert.to.bigint.isnt.integer =\
无法将 {0} 转换为 BigInt,它不是整数。
msg.bigint.bad.form =\
不允许形成的 BigInt 语法
msg.cyclic.value =\
不允许使用循环 “{0}” 值。
msg.is.not.defined =\
“{0}” 未定义。
msg.undef.prop.read =\
无法读取 {0} 的属性 “{1}”
msg.undef.prop.write =\
无法将 {0} 的属性 “{1}” 设置为 “{2}”
msg.undef.prop.delete =\
无法删除 {0} 的属性 “{1}”
msg.undef.method.call =\
无法调用 {0} 的方法 “{1}”
msg.undef.with =\
无法将 “with” 应用于 {0}
msg.isnt.function =\
{0} 不是函数,它是 {1}。
msg.isnt.function.in =\
无法调用对象 {1} 中的属性 {0}。它不是一个函数,而是 “{2}”。
msg.function.not.found =\
找不到函数 {0}。
msg.function.not.found.in =\
在对象 {1} 中找不到函数 {0} 。
msg.isnt.xml.object =\
{0} 不是 XML 对象。
msg.no.ref.to.get =\
{0} 不是对读取参考值的引用。
msg.no.ref.to.set =\
{0} 不是将引用值设置为 {1} 的引用。
msg.no.ref.from.function =\
函数 {0} 不能用作赋值的左侧部分,也不能用作 “++” 或 “--” 运算符的操作数。
msg.bad.default.value =\
Object 的 getDefaultValue() 方法返回了一个对象。
msg.instanceof.not.object = \
不能在非对象上使用 “instanceof”。
msg.instanceof.bad.prototype = \
{0} 的 “prototype” 属性不是对象。
msg.in.not.object = \
不能在非对象上使用 “in”。
msg.bad.radix = \
不允许的基数 {0}。
msg.division.zero = \
除以零。
msg.bigint.negative.exponent = \
BigInt 负指数。
msg.bigint.out.of.range.arithmetic = \
BigInt 的数过大。
# ScriptableObject
msg.default.value =\
未找到对象默认值。
msg.zero.arg.ctor =\
无法加载没有零参数构造函数的类 “{0}”。
duplicate.defineClass.name =\
方法 “{0}” 无效:名称 “{1}” 已在使用中。
msg.ctor.multiple.parms =\
无法定义构造函数或类 {0},因为多个构造函数具有多个参数。
msg.extend.scriptable =\
{0} 必须扩展 ScriptableObject 才能定义属性 {1}。
msg.bad.getter.parms =\
为了定义一个属性,getter {0} 必须有零个参数或一个 ScriptableObject 参数。
msg.obj.getter.parms =\
静态或委托 getter 方法 {0} 必须使用 ScriptableObject 参数。
msg.getter.static =\
getter 方法和 setter 方法必须具有相同的状态(静态或非静态)。
msg.setter.return =\
setter 方法的返回类型必须为空:{0}
msg.setter2.parms =\
双参数 setter 方法必须使用 ScriptableObject 参数作为第一个参数。
msg.setter1.parms =\
{0} 需要一个参数 getter 方法
msg.setter2.expected =\
静态或委托设置方法 {0} 必须采用两个参数。
msg.setter.parms =\
setter 方法需要一个或两个参数。
msg.setter.bad.type =\
setter 方法 “{1}” 中的参数类型 “{0}” 不正确。
msg.add.sealed =\
无法将属性添加到密封对象: {0}。
msg.remove.sealed =\
无法从密封对象中删除属性: {0}。
msg.modify.sealed =\
无法修改密封对象的属性: {0}。
msg.modify.readonly =\
无法修改只读属性: {0}。
msg.both.data.and.accessor.desc =\
描述符不能同时定义访问器和数据。
msg.change.configurable.false.to.true =\
无法将 “{0}” 的可配置属性从 false 更改为 true。
msg.change.enumerable.with.configurable.false =\
无法更改 “{0}” 的可枚举属性,因为 configurable 为 false。
msg.change.writable.false.to.true.with.configurable.false =\
无法将 “{0}” 的可写属性从 false 更改为 true,因为 configurable 为 false。
msg.change.value.with.writable.false =\
无法更改属性 “{0}” 的值,因为 writable 为 false。
msg.change.getter.with.configurable.false =\
无法更改 “{0}” 的获取属性,因为 configurable 为 false。
msg.change.setter.with.configurable.false =\
无法更改 “{0}” 的设置属性,因为 configurable 为 false。
msg.change.property.data.to.accessor.with.configurable.false =\
无法将数据 “{0}” 的属性更改为访问者的属性,因为 configurable 为 false。
msg.change.property.accessor.to.data.with.configurable.false =\
无法将访问器 “{0}” 的属性更改为数据的属性,因为 configurable 为 false。
msg.not.extensible =\
无法向此对象添加属性,因为 extensible 为 false。
msg.delete.property.with.configurable.false =\
无法删除 “{0}” 属性,因为可配置为 false。
# TokenStream
msg.missing.exponent =\
缺少一个指数
msg.caught.nfe =\
数字格式错误 {0}
msg.unterminated.string.lit =\
字符串文字没有限制
msg.unterminated.comment =\
注释没有限制
msg.unterminated.re.lit =\
正则表达式文字没有限制
msg.invalid.re.flag =\
正则表达式后的标志 “{0}” 无效
msg.no.re.input.for =\
{0} 没有输入
msg.illegal.character =\
不允许的字符:“{0}”
msg.invalid.escape =\
Unicode 转义序列不正确
msg.bad.namespace =\
不是有效的默认命名空间语句。 \
语法是:默认 xml 命名空间 = EXPRESSION;
# TokensStream warnings
msg.bad.octal.literal =\
字面量 {0} 的八进制数字是不允许的,将被解释为十进制数字
msg.reserved.keyword =\
不允许使用将来的保留关键字 {0},这将被解释为普通标识符
# LiveConnect errors
msg.java.internal.field.type =\
内部错误:将 {1} 分配给 {2} 的 {0} 类型转换失败。
msg.java.conversion.implicit_method =\
在类 {1} 中找不到转换方法 “{0}”。
msg.java.method.assign =\
无法分配 Java 方法 “{0}”。
msg.java.internal.private =\
内部错误:检测到尝试访问受保护的私有字段 “{0}”。
msg.java.no_such_method =\
找不到方法 “{0}”。
msg.script.is.not.constructor =\
脚本对象不是构造函数。
msg.nonjava.method =\
Java 方法 “{0}” 被调用,{1} 作为“this”值,无法转换为 Java 类型 {2}。
msg.java.member.not.found =\
Java 类 “{0}” 没有名为 “{1}” 的公共实例字段或方法。
msg.java.array.index.out.of.bounds =\
数组索引 {0} 超出范围 [0..{1}]。
msg.java.array.member.not.found =\
Java 数组没有名为 “{0}” 的公共实例字段或方法。
msg.pkg.int =\
Java 中的包名不能以数字开头。
msg.access.prohibited =\
禁止访问 Java 类 “{0}”。
# ImporterTopLevel
msg.ambig.import =\
不明确的导入:“{0}” 和 “{1}”。
msg.not.pkg =\
调用 importPackage 函数必须使用包而不是 “{0}”。
msg.not.class =\
调用 importClass 函数必须使用类而不是 “{0}”。
msg.not.class.not.pkg =\
“{0}” 既不是类也不是包。
msg.prop.defined =\
无法导入 “{0}”,因为该名称的属性已定义。
#JavaAdapter
msg.adapter.zero.args =\
JavaAdapter 至少需要一个参数。
msg.not.java.class.arg = \
参数 {0} 不是 Java 类:{1}。
#JavaAdapter
msg.only.one.super = \
JavaAdapter 只能扩展一个类。已给出类 {0} 和 {1}。
# Arrays
msg.arraylength.bad =\
数组长度不合适。
# Arrays
msg.arraylength.too.big =\
数组 {0} 的长度超出了支持的容量限制。
msg.empty.array.reduce =\
“reduce” 方法在空数组上没有初始值时不起作用
# URI
msg.bad.uri =\
URI 序列的格式不正确。
# Number
msg.bad.precision =\
精度 {0} 超出范围。
# NativeGenerator
msg.send.newborn =\
在第一次调用 next() 之前不能调用生成器的 send() 方法
msg.already.exec.gen =\
生成器已经在运行
msg.StopIteration.invalid =\
StopIteration 异常不能更改为任意对象。
msg.generator.executing =\
生成器仍在执行先前的调用。
@@ -0,0 +1,2244 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="1.0" xml:lang="en"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified">
<!--
THIS IS A MODIFIED VERSION THAT DROPS ALL DEFAULT ATTRIBUTES! THEY ARE EVIL! (cb)
See: http://www.xmlplease.com/shaperect
-->
<xs:annotation>
<xs:documentation>
XHTML 1.0 (Second Edition) Strict in XML Schema
This is the same as HTML 4 Strict except for
changes due to the differences between XML and SGML.
Namespace = http://www.w3.org/1999/xhtml
For further information, see: http://www.w3.org/TR/xhtml1
Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
All Rights Reserved.
The DTD version is identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
$Id: xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44 mimasa Exp $
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:annotation>
<xs:documentation>
================ Character mnemonic entities =========================
XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"
PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"
PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
================== Imported Names ====================================
</xs:documentation>
</xs:annotation>
<xs:simpleType name="ContentType">
<xs:annotation>
<xs:documentation>
media type, as per [RFC2045]
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="ContentTypes">
<xs:annotation>
<xs:documentation>
comma-separated list of media types, as per [RFC2045]
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="Charset">
<xs:annotation>
<xs:documentation>
a character encoding, as per [RFC2045]
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="Charsets">
<xs:annotation>
<xs:documentation>
a space separated list of character encodings, as per [RFC2045]
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="LanguageCode">
<xs:annotation>
<xs:documentation>
a language code, as per [RFC3066]
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:language"/>
</xs:simpleType>
<xs:simpleType name="Character">
<xs:annotation>
<xs:documentation>
a single character, as per section 2.2 of [XML]
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" fixed="true"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Number">
<xs:annotation>
<xs:documentation>
one or more digits
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:pattern value="[0-9]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tabindexNumber">
<xs:annotation>
<xs:documentation>
tabindex attribute specifies the position of the current element
in the tabbing order for the current document. This value must be
a number between 0 and 32767. User agents should ignore leading zeros.
</xs:documentation>
</xs:annotation>
<xs:restriction base="Number">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="32767"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LinkTypes">
<xs:annotation>
<xs:documentation>
space-separated list of link types
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKENS"/>
</xs:simpleType>
<xs:simpleType name="MediaDesc">
<xs:annotation>
<xs:documentation>
single or comma-separated list of media descriptors
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[^,]+(,\s*[^,]+)*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="URI">
<xs:annotation>
<xs:documentation>
a Uniform Resource Identifier, see [RFC2396]
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:anyURI"/>
</xs:simpleType>
<xs:simpleType name="UriList">
<xs:annotation>
<xs:documentation>
a space separated list of Uniform Resource Identifiers
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="Datetime">
<xs:annotation>
<xs:documentation>
date and time information. ISO date format
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:dateTime"/>
</xs:simpleType>
<xs:simpleType name="Script">
<xs:annotation>
<xs:documentation>
script expression
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="StyleSheet">
<xs:annotation>
<xs:documentation>
style sheet data
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="Text">
<xs:annotation>
<xs:documentation>
used for titles etc.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="Length">
<xs:annotation>
<xs:documentation>
nn for pixels or nn% for percentage length
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MultiLength">
<xs:annotation>
<xs:documentation>
pixel, percentage, or relative
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Pixels">
<xs:annotation>
<xs:documentation>
integer representing length in pixels
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:nonNegativeInteger"/>
</xs:simpleType>
<xs:annotation>
<xs:documentation>
these are used for image maps
</xs:documentation>
</xs:annotation>
<xs:simpleType name="Shape">
<xs:restriction base="xs:token">
<xs:enumeration value="rect"/>
<xs:enumeration value="circle"/>
<xs:enumeration value="poly"/>
<xs:enumeration value="default"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Coords">
<xs:annotation>
<xs:documentation>
comma separated list of lengths
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern
value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>
=================== Generic Attributes ===============================
</xs:documentation>
</xs:annotation>
<xs:attributeGroup name="coreattrs">
<xs:annotation>
<xs:documentation>
core attributes common to most elements
id document-wide unique id
class space separated list of classes
style associated style info
title advisory title/amplification
</xs:documentation>
</xs:annotation>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="class" type="xs:NMTOKENS"/>
<xs:attribute name="style" type="StyleSheet"/>
<xs:attribute name="title" type="Text"/>
</xs:attributeGroup>
<xs:attributeGroup name="i18n">
<xs:annotation>
<xs:documentation>
internationalization attributes
lang language code (backwards compatible)
xml:lang language code (as per XML 1.0 spec)
dir direction for weak/neutral text
</xs:documentation>
</xs:annotation>
<xs:attribute name="lang" type="LanguageCode"/>
<xs:attribute ref="xml:lang"/>
<xs:attribute name="dir">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="ltr"/>
<xs:enumeration value="rtl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="events">
<xs:annotation>
<xs:documentation>
attributes for common UI events
onclick a pointer button was clicked
ondblclick a pointer button was double clicked
onmousedown a pointer button was pressed down
onmouseup a pointer button was released
onmousemove a pointer was moved onto the element
onmouseout a pointer was moved away from the element
onkeypress a key was pressed and released
onkeydown a key was pressed down
onkeyup a key was released
</xs:documentation>
</xs:annotation>
<xs:attribute name="onclick" type="Script"/>
<xs:attribute name="ondblclick" type="Script"/>
<xs:attribute name="onmousedown" type="Script"/>
<xs:attribute name="onmouseup" type="Script"/>
<xs:attribute name="onmouseover" type="Script"/>
<xs:attribute name="onmousemove" type="Script"/>
<xs:attribute name="onmouseout" type="Script"/>
<xs:attribute name="onkeypress" type="Script"/>
<xs:attribute name="onkeydown" type="Script"/>
<xs:attribute name="onkeyup" type="Script"/>
</xs:attributeGroup>
<xs:attributeGroup name="focus">
<xs:annotation>
<xs:documentation>
attributes for elements that can get the focus
accesskey accessibility key character
tabindex position in tabbing order
onfocus the element got the focus
onblur the element lost the focus
</xs:documentation>
</xs:annotation>
<xs:attribute name="accesskey" type="Character"/>
<xs:attribute name="tabindex" type="tabindexNumber"/>
<xs:attribute name="onfocus" type="Script"/>
<xs:attribute name="onblur" type="Script"/>
</xs:attributeGroup>
<xs:attributeGroup name="attrs">
<xs:attributeGroup ref="coreattrs"/>
<xs:attributeGroup ref="i18n"/>
<xs:attributeGroup ref="events"/>
</xs:attributeGroup>
<xs:annotation>
<xs:documentation>
=================== Text Elements ====================================
</xs:documentation>
</xs:annotation>
<xs:group name="special.pre">
<xs:choice>
<xs:element ref="br"/>
<xs:element ref="span"/>
<xs:element ref="bdo"/>
<xs:element ref="map"/>
</xs:choice>
</xs:group>
<xs:group name="special">
<xs:choice>
<xs:group ref="special.pre"/>
<xs:element ref="object"/>
<xs:element ref="img"/>
</xs:choice>
</xs:group>
<xs:group name="fontstyle">
<xs:choice>
<xs:element ref="tt"/>
<xs:element ref="i"/>
<xs:element ref="b"/>
<xs:element ref="big"/>
<xs:element ref="small"/>
</xs:choice>
</xs:group>
<xs:group name="phrase">
<xs:choice>
<xs:element ref="em"/>
<xs:element ref="strong"/>
<xs:element ref="dfn"/>
<xs:element ref="code"/>
<xs:element ref="q"/>
<xs:element ref="samp"/>
<xs:element ref="kbd"/>
<xs:element ref="var"/>
<xs:element ref="cite"/>
<xs:element ref="abbr"/>
<xs:element ref="acronym"/>
<xs:element ref="sub"/>
<xs:element ref="sup"/>
</xs:choice>
</xs:group>
<xs:group name="inline.forms">
<xs:choice>
<xs:element ref="input"/>
<xs:element ref="select"/>
<xs:element ref="textarea"/>
<xs:element ref="label"/>
<xs:element ref="button"/>
</xs:choice>
</xs:group>
<xs:group name="misc.inline">
<xs:choice>
<xs:element ref="ins"/>
<xs:element ref="del"/>
<xs:element ref="script"/>
</xs:choice>
</xs:group>
<xs:group name="misc">
<xs:annotation>
<xs:documentation>
these can only occur at block level
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element ref="noscript"/>
<xs:group ref="misc.inline"/>
</xs:choice>
</xs:group>
<xs:group name="inline">
<xs:choice>
<xs:element ref="a"/>
<xs:group ref="special"/>
<xs:group ref="fontstyle"/>
<xs:group ref="phrase"/>
<xs:group ref="inline.forms"/>
</xs:choice>
</xs:group>
<xs:complexType name="Inline" mixed="true">
<xs:annotation>
<xs:documentation>
"Inline" covers inline or "text-level" elements
</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="inline"/>
<xs:group ref="misc.inline"/>
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>
================== Block level elements ==============================
</xs:documentation>
</xs:annotation>
<xs:group name="heading">
<xs:choice>
<xs:element ref="h1"/>
<xs:element ref="h2"/>
<xs:element ref="h3"/>
<xs:element ref="h4"/>
<xs:element ref="h5"/>
<xs:element ref="h6"/>
</xs:choice>
</xs:group>
<xs:group name="lists">
<xs:choice>
<xs:element ref="ul"/>
<xs:element ref="ol"/>
<xs:element ref="dl"/>
</xs:choice>
</xs:group>
<xs:group name="blocktext">
<xs:choice>
<xs:element ref="pre"/>
<xs:element ref="hr"/>
<xs:element ref="blockquote"/>
<xs:element ref="address"/>
</xs:choice>
</xs:group>
<xs:group name="block">
<xs:choice>
<xs:element ref="p"/>
<xs:group ref="heading"/>
<xs:element ref="div"/>
<xs:group ref="lists"/>
<xs:group ref="blocktext"/>
<xs:element ref="fieldset"/>
<xs:element ref="table"/>
</xs:choice>
</xs:group>
<xs:complexType name="Block">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="block"/>
<xs:element ref="form"/>
<xs:group ref="misc"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="Flow" mixed="true">
<xs:annotation>
<xs:documentation>
"Flow" mixes block and inline and is used for list items etc.
</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="block"/>
<xs:element ref="form"/>
<xs:group ref="inline"/>
<xs:group ref="misc"/>
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>
================== Content models for exclusions =====================
</xs:documentation>
</xs:annotation>
<xs:complexType name="a.content" mixed="true">
<xs:annotation>
<xs:documentation>
a elements use "Inline" excluding a
</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="special"/>
<xs:group ref="fontstyle"/>
<xs:group ref="phrase"/>
<xs:group ref="inline.forms"/>
<xs:group ref="misc.inline"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="pre.content" mixed="true">
<xs:annotation>
<xs:documentation>
pre uses "Inline" excluding big, small, sup or sup
</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="a"/>
<xs:group ref="fontstyle"/>
<xs:group ref="phrase"/>
<xs:group ref="special.pre"/>
<xs:group ref="misc.inline"/>
<xs:group ref="inline.forms"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="form.content">
<xs:annotation>
<xs:documentation>
form uses "Block" excluding form
</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="block"/>
<xs:group ref="misc"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="button.content" mixed="true">
<xs:annotation>
<xs:documentation>
button uses "Flow" but excludes a, form and form controls
</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="p"/>
<xs:group ref="heading"/>
<xs:element ref="div"/>
<xs:group ref="lists"/>
<xs:group ref="blocktext"/>
<xs:element ref="table"/>
<xs:group ref="special"/>
<xs:group ref="fontstyle"/>
<xs:group ref="phrase"/>
<xs:group ref="misc"/>
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>
================ Document Structure ==================================
</xs:documentation>
</xs:annotation>
<xs:element name="html">
<xs:complexType>
<xs:sequence>
<xs:element ref="head"/>
<xs:element ref="body"/>
</xs:sequence>
<xs:attributeGroup ref="i18n"/>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
================ Document Head =======================================
</xs:documentation>
</xs:annotation>
<xs:group name="head.misc">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="script"/>
<xs:element ref="style"/>
<xs:element ref="meta"/>
<xs:element ref="link"/>
<xs:element ref="object"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:element name="head">
<xs:annotation>
<xs:documentation>
content model is "head.misc" combined with a single
title and an optional base element in any order
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:group ref="head.misc"/>
<xs:choice>
<xs:sequence>
<xs:element ref="title"/>
<xs:group ref="head.misc"/>
<xs:sequence minOccurs="0">
<xs:element ref="base"/>
<xs:group ref="head.misc"/>
</xs:sequence>
</xs:sequence>
<xs:sequence>
<xs:element ref="base"/>
<xs:group ref="head.misc"/>
<xs:element ref="title"/>
<xs:group ref="head.misc"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="i18n"/>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="profile" type="URI"/>
</xs:complexType>
</xs:element>
<xs:element name="title">
<xs:annotation>
<xs:documentation>
The title element is not considered part of the flow of text.
It should be displayed, for example as the page header or
window title. Exactly one title is required per document.
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="i18n"/>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
</xs:element>
<xs:element name="base">
<xs:annotation>
<xs:documentation>
document base URI
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="href" use="required" type="URI"/>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
</xs:element>
<xs:element name="meta">
<xs:annotation>
<xs:documentation>
generic metainformation
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="i18n"/>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="http-equiv"/>
<xs:attribute name="name"/>
<xs:attribute name="content" use="required"/>
<xs:attribute name="scheme"/>
</xs:complexType>
</xs:element>
<xs:element name="link">
<xs:annotation>
<xs:documentation>
Relationship values can be used in principle:
a) for document specific toolbars/menus when used
with the link element in document head e.g.
start, contents, previous, next, index, end, help
b) to link to a separate style sheet (rel="stylesheet")
c) to make a link to a script (rel="script")
d) by stylesheets to control how collections of
html nodes are rendered into printed documents
e) to make a link to a printable version of this document
e.g. a PostScript or PDF version (rel="alternate" media="print")
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="charset" type="Charset"/>
<xs:attribute name="href" type="URI"/>
<xs:attribute name="hreflang" type="LanguageCode"/>
<xs:attribute name="type" type="ContentType"/>
<xs:attribute name="rel" type="LinkTypes"/>
<xs:attribute name="rev" type="LinkTypes"/>
<xs:attribute name="media" type="MediaDesc"/>
</xs:complexType>
</xs:element>
<xs:element name="style">
<xs:annotation>
<xs:documentation>
style info, which may include CDATA sections
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="i18n"/>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="type" use="required" type="ContentType"/>
<xs:attribute name="media" type="MediaDesc"/>
<xs:attribute name="title" type="Text"/>
<xs:attribute ref="xml:space" fixed="preserve"/>
</xs:complexType>
</xs:element>
<xs:element name="script">
<xs:annotation>
<xs:documentation>
script statements, which may include CDATA sections
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="charset" type="Charset"/>
<xs:attribute name="type" use="required" type="ContentType"/>
<xs:attribute name="src" type="URI"/>
<xs:attribute name="defer">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="defer"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute ref="xml:space" fixed="preserve"/>
</xs:complexType>
</xs:element>
<xs:element name="noscript">
<xs:annotation>
<xs:documentation>
alternate content container for non script-based rendering
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="Block">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Document Body ====================================
</xs:documentation>
</xs:annotation>
<xs:element name="body">
<xs:complexType>
<xs:complexContent>
<xs:extension base="Block">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="onload" type="Script"/>
<xs:attribute name="onunload" type="Script"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="div">
<xs:annotation>
<xs:documentation>
generic language/style container
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Flow">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Paragraphs =======================================
</xs:documentation>
</xs:annotation>
<xs:element name="p">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Headings =========================================
There are six levels of headings from h1 (the most important)
to h6 (the least important).
</xs:documentation>
</xs:annotation>
<xs:element name="h1">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="h2">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="h3">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="h4">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="h5">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="h6">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Lists ============================================
</xs:documentation>
</xs:annotation>
<xs:element name="ul">
<xs:annotation>
<xs:documentation>
Unordered list
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="li"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
</xs:complexType>
</xs:element>
<xs:element name="ol">
<xs:annotation>
<xs:documentation>
Ordered (numbered) list
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="li"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
</xs:complexType>
</xs:element>
<xs:element name="li">
<xs:annotation>
<xs:documentation>
list item
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Flow">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
definition lists - dt for term, dd for its definition
</xs:documentation>
</xs:annotation>
<xs:element name="dl">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="dt"/>
<xs:element ref="dd"/>
</xs:choice>
<xs:attributeGroup ref="attrs"/>
</xs:complexType>
</xs:element>
<xs:element name="dt">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="dd">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Flow">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Address ==========================================
</xs:documentation>
</xs:annotation>
<xs:element name="address">
<xs:annotation>
<xs:documentation>
information on author
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Horizontal Rule ==================================
</xs:documentation>
</xs:annotation>
<xs:element name="hr">
<xs:complexType>
<xs:attributeGroup ref="attrs"/>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Preformatted Text ================================
</xs:documentation>
</xs:annotation>
<xs:element name="pre">
<xs:annotation>
<xs:documentation>
content is "Inline" excluding "img|object|big|small|sub|sup"
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="pre.content">
<xs:attributeGroup ref="attrs"/>
<xs:attribute ref="xml:space" fixed="preserve"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Block-like Quotes ================================
</xs:documentation>
</xs:annotation>
<xs:element name="blockquote">
<xs:complexType>
<xs:complexContent>
<xs:extension base="Block">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="cite" type="URI"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Inserted/Deleted Text ============================
ins/del are allowed in block and inline content, but its
inappropriate to include block content within an ins element
occurring in inline content.
</xs:documentation>
</xs:annotation>
<xs:element name="ins">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Flow">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="cite" type="URI"/>
<xs:attribute name="datetime" type="Datetime"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="del">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Flow">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="cite" type="URI"/>
<xs:attribute name="datetime" type="Datetime"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
================== The Anchor Element ================================
</xs:documentation>
</xs:annotation>
<xs:element name="a">
<xs:annotation>
<xs:documentation>
content is "Inline" except that anchors shouldn't be nested
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="a.content">
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="focus"/>
<xs:attribute name="charset" type="Charset"/>
<xs:attribute name="type" type="ContentType"/>
<xs:attribute name="name" type="xs:NMTOKEN"/>
<xs:attribute name="href" type="URI"/>
<xs:attribute name="hreflang" type="LanguageCode"/>
<xs:attribute name="rel" type="LinkTypes"/>
<xs:attribute name="rev" type="LinkTypes"/>
<!--
<xs:attribute name="shape" default="rect" type="Shape"/>
-->
<xs:attribute name="coords" type="Coords"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
===================== Inline Elements ================================
</xs:documentation>
</xs:annotation>
<xs:element name="span">
<xs:annotation>
<xs:documentation>
generic language/style container
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="bdo">
<xs:annotation>
<xs:documentation>
I18N BiDi over-ride
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="coreattrs"/>
<xs:attributeGroup ref="events"/>
<xs:attribute name="lang" type="LanguageCode"/>
<xs:attribute ref="xml:lang"/>
<xs:attribute name="dir" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="ltr"/>
<xs:enumeration value="rtl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="br">
<xs:annotation>
<xs:documentation>
forced line break
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="coreattrs"/>
</xs:complexType>
</xs:element>
<xs:element name="em">
<xs:annotation>
<xs:documentation>
emphasis
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="strong">
<xs:annotation>
<xs:documentation>
strong emphasis
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="dfn">
<xs:annotation>
<xs:documentation>
definitional
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="code">
<xs:annotation>
<xs:documentation>
program code
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="samp">
<xs:annotation>
<xs:documentation>
sample
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="kbd">
<xs:annotation>
<xs:documentation>
something user would type
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="var">
<xs:annotation>
<xs:documentation>
variable
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="cite">
<xs:annotation>
<xs:documentation>
citation
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="abbr">
<xs:annotation>
<xs:documentation>
abbreviation
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="acronym">
<xs:annotation>
<xs:documentation>
acronym
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="q">
<xs:annotation>
<xs:documentation>
inlined quote
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="cite" type="URI"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="sub">
<xs:annotation>
<xs:documentation>
subscript
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="sup">
<xs:annotation>
<xs:documentation>
superscript
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="tt">
<xs:annotation>
<xs:documentation>
fixed pitch font
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="i">
<xs:annotation>
<xs:documentation>
italic font
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="b">
<xs:annotation>
<xs:documentation>
bold font
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="big">
<xs:annotation>
<xs:documentation>
bigger font
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="small">
<xs:annotation>
<xs:documentation>
smaller font
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
==================== Object ======================================
object is used to embed objects as part of HTML pages.
param elements should precede other content. Parameters
can also be expressed as attribute/value pairs on the
object element itself when brevity is desired.
</xs:documentation>
</xs:annotation>
<xs:element name="object">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="param"/>
<xs:group ref="block"/>
<xs:element ref="form"/>
<xs:group ref="inline"/>
<xs:group ref="misc"/>
</xs:choice>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="declare">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="declare"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="classid" type="URI"/>
<xs:attribute name="codebase" type="URI"/>
<xs:attribute name="data" type="URI"/>
<xs:attribute name="type" type="ContentType"/>
<xs:attribute name="codetype" type="ContentType"/>
<xs:attribute name="archive" type="UriList"/>
<xs:attribute name="standby" type="Text"/>
<xs:attribute name="height" type="Length"/>
<xs:attribute name="width" type="Length"/>
<xs:attribute name="usemap" type="URI"/>
<xs:attribute name="name" type="xs:NMTOKEN"/>
<xs:attribute name="tabindex" type="tabindexNumber"/>
</xs:complexType>
</xs:element>
<xs:element name="param">
<xs:annotation>
<xs:documentation>
param is used to supply a named property value.
In XML it would seem natural to follow RDF and support an
abbreviated syntax where the param elements are replaced
by attribute value pairs on the object start tag.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="name"/>
<xs:attribute name="value"/>
<xs:attribute name="valuetype" default="data">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="data"/>
<xs:enumeration value="ref"/>
<xs:enumeration value="object"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="type" type="ContentType"/>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
=================== Images ===========================================
To avoid accessibility problems for people who aren't
able to see the image, you should provide a text
description using the alt and longdesc attributes.
In addition, avoid the use of server-side image maps.
Note that in this DTD there is no name attribute. That
is only available in the transitional and frameset DTD.
</xs:documentation>
</xs:annotation>
<xs:element name="img">
<xs:complexType>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="src" use="required" type="URI"/>
<xs:attribute name="alt" use="required" type="Text"/>
<xs:attribute name="longdesc" type="URI"/>
<xs:attribute name="height" type="Length"/>
<xs:attribute name="width" type="Length"/>
<xs:attribute name="usemap" type="URI">
<xs:annotation>
<xs:documentation>
usemap points to a map element which may be in this document
or an external document, although the latter is not widely supported
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ismap">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="ismap"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
================== Client-side image maps ============================
These can be placed in the same document or grouped in a
separate document although this isn't yet widely supported
</xs:documentation>
</xs:annotation>
<xs:element name="map">
<xs:complexType>
<xs:choice>
<xs:choice maxOccurs="unbounded">
<xs:group ref="block"/>
<xs:element ref="form"/>
<xs:group ref="misc"/>
</xs:choice>
<xs:element maxOccurs="unbounded" ref="area"/>
</xs:choice>
<xs:attributeGroup ref="i18n"/>
<xs:attributeGroup ref="events"/>
<xs:attribute name="id" use="required" type="xs:ID"/>
<xs:attribute name="class"/>
<xs:attribute name="style" type="StyleSheet"/>
<xs:attribute name="title" type="Text"/>
<xs:attribute name="name" type="xs:NMTOKEN"/>
</xs:complexType>
</xs:element>
<xs:element name="area">
<xs:complexType>
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="focus"/>
<xs:attribute name="shape" type="Shape"/>
<!--
<xs:attribute name="shape" default="rect" type="Shape"/>
-->
<xs:attribute name="coords" type="Coords"/>
<xs:attribute name="href" type="URI"/>
<xs:attribute name="nohref">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="nohref"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="alt" use="required" type="Text"/>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
================ Forms ===============================================
</xs:documentation>
</xs:annotation>
<xs:element name="form">
<xs:complexType>
<xs:complexContent>
<xs:extension base="form.content">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="action" use="required" type="URI"/>
<!--
<xs:attribute name="method" default="get">
-->
<xs:attribute name="method">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="get"/>
<xs:enumeration value="post"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<!--
<xs:attribute name="enctype" type="ContentType"
default="application/x-www-form-urlencoded"/>
-->
<xs:attribute name="enctype" type="ContentType"/>
<xs:attribute name="onsubmit" type="Script"/>
<xs:attribute name="onreset" type="Script"/>
<xs:attribute name="accept" type="ContentTypes"/>
<xs:attribute name="accept-charset" type="Charsets"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="label">
<xs:annotation>
<xs:documentation>
Each label must not contain more than ONE field
Label elements shouldn't be nested.
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="for" type="xs:IDREF"/>
<xs:attribute name="accesskey" type="Character"/>
<xs:attribute name="onfocus" type="Script"/>
<xs:attribute name="onblur" type="Script"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:simpleType name="InputType">
<xs:restriction base="xs:token">
<xs:enumeration value="text"/>
<xs:enumeration value="password"/>
<xs:enumeration value="checkbox"/>
<xs:enumeration value="radio"/>
<xs:enumeration value="submit"/>
<xs:enumeration value="reset"/>
<xs:enumeration value="file"/>
<xs:enumeration value="hidden"/>
<xs:enumeration value="image"/>
<xs:enumeration value="button"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="input">
<xs:annotation>
<xs:documentation>
form control
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="focus"/>
<xs:attribute name="type" default="text" type="InputType"/>
<xs:attribute name="name">
<xs:annotation>
<xs:documentation>
the name attribute is required for all but submit &amp; reset
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="value"/>
<xs:attribute name="checked">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="checked"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="disabled">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="disabled"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="readonly">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="readonly"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="size"/>
<xs:attribute name="maxlength" type="Number"/>
<xs:attribute name="src" type="URI"/>
<xs:attribute name="alt"/>
<xs:attribute name="usemap" type="URI"/>
<xs:attribute name="onselect" type="Script"/>
<xs:attribute name="onchange" type="Script"/>
<xs:attribute name="accept" type="ContentTypes"/>
</xs:complexType>
</xs:element>
<xs:element name="select">
<xs:annotation>
<xs:documentation>
option selector
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="optgroup"/>
<xs:element ref="option"/>
</xs:choice>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="name"/>
<xs:attribute name="size" type="Number"/>
<xs:attribute name="multiple">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="multiple"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="disabled">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="disabled"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tabindex" type="tabindexNumber"/>
<xs:attribute name="onfocus" type="Script"/>
<xs:attribute name="onblur" type="Script"/>
<xs:attribute name="onchange" type="Script"/>
</xs:complexType>
</xs:element>
<xs:element name="optgroup">
<xs:annotation>
<xs:documentation>
option group
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="option"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="disabled">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="disabled"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="label" use="required" type="Text"/>
</xs:complexType>
</xs:element>
<xs:element name="option">
<xs:annotation>
<xs:documentation>
selectable choice
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="selected">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="selected"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="disabled">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="disabled"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="label" type="Text"/>
<xs:attribute name="value"/>
</xs:complexType>
</xs:element>
<xs:element name="textarea">
<xs:annotation>
<xs:documentation>
multi-line text field
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="focus"/>
<xs:attribute name="name"/>
<xs:attribute name="rows" use="required" type="Number"/>
<xs:attribute name="cols" use="required" type="Number"/>
<xs:attribute name="disabled">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="disabled"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="readonly">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="readonly"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="onselect" type="Script"/>
<xs:attribute name="onchange" type="Script"/>
</xs:complexType>
</xs:element>
<xs:element name="fieldset">
<xs:annotation>
<xs:documentation>
The fieldset element is used to group form fields.
Only one legend element should occur in the content
and if present should only be preceded by whitespace.
NOTE: this content model is different from the XHTML 1.0 DTD,
closer to the intended content model in HTML4 DTD
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="legend"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="block"/>
<xs:element ref="form"/>
<xs:group ref="inline"/>
<xs:group ref="misc"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
</xs:complexType>
</xs:element>
<xs:element name="legend">
<xs:annotation>
<xs:documentation>
fieldset label
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="accesskey" type="Character"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="button">
<xs:annotation>
<xs:documentation>
Content is "Flow" excluding a, form and form controls
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="button.content">
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="focus"/>
<xs:attribute name="name"/>
<xs:attribute name="value"/>
<!--
<xs:attribute name="type" default="submit">
-->
<xs:attribute name="type">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="button"/>
<xs:enumeration value="submit"/>
<xs:enumeration value="reset"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="disabled">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="disabled"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
======================= Tables =======================================
Derived from IETF HTML table standard, see [RFC1942]
</xs:documentation>
</xs:annotation>
<xs:simpleType name="TFrame">
<xs:annotation>
<xs:documentation>
The border attribute sets the thickness of the frame around the
table. The default units are screen pixels.
The frame attribute specifies which parts of the frame around
the table should be rendered. The values are not the same as
CALS to avoid a name clash with the valign attribute.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="void"/>
<xs:enumeration value="above"/>
<xs:enumeration value="below"/>
<xs:enumeration value="hsides"/>
<xs:enumeration value="lhs"/>
<xs:enumeration value="rhs"/>
<xs:enumeration value="vsides"/>
<xs:enumeration value="box"/>
<xs:enumeration value="border"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TRules">
<xs:annotation>
<xs:documentation>
The rules attribute defines which rules to draw between cells:
If rules is absent then assume:
"none" if border is absent or border="0" otherwise "all"
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="none"/>
<xs:enumeration value="groups"/>
<xs:enumeration value="rows"/>
<xs:enumeration value="cols"/>
<xs:enumeration value="all"/>
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="cellhalign">
<xs:annotation>
<xs:documentation>
horizontal alignment attributes for cell contents
char alignment char, e.g. char=':'
charoff offset for alignment char
</xs:documentation>
</xs:annotation>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="center"/>
<xs:enumeration value="right"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char" type="Character"/>
<xs:attribute name="charoff" type="Length"/>
</xs:attributeGroup>
<xs:attributeGroup name="cellvalign">
<xs:annotation>
<xs:documentation>
vertical alignment attributes for cell contents
</xs:documentation>
</xs:annotation>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
<xs:enumeration value="baseline"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="table">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="caption"/>
<xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
</xs:choice>
<xs:element minOccurs="0" ref="thead"/>
<xs:element minOccurs="0" ref="tfoot"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="tbody"/>
<xs:element maxOccurs="unbounded" ref="tr"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="summary" type="Text"/>
<xs:attribute name="width" type="Length"/>
<xs:attribute name="border" type="Pixels"/>
<xs:attribute name="frame" type="TFrame"/>
<xs:attribute name="rules" type="TRules"/>
<xs:attribute name="cellspacing" type="Length"/>
<xs:attribute name="cellpadding" type="Length"/>
</xs:complexType>
</xs:element>
<xs:element name="caption">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
Use thead to duplicate headers when breaking table
across page boundaries, or for static headers when
tbody sections are rendered in scrolling panel.
Use tfoot to duplicate footers when breaking table
across page boundaries, or for static footers when
tbody sections are rendered in scrolling panel.
Use multiple tbody sections when rules are needed
between groups of table rows.
</xs:documentation>
</xs:annotation>
<xs:element name="thead">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="tr"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="cellhalign"/>
<xs:attributeGroup ref="cellvalign"/>
</xs:complexType>
</xs:element>
<xs:element name="tfoot">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="tr"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="cellhalign"/>
<xs:attributeGroup ref="cellvalign"/>
</xs:complexType>
</xs:element>
<xs:element name="tbody">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="tr"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="cellhalign"/>
<xs:attributeGroup ref="cellvalign"/>
</xs:complexType>
</xs:element>
<xs:element name="colgroup">
<xs:annotation>
<xs:documentation>
colgroup groups a set of col elements. It allows you to group
several semantically related columns together.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<!--
<xs:attribute name="span" default="1" type="Number"/>
-->
<xs:attribute name="span" type="Number"/>
<xs:attribute name="width" type="MultiLength"/>
<xs:attributeGroup ref="cellhalign"/>
<xs:attributeGroup ref="cellvalign"/>
</xs:complexType>
</xs:element>
<xs:element name="col">
<xs:annotation>
<xs:documentation>
col elements define the alignment properties for cells in
one or more columns.
The width attribute specifies the width of the columns, e.g.
width=64 width in screen pixels
width=0.5* relative width of 0.5
The span attribute causes the attributes of one
col element to apply to more than one column.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="attrs"/>
<!--
<xs:attribute name="span" default="1" type="Number"/>
-->
<xs:attribute name="span" type="Number"/>
<xs:attribute name="width" type="MultiLength"/>
<xs:attributeGroup ref="cellhalign"/>
<xs:attributeGroup ref="cellvalign"/>
</xs:complexType>
</xs:element>
<xs:element name="tr">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="th"/>
<xs:element ref="td"/>
</xs:choice>
<xs:attributeGroup ref="attrs"/>
<xs:attributeGroup ref="cellhalign"/>
<xs:attributeGroup ref="cellvalign"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="Scope">
<xs:annotation>
<xs:documentation>
Scope is simpler than headers attribute for common tables
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="row"/>
<xs:enumeration value="col"/>
<xs:enumeration value="rowgroup"/>
<xs:enumeration value="colgroup"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>
th is for headers, td for data and for cells acting as both
</xs:documentation>
</xs:annotation>
<xs:element name="th">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Flow">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="abbr" type="Text"/>
<xs:attribute name="axis"/>
<xs:attribute name="headers" type="xs:IDREFS"/>
<xs:attribute name="scope" type="Scope"/>
<!--
<xs:attribute name="rowspan" default="1" type="Number"/>
<xs:attribute name="colspan" default="1" type="Number"/>
-->
<xs:attribute name="rowspan" type="Number"/>
<xs:attribute name="colspan" type="Number"/>
<xs:attributeGroup ref="cellhalign"/>
<xs:attributeGroup ref="cellvalign"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="td">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="Flow">
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="abbr" type="Text"/>
<xs:attribute name="axis"/>
<xs:attribute name="headers" type="xs:IDREFS"/>
<xs:attribute name="scope" type="Scope"/>
<!--
<xs:attribute name="rowspan" default="1" type="Number"/>
<xs:attribute name="colspan" default="1" type="Number"/>
-->
<xs:attribute name="rowspan" type="Number"/>
<xs:attribute name="colspan" type="Number"/>
<xs:attributeGroup ref="cellhalign"/>
<xs:attributeGroup ref="cellvalign"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>
+287
View File
@@ -0,0 +1,287 @@
<?xml version='1.0'?>
<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns ="http://www.w3.org/1999/xhtml"
xml:lang="en">
<xs:annotation>
<xs:documentation>
<div>
<h1>About the XML namespace</h1>
<div class="bodytext">
<p>
This schema document describes the XML namespace, in a form
suitable for import by other schema documents.
</p>
<p>
See <a href="http://www.w3.org/XML/1998/namespace.html">
http://www.w3.org/XML/1998/namespace.html</a> and
<a href="http://www.w3.org/TR/REC-xml">
http://www.w3.org/TR/REC-xml</a> for information
about this namespace.
</p>
<p>
Note that local names in this namespace are intended to be
defined only by the World Wide Web Consortium or its subgroups.
The names currently defined in this namespace are listed below.
They should not be used with conflicting semantics by any Working
Group, specification, or document instance.
</p>
<p>
See further below in this document for more information about <a
href="#usage">how to refer to this schema document from your own
XSD schema documents</a> and about <a href="#nsversioning">the
namespace-versioning policy governing this schema document</a>.
</p>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:attribute name="lang">
<xs:annotation>
<xs:documentation>
<div>
<h3>lang (as an attribute name)</h3>
<p>
denotes an attribute whose value
is a language code for the natural language of the content of
any element; its value is inherited. This name is reserved
by virtue of its definition in the XML specification.</p>
</div>
<div>
<h4>Notes</h4>
<p>
Attempting to install the relevant ISO 2- and 3-letter
codes as the enumerated possible values is probably never
going to be a realistic possibility.
</p>
<p>
See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
and the IANA language subtag registry at
<a href="http://www.iana.org/assignments/language-subtag-registry">
http://www.iana.org/assignments/language-subtag-registry</a>
for further information.
</p>
<p>
The union allows for the 'un-declaration' of xml:lang with
the empty string.
</p>
</div>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="xs:language">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="space">
<xs:annotation>
<xs:documentation>
<div>
<h3>space (as an attribute name)</h3>
<p>
denotes an attribute whose
value is a keyword indicating what whitespace processing
discipline is intended for the content of the element; its
value is inherited. This name is reserved by virtue of its
definition in the XML specification.</p>
</div>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="default"/>
<xs:enumeration value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
<xs:documentation>
<div>
<h3>base (as an attribute name)</h3>
<p>
denotes an attribute whose value
provides a URI to be used as the base for interpreting any
relative URIs in the scope of the element on which it
appears; its value is inherited. This name is reserved
by virtue of its definition in the XML Base specification.</p>
<p>
See <a
href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
for information about this attribute.
</p>
</div>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id" type="xs:ID">
<xs:annotation>
<xs:documentation>
<div>
<h3>id (as an attribute name)</h3>
<p>
denotes an attribute whose value
should be interpreted as if declared to be of type ID.
This name is reserved by virtue of its definition in the
xml:id specification.</p>
<p>
See <a
href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
for information about this attribute.
</p>
</div>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup name="specialAttrs">
<xs:attribute ref="xml:base"/>
<xs:attribute ref="xml:lang"/>
<xs:attribute ref="xml:space"/>
<xs:attribute ref="xml:id"/>
</xs:attributeGroup>
<xs:annotation>
<xs:documentation>
<div>
<h3>Father (in any context at all)</h3>
<div class="bodytext">
<p>
denotes Jon Bosak, the chair of
the original XML Working Group. This name is reserved by
the following decision of the W3C XML Plenary and
XML Coordination groups:
</p>
<blockquote>
<p>
In appreciation for his vision, leadership and
dedication the W3C XML Plenary on this 10th day of
February, 2000, reserves for Jon Bosak in perpetuity
the XML name "xml:Father".
</p>
</blockquote>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
<div xml:id="usage" id="usage">
<h2><a name="usage">About this schema document</a></h2>
<div class="bodytext">
<p>
This schema defines attributes and an attribute group suitable
for use by schemas wishing to allow <code>xml:base</code>,
<code>xml:lang</code>, <code>xml:space</code> or
<code>xml:id</code> attributes on elements they define.
</p>
<p>
To enable this, such a schema must import this schema for
the XML namespace, e.g. as follows:
</p>
<pre>
&lt;schema . . .>
. . .
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
</pre>
<p>
or
</p>
<pre>
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
</pre>
<p>
Subsequently, qualified reference to any of the attributes or the
group defined below will have the desired effect, e.g.
</p>
<pre>
&lt;type . . .>
. . .
&lt;attributeGroup ref="xml:specialAttrs"/>
</pre>
<p>
will define a type which will schema-validate an instance element
with any of those attributes.
</p>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
<div id="nsversioning" xml:id="nsversioning">
<h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
<div class="bodytext">
<p>
In keeping with the XML Schema WG's standard versioning
policy, this schema document will persist at
<a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd</a>.
</p>
<p>
At the date of issue it can also be found at
<a href="http://www.w3.org/2001/xml.xsd">
http://www.w3.org/2001/xml.xsd</a>.
</p>
<p>
The schema document at that URI may however change in the future,
in order to remain compatible with the latest version of XML
Schema itself, or with the XML namespace itself. In other words,
if the XML Schema or XML namespaces change, the version of this
document at <a href="http://www.w3.org/2001/xml.xsd">
http://www.w3.org/2001/xml.xsd
</a>
will change accordingly; the version at
<a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd
</a>
will not change.
</p>
<p>
Previous dated (and unchanging) versions of this schema
document are at:
</p>
<ul>
<li><a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd</a></li>
<li><a href="http://www.w3.org/2007/08/xml.xsd">
http://www.w3.org/2007/08/xml.xsd</a></li>
<li><a href="http://www.w3.org/2004/10/xml.xsd">
http://www.w3.org/2004/10/xml.xsd</a></li>
<li><a href="http://www.w3.org/2001/03/xml.xsd">
http://www.w3.org/2001/03/xml.xsd</a></li>
</ul>
</div>
</div>
</xs:documentation>
</xs:annotation>
</xs:schema>
Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 827 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB