Empty strings no longer allowed in many elements/attributes in DDMS 5.0

Description

(Imported from Google Code)

In previous versions of DDMS, many elements and attributes allowed empty strings, even though the DDMS Specification identifies them as Mandatory fields. In DDMS 5.0, a new XML type has been inserted, which forces these fields to have a length of at least 1.

  • For some fields, DDMSence was already "stricter than the spec" and required a non-empty value. Update the documentation for these fields to note that DDMSence is stricter in old DDMS versions and at the level of the spec in 5.0.

  • For some fields, DDMSence would output a warning saying that it was nonsensical for a value to be empty. Update the code to convert this warning into an error in DDMS 5.0.

Affected Required Attributes:
ddms:category/@ddms:label
ddms:countryCode/@ddms:codespace
ddms:countryCode/@ddms:code
ddms:facilityIdentifier/@ddms:beNumber
ddms:identifier/@ddms:value
ddms:keyword/@ddms:value
ddmsroductionMetric/ddms:subject
ddmsroductionMetric/ddms:coverage
ddms:relatedResource/@ddms:value
ddms:subDivisionCode/@ddms:codespace
ddms:subDivisionCode/@ddms:code

Affected Optional Attributes:
ddms:category/@ddms:code
ddms:extent/@ddms:value
ddms:facilityIdentifier/@ddms:osuffix
ddms:geospatialCoverage/@ddmsrecedence
ddms:language/@ddms:qualifier
ddms:language/@ddms:value
ddms:organization/@ddms:acronym
ddms:source/@ddms:qualifier
ddms:source/@ddms:schemaQualifier
ddms:source/@ddms:value
ddms:taskID/ddms:taskingSystem
ddms:type/@ddms:qualifier
ddms:type/@ddms:value

Affected Required Elements:
ddmserson/ddms:surname
ddms:recordKeeper/ddms:recordKeeperID
ddms:taskID
ddms:title

Affected Optional Elements:
ddms:applicationSoftware
ddms:description
ddms:format/ddms:medium
ddms:format/ddms:mimeType
ddms:geographicIdentifier/ddms:name
ddms:geographicIdentifier/ddms:region
ddms:nonStateActor
ddms:organization/@ddms:subOrganization
ddmserson/ddms:affiliation
ddmserson/ddms:userId
ddmsrocessingInfo
ddms:revisionRecall/@ddms:details
ddms:subtitle
ddms:temporalCoverage/@ddms:name
(AbstractRoleEntity)/ddms:name
(AbstractRoleEntity)/ddms:email
(AbstractRoleEntity)/ddmshone
(ApproximableDate)/ddms:description

Activity

Show:
Brian Uri
March 29, 2013, 7:35 AM

Complete in Rev 807.

  • Documentation on strictness updated.

  • Conditions which were previously warnings through DDMS 4.1 no longer show warnings in DDMS 5.0. (No additional errors are needed, because the bad values will fail schema validation).

  • Unit tests updated.

Fixed

Assignee

Brian Uri

Reporter

Brian Uri

Labels

None

Fix versions

Priority

Medium