This proposal does these things:
| The tag names are textual descriptions from the existing specification. | |
| Every field with a numeric tag in the existing spec has an XML representation here. | |
| Every subfield in the existing spec has an XML representation here. | |
| The order of records and elements exactly matches the existing specification. | |
| Use of elements is maximized, of attributes minimized. |
| PRO's | CON's |
| Easy to conceptually understand and map XML elements to ITL-2000 elements (forward translation, and reverse translation). | Complex data relationships that can be expressed in XML are not so expressed. |
| Easy for existing implementations to migrate from ITL-2000 to XML (minimizing reprogramming effort). | Elements are represented as a "row," not a "tree." |
| Does not abandon the proven ANSI/NIST-ITL standard that has been operational for many years. | Does not adopt new biometric models defined by CBEFF or GJXDM. |
| GJXDM can be included as "user data" -- especially the content of the Type-2, User-defined Descriptive Text record. | Has longer tag names than the "LEANER" proposal. |
| CBEFF can be included as an additional record type. | Tag names cannot strictly conform to ISO-11179 and exactly mirror the text descriptions provided by ITL-2000. |
| All rules and data definition for elements exactly conform to the ITL-2000 specification. | This is a proposal, not yet a broadly recognized body of work like GJXDM or CBEFF. |
| Tag names conform partially to the ISO-11179 naming conventions. | Existing GJXDM or CBEFF applications would have to make accomodation (wrapper?) for this model. |
| Schema will have to be developed from scratch. | |
| Needs namespace qualification. | |
| May be difficult to integrate in an enterprise or distributed environment. | |
September 21, 2005: See LEAN HYBRID EXAMPLE
Early LEAN proposal:
<NISTBiometricDataExchangePackage>
<TransactionInformationRecord type="01">
<LogicalRecordLength></LogicalRecordLength>
<VersionNumber>
<MajorVersion></MajorVersion>
<MinorVersion></MinorVersion>
</VersionNumber>
<FileContentSummary>
<ContentFirstRecord>
<RecordType></RecordType>
<RecordCount></RecordCount>
</ContentFirstRecord>
<ContentDataRecords>
<RecordType></RecordType>
<ImageDesignationCharacter></ImageDesignationCharacter>
</ContentDataRecords>
</FileContentSummary>
<TransactionType></TransactionType>
<Date></Date>
<Priority></Priority>
<DestinationAgencyIdentifier></DestinationAgencyIdentifier>
<OriginatingAgencyIdentifier></OriginatingAgencyIdentifier>
<NativeScanningResolution></NativeScanningResolution>
<DomainName>
<FormattingAgency></FormattingAgency>
<Version></Version>
</DomainName>
<GreenwichMeanTime></GreenwichMeanTime>
<CharacterSetDirectory>
<CharacterSetDetail>
<CharacterSetIndexNumber></CharacterSetIndexNumber>
<CharacterSetCommonName></CharacterSetCommonName>
<CharacterSetVersion></CharacterSetVersion>
</CharacterSetDetail>
</CharacterSetDirectory>
</TransactionInformationRecord>
<UserDefinedDescriptiveTextRecord Type="02">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<UserDefinedDescriptiveText>
</UserDefinedDescriptiveText>
</UserDefinedDescriptiveTextRecord>
<LowResolutionGrayscaleFingerprintImageRecord
Type="03">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImpressionType></ImpressionType>
<FingerPosition>
<MostLikelyPosition></MostLikelyPosition>
<OtherLikelyPosition></OtherLikelyPosition>
</FingerPosition>
<ImageScanningResolution></ImageScanningResolution>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<GrayscaleImageCompressionAlgorithm></GrayscaleImageCompressionAlgorithm>
<LowResolutionGrayscaleImageData>
</LowResolutionGrayscaleImageData>
</LowResolutionGrayscaleFingerprintImageRecord>
<HighResolutionGrayscaleFingerprintImageRecord
Type="04">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImpressionType></ImpressionType>
<FingerPosition>
<MostLikelyPosition></MostLikelyPosition>
<OtherLikelyPosition></OtherLikelyPosition>
</FingerPosition>
<ImageScanningResolution></ImageScanningResolution>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<GrayscaleImageCompressionAlgorithm></GrayscaleImageCompressionAlgorithm>
<HighResolutionGrayscaleImageData>
</HighResolutionGrayscaleImageData>
</HighResolutionGrayscaleFingerprintImageRecord>
<LowResolutionBinaryFingerprintImageRecord
Type="05">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImpressionType></ImpressionType>
<FingerPosition>
<MostLikelyPosition></MostLikelyPosition>
<OtherLikelyPosition></OtherLikelyPosition>
</FingerPosition>
<ImageScanningResolution></ImageScanningResolution>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<BinaryImageCompressionAlgorithm></BinaryImageCompressionAlgorithm>
<LowResolutionBinaryImageData>
</LowResolutionBinaryImageData>
</LowResolutionBinaryFingerprintImageRecord>
<HighResolutionBinaryFingerprintImageRecord
Type="06">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImpressionType></ImpressionType>
<FingerPosition>
<MostLikelyPosition></MostLikelyPosition>
<OtherLikelyPosition></OtherLikelyPosition>
</FingerPosition>
<ImageScanningResolution></ImageScanningResolution>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<BinaryImageCompressionAlgorithm></BinaryImageCompressionAlgorithm>
<HighResolutionBinaryImageData>
</HighResolutionBinaryImageData>
</HighResolutionBinaryFingerprintImageRecord>
<UserDefinedImageRecord Type="07">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<UserDefinedBinaryData>
</UserDefinedBinaryData>
</UserDefinedImageRecord>
<SignatureImageRecord Type="08">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<SignatureType></SignatureType>
<SignatureRepresentationType></SignatureRepresentationType>
<ImageScanningResolution></ImageScanningResolution>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<SignatureData>
<UncompressedSignatureImageData>
</UncompressedSignatureImageData>
<CompressedSignatureImageData>
</CompressedSignatureImageData>
<VectoredSignatureImageData>
<SignatureVectorDetail>
<XCoordinate></XCoordinate>
<YCoordinate></YCoordinate>
<PenPressure></PenPressure>
</SignatureVectorDetail>
</VectoredSignatureImageData>
</SignatureData>
</SignatureImageRecord>
<MinutiaeDataRecord Type="09">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImpressionType></ImpressionType>
<MinutiaeFormat></MinutiaeFormat>
<OriginatingFingerprintReadingSystem>
<SystemName></SystemName>
<MinutiaeMethod></MinutiaeMethod>
<SubsystemDesignator></SubsystemDesignator>
</OriginatingFingerprintReadingSystem>
<FingerPosition>
<FingerPositionCode></FingerPositionCode>
</FingerPosition>
<FingerprintPatternClassification>
<PrimaryPatternClassification>
<CodeSource></CodeSource>
<PatternCode></PatternCode>
</PrimaryPatternClassification>
<ReferencePatternClassification>
<CodeSource></CodeSource>
<PatternCode></PatternCode>
</ReferencePatternClassification>
<CorePosition>
<CorePositionDetail>
<XCoordinate></XCoordinate>
<YCoordinate></YCoordinate>
</CorePositionDetail>
</CorePosition>
<DeltaPosition>
<DeltaPositionDetail>
<XCoordinate></XCoordinate>
<YCoordinate></YCoordinate>
</DeltaPositionDetail>
</DeltaPosition>
<NumberOfMinutiae></NumberOfMinutiae>
<MinutiaeRidgeCountIndicator></MinutiaeRidgeCountIndicator>
<MinutiaeAndRidgeCountData>
<MinutiaeAndRidgeCountDetail>
<IndexNumber></IndexNumber>
<MinutiaeLocationInformation>
<FingerprintMinutiae>
<XCoordinate></XCoordinate>
<YCoordinate></YCoordinate>
<ThetaAngle></ThetaAngle>
</FingerprintMinutiae>
<PalmprintMinutiae>
<XCoordinate></XCoordinate>
<YCoordinate></YCoordinate>
<ThetaAngle></ThetaAngle>
</PalmprintMinutiae>
</MinutiaeLocationInformation>
<QualityMeasure></QualityMeasure>
<TypeDesignation></TypeDesignation>
<RidgeCountInformation>
<RidgeCount>
<IndexNumber></IndexNumber>
<Count></Count>
</RidgeCount>
</RidgeCountInformation
<MinutiaeAndRidgeCountDetail>
</MinutiaeAndRidgeCountData>
</FingerprintPatternClassification>
</MinutiaeDataRecord>
<FacialAndSMTImageRecord Type="10">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImageType></ImageType>
<SourceAgency></SourceAgency>
<PhotoDate></PhotoDate>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<ScaleUnits></ScaleUnits>
<HorizontalPixelScale></HorizontalPixelScale>
<VerticalPixelScale></VerticalPixelScale>
<CompressionAlgorithm></CompressionAlgorithm>
<ColorSpace></ColorSpace>
<SubjectPose></SubjectPose>
<PoseOffsetAngle></PoseOffsetAngle>
<PhotoDescription>
<FacialImageAttribute></FacialImageAttribute>
<AttributeCode></AttributeCode>
<PhysicalOrOtherDetail></PhysicalOrOtherDetail>
</PhotoDescription>
<NCICDesignationCode>
<SMTCode></SMTCode>
</NCICDesignationCode>
<ScarMarkTattooSize>
<SMTHeight></SMTHeight>
<SMTWidth></SMTWidth>
</ScarMarkTattooSize>
<ScarMarkTattooDescriptors>
<SMTDescriptorDetail>
<ImageSource></ImageSource>
<TattooClass></TattooClass>
<TattooSubClass></TattooSubClass>
<DescriptionText></DescriptionText>
</SMTDescriptorDetail>
</ScarMarkTattooDescriptors>
<ColorsPresent>
<SMTColorDetail>
<PredominateColor></PredominateColor>
<OtherColor></OtherColor>
</SMTColorDetail>
</ColorsPresent>
<ImageData>
</ImageData>
</FacialAndSMTImageRecord>
<ReservedRecord Type="11">
</ReservedRecord>
<ReservedRecord Type="12">
</ReservedRecord>
<VariableResolutionLatentImageRecord Type="13">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImpressionType></ImpressionType>
<SourceAgency></SourceAgency>
<LatentCaptureDate></LatentCaptureDate>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<ScaleUnits></ScaleUnits>
<HorizontalPixelScale></HorizontalPixelScale>
<VerticalPixelScale></VerticalPixelScale>
<CompressionAlgorithm></CompressionAlgorithm>
<BitsPerPixel></BitsPerPixel>
<FingerPosition>
<FingerPositionCode></FingerPositionCode>
</FingerPosition>
<Comment></Comment>
<UserDefinedData>
</UserDefinedData>
<ImageData>
</ImageData>
</VariableResolutionLatentImageRecord>
<VariableResolutionTenprintImageRecord
Type="14">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImpressionType></ImpressionType>
<SourceAgency></SourceAgency>
<TenprintCaptureDate></TenprintCaptureDate>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<ScaleUnits></ScaleUnits>
<HorizontalPixelScale></HorizontalPixelScale>
<VerticalPixelScale></VerticalPixelScale>
<CompressionAlgorithm></CompressionAlgorithm>
<BitsPerPixel></BitsPerPixel>
<FingerPosition>
<FingerPositionCode></FingerPositionCode>
</FingerPosition>
<Comment></Comment>
<UserDefinedData>
</UserDefinedData>
<ImageData>
</ImageData>
</VariableResolutionTenprintImageRecord>
<VariableResolutionPalmprintImageRecord
Type="15">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<ImpressionType></ImpressionType>
<SourceAgency></SourceAgency>
<PalmprintCaptureDate></PalmprintCaptureDate>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<ScaleUnits></ScaleUnits>
<HorizontalPixelScale></HorizontalPixelScale>
<VerticalPixelScale></VerticalPixelScale>
<CompressionAlgorithm></CompressionAlgorithm>
<BitsPerPixel></BitsPerPixel>
<FingerPosition>
<FingerPositionCode></FingerPositionCode>
</FingerPosition>
<Comment></Comment>
<UserDefinedData>
</UserDefinedData>
<ImageData>
</ImageData>
</VariableResolutionPalmprintImageRecord>
<UserDefinedTestingImageRecord Type="16">
<LogicalRecordLength></LogicalRecordLength>
<ImageDesignationCharacter></ImageDesignationCharacter>
<UserDefinedData>
</UserDefinedData>
<HorizontalLineLength></HorizontalLineLength>
<VerticalLineLength></VerticalLineLength>
<ScaleUnits></ScaleUnits>
<HorizontalPixelScale></HorizontalPixelScale>
<VerticalPixelScale></VerticalPixelScale>
<CompressionAlgorithm></CompressionAlgorithm>
<BitsPerPixel></BitsPerPixel>
<UserDefinedData>
</UserDefinedData>
<ImageData>
</ImageData>
</UserDefinedTestingImageRecord>
</NISTBiometricDataExchangePackage>