Skip to content

Or: how many ways can data/service links be provided in an ISO MI record?

Notifications You must be signed in to change notification settings

roomthily/ISO-19115-Distribution-Structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

#How many valid representations can an ISO 19115 (MI/MD) record have?

Starting point for each: minimum_valid_document.xml

Note: I will not be including all empty element structures. That's just padding the result set :/.

Example 1. No distribution.

<gmd:distributionInfo/>

Example 2. A single link in transferOptions

<gmd:distributionInfo>
    <gmd:MD_Distribution>
        <gmd:transferOptions>
            <gmd:MD_DigitalTransferOptions>
                <gmd:onLine>
                    <gmd:CI_OnlineResource>
                        <gmd:linkage>
                            <gmd:URL>www.my_url.com</gmd:URL>
                        </gmd:linkage>
                    </gmd:CI_OnlineResource>
                </gmd:onLine>
            </gmd:MD_DigitalTransferOptions>
        </gmd:transferOptions>
    </gmd:MD_Distribution>
</gmd:distributionInfo>

Example 3. A single link with transfer size

<gmd:distributionInfo>
    <gmd:MD_Distribution>
        <gmd:transferOptions>
            <gmd:MD_DigitalTransferOptions>
                <gmd:transferSize>
                    <gco:Real>10.0</gco:Real>
                </gmd:transferSize>
                <gmd:onLine>
                    <gmd:CI_OnlineResource>
                        <gmd:linkage>
                            <gmd:URL>www.my_url.com</gmd:URL>
                        </gmd:linkage>
                    </gmd:CI_OnlineResource>
                </gmd:onLine>
            </gmd:MD_DigitalTransferOptions>
        </gmd:transferOptions>
    </gmd:MD_Distribution>
</gmd:distributionInfo>

Example 4. A basic distributionFormat block

<gmd:distributionInfo>
    <gmd:MD_Distribution>
        <gmd:distributionFormat>
            <gmd:MD_Format>
                <gmd:name>
                    <gco:CharacterString>A Format</gco:CharacterString>
                </gmd:name>
                <gmd:version>
                    <gco:CharacterString>1.0</gco:CharacterString>
                </gmd:version>
            </gmd:MD_Format>
        </gmd:distributionFormat>
    </gmd:MD_Distribution>
</gmd:distributionInfo>

Example 5. A distribution format with a format distributor (context matters but we'll just consider any URL endpoint here).

<gmd:distributionInfo>
    <gmd:MD_Distribution>
        <gmd:distributionFormat>
            <gmd:MD_Format>
                <gmd:name>
                    <gco:CharacterString>A Format</gco:CharacterString>
                </gmd:name>
                <gmd:version>
                    <gco:CharacterString>1.0</gco:CharacterString>
                </gmd:version>
                <gmd:formatDistributor>
                    <gmd:MD_Distributor>
                        <gmd:distributorContact/>
                        <gmd:distributorTransferOptions>
                            <gmd:MD_DigitalTransferOptions>
                                <gmd:onLine>
                                    <gmd:CI_OnlineResource>
                                        <gmd:linkage>
                                            <gmd:URL>www.my_url.com</gmd:URL>
                                        </gmd:linkage>
                                    </gmd:CI_OnlineResource>
                                </gmd:onLine>
                            </gmd:MD_DigitalTransferOptions>
                        </gmd:distributorTransferOptions>
                    </gmd:MD_Distributor>
                </gmd:formatDistributor>
            </gmd:MD_Format>
        </gmd:distributionFormat>
    </gmd:MD_Distribution>
</gmd:distributionInfo>

Example 6. Basic distributor (seeing a pattern here)

<gmd:distributionInfo>
    <gmd:MD_Distribution>
        <gmd:distributor>
            <gmd:MD_Distributor>
                <gmd:distributorContact/>
                <gmd:distributorTransferOptions>
                    <gmd:MD_DigitalTransferOptions>
                        <gmd:onLine>
                            <gmd:CI_OnlineResource>
                                <gmd:linkage>
                                    <gmd:URL>www.my_url.com</gmd:URL>
                                </gmd:linkage>
                            </gmd:CI_OnlineResource>
                        </gmd:onLine>
                    </gmd:MD_DigitalTransferOptions>
                </gmd:distributorTransferOptions>
            </gmd:MD_Distributor>
        </gmd:distributor>
    </gmd:MD_Distribution>
</gmd:distributionInfo>

Example 7. That really shouldn't be okay.

<gmd:distributionInfo>
    <gmd:MD_Distribution>
        <gmd:distributor>
            <gmd:MD_Distributor>
                <gmd:distributorContact/>
                <gmd:distributorFormat>
                    <gmd:MD_Format>
                        <gmd:name/>
                        <gmd:version/>
                        <gmd:formatDistributor>
                            <gmd:MD_Distributor>
                                <gmd:distributorContact/>
                                <gmd:distributorTransferOptions>
                                    <gmd:MD_DigitalTransferOptions>
                                        <gmd:onLine>
                                            <gmd:CI_OnlineResource>
                                                <gmd:linkage>
                                                    <gmd:URL>www.my_url.com</gmd:URL>
                                                </gmd:linkage>
                                            </gmd:CI_OnlineResource>
                                        </gmd:onLine>
                                    </gmd:MD_DigitalTransferOptions>
                                </gmd:distributorTransferOptions>
                            </gmd:MD_Distributor>
                        </gmd:formatDistributor>
                    </gmd:MD_Format>
                </gmd:distributorFormat>
            </gmd:MD_Distributor>
        </gmd:distributor>
    </gmd:MD_Distribution>
</gmd:distributionInfo>

Example 8. At some point, the codelists need to come into play.

<gmd:distributionInfo>
    <gmd:MD_Distribution>
        <gmd:distributor>
            <gmd:MD_Distributor>
                <gmd:distributorContact/>
                <gmd:distributorFormat>
                    <gmd:MD_Format>
                        <gmd:name></gmd:name>
                        <gmd:version></gmd:version>
                        <gmd:formatDistributor>
                            <gmd:MD_Distributor>
                                <gmd:distributorContact/>
                                <gmd:distributorTransferOptions>
                                    <gmd:MD_DigitalTransferOptions>
                                        <gmd:onLine>
                                            <gmd:CI_OnlineResource>
                                                <gmd:linkage>
                                                    <gmd:URL>www.my_url.com</gmd:URL>
                                                </gmd:linkage>
                                            </gmd:CI_OnlineResource>
                                        </gmd:onLine>
                                    </gmd:MD_DigitalTransferOptions>
                                </gmd:distributorTransferOptions>
                            </gmd:MD_Distributor>
                        </gmd:formatDistributor>
                    </gmd:MD_Format>
                </gmd:distributorFormat>
                <gmd:distributorTransferOptions>
                    <gmd:MD_DigitalTransferOptions>
                        <gmd:onLine>
                            <gmd:CI_OnlineResource>
                                <gmd:linkage>
                                    <gmd:URL>www.my_url.com</gmd:URL>
                                </gmd:linkage>
                            </gmd:CI_OnlineResource>
                        </gmd:onLine>
                    </gmd:MD_DigitalTransferOptions>
                </gmd:distributorTransferOptions>
            </gmd:MD_Distributor>
        </gmd:distributor>
    </gmd:MD_Distribution>
</gmd:distributionInfo>

Example 9. Moving on to Service Metadata. Remember the pattern?

<gmd:identificationInfo>
    <gmd:MD_ServiceIdentification>
        <gmd:citation/>
        <gmd:abstract/>
        <gmd:resourceFormat>
            <gmd:MD_Format>
                <gmd:name/>
                <gmd:version/>
                <gmd:formatDistributor>
                    <gmd:MD_Distributor>
                        <gmd:distributorContact/>
                        <gmd:distributorTransferOptions>
                            <gmd:MD_DigitalTransferOptions>
                                <gmd:onLine>
                                    <gmd:CI_OnlineResource>
                                        <gmd:linkage>
                                            <gmd:URL>www.my_url.com</gmd:URL>
                                        </gmd:linkage>
                                    </gmd:CI_OnlineResource>
                                </gmd:onLine>
                            </gmd:MD_DigitalTransferOptions>
                        </gmd:distributorTransferOptions>
                    </gmd:MD_Distributor>
                </gmd:formatDistributor>
            </gmd:MD_Format>
        </gmd:resourceFormat>
    </gmd:MD_ServiceIdentification>
</gmd:identificationInfo>

Example 10. Proper service identification.

<gmd:identificationInfo>
    <srv:SV_ServiceIdentification>
        <gmd:citation/>
        <gmd:abstract/>
        <srv:serviceType/>
        <srv:couplingType/>
        <srv:containsOperations>
            <srv:SV_OperationMetadata>
                <srv:operationName/>
                <srv:DCP/>
                <srv:connectPoint>
                    <gmd:CI_OnlineResource>
                        <gmd:linkage>
                            <gmd:URL>www.my_url.com</gmd:URL>
                        </gmd:linkage>
                    </gmd:CI_OnlineResource>
                </srv:connectPoint>
            </srv:SV_OperationMetadata>
        </srv:containsOperations>
    </srv:SV_ServiceIdentification>
</gmd:identificationInfo>

And there it is. Looks like just the ten. I am a little disappointed, but, really, some of the difference is related to elements not included here.

About

Or: how many ways can data/service links be provided in an ISO MI record?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published