Changeset 2774
- Timestamp:
- 04/04/13 14:09:29 (11 years ago)
- Location:
- vlo/trunk/vlo_importer
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/FacetConstants.java
r2768 r2774 30 30 public static final String FIELD_CLARIN_PROFILE = "_componentProfile"; 31 31 public static final String FIELD_SEARCH_SERVICE = "_contentSearchRef"; 32 public static final String FIELD_LANDINGPAGE = "_landingPageRef"; 32 33 33 34 // PREFIX URL for the language-link -
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/config/ConfigFilePersister.java
r2768 r2774 4 4 import java.io.File; 5 5 import java.io.InputStream; 6 import java.util.logging.Level;7 6 import org.simpleframework.xml.core.Persister; 8 7 … … 136 135 Object object = null; 137 136 138 // try to resolve the absolute name of configuration file to a stream137 // try to resolve the absolute name of the configuration file to a stream 139 138 InputStream sourceAsStream; 140 139 sourceAsStream = ConfigFilePersister.class.getResourceAsStream(fileName); -
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/config/DataRoot.java
r2768 r2774 7 7 8 8 /** 9 * A dataRoot describes the met data sources.9 * A dataRoot describes the meta data sources. 10 10 * 11 11 * In an XML file, a dataRoot is reflected like this:<br><br> -
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/config/VloConfig.java
r2768 r2774 140 140 config = new VloConfig(); 141 141 } 142 143 // set lists to null because otherwise Simple will not overwrite it 144 dataRoots = null; 142 145 143 146 // get the XML file configuration from the file -
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/importer/CMDIData.java
r2768 r2774 1 1 package eu.clarin.cmdi.vlo.importer; 2 2 3 import eu.clarin.cmdi.vlo.FacetConstants; 3 4 import java.util.ArrayList; 4 5 import java.util.Collection; 5 6 import java.util.List; 6 7 7 import org.apache.solr.common.SolrInputDocument; 8 8 import org.slf4j.Logger; 9 9 import org.slf4j.LoggerFactory; 10 11 import eu.clarin.cmdi.vlo.FacetConstants;12 10 13 11 /** … … 21 19 private static final String DATA_RESOURCE_TYPE = "Resource"; 22 20 private static final String SEARCH_SERVICE_TYPE = "SearchService"; 21 private static final String LANDING_PAGE_TYPE = "LandingPage"; 23 22 24 23 /** … … 26 25 */ 27 26 private String id; 27 28 28 /** 29 29 * The associated solr document (not send to the solr server yet) … … 35 35 private final List<Resource> dataResources = new ArrayList<Resource>(); 36 36 private final List<Resource> searchResources = new ArrayList<Resource>(); 37 private final List<Resource> landingPageResources = new ArrayList<Resource>(); 37 38 38 39 public SolrInputDocument getSolrDocument() { … … 41 42 42 43 /** 43 * Sets a field in the doc to a certain value. Well, at least calls another (private) method that actually does this. 44 * Sets a field in the doc to a certain value. Well, at least calls another 45 * (private) method that actually does this. 44 46 * @param name 45 47 * @param value … … 92 94 93 95 /** 94 * Processes a resource by adding it to the internal lists. 95 * Supports metadata, data, and search service type of resources. 96 * Emits a warning if another type of resource is encountered (not allowed according to the cmdi spec, but we try to be a tad robust). 96 * Return a list of landing page resources 97 */ 98 public List<Resource> getLandingPageResources() { 99 return landingPageResources; 100 } 101 102 /** 103 * Processes a resource by adding it to the internal lists. Supports meta 104 * data, data, search service and landing page type of resources. Emits a 105 * warning if another type of resource is encountered (not allowed according 106 * to the cmdi spec, but we try to be a tad robust). 107 * 97 108 * @param resource 98 109 * @param type … … 106 117 } else if (SEARCH_SERVICE_TYPE.equals(type)){ 107 118 searchResources.add(new Resource(resource,type, mimeType)); 119 } else if (LANDING_PAGE_TYPE.equals(type)){ 120 landingPageResources.add(new Resource(resource,type, mimeType)); 108 121 } else { 109 LOG.warn("Found unsupported resource it will be ignored: type=" + type + ", name=" + resource); 122 LOG.warn("Found unsupported resource it will be ignored: type=" + 123 type + ", name=" + resource); 110 124 } 111 125 } … … 118 132 return id; 119 133 } 120 121 134 } -
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/importer/CMDIParserVTDXML.java
r2768 r2774 21 21 private final Map<String, PostProcessor> postProcessors; 22 22 private final static Logger LOG = LoggerFactory.getLogger(CMDIParserVTDXML.class); 23 24 23 25 24 public CMDIParserVTDXML(Map<String, PostProcessor> postProcessors) { … … 99 98 return result; 100 99 } 101 100 101 /* 102 * kj: describe 103 */ 102 104 private void processResources(CMDIData result, VTDNav nav) throws VTDException { 105 103 106 AutoPilot resourceProxy = new AutoPilot(nav); 104 107 resourceProxy.selectXPath("/c:CMD/c:Resources/c:ResourceProxyList/c:ResourceProxy"); 108 105 109 AutoPilot resourceRef = new AutoPilot(nav); 106 110 resourceRef.selectXPath("c:ResourceRef"); … … 109 113 AutoPilot resourceMimeType = new AutoPilot(nav); 110 114 resourceMimeType.selectXPath("c:ResourceType/@mimetype"); 115 111 116 while (resourceProxy.evalXPath() != -1) { 112 117 String ref = resourceRef.evalXPathToString(); 113 118 String type = resourceType.evalXPathToString(); 114 119 String mimeType = resourceMimeType.evalXPathToString(); 115 if (ref != "" && type != "") { 120 121 // if (!ref.equals("") && !type.equals("")){ 122 if (!ref.equals("")){ 123 // mime type is allowed to be an empty string, kj: check if this is allowed in general 116 124 result.addResource(ref, type, mimeType); 117 125 } -
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/importer/MetadataImporter.java
r2768 r2774 294 294 295 295 solrDocument.addField(FacetConstants.FIELD_COMPLETE_METADATA, metadataSourceUrl); 296 296 297 297 // add SearchServices (should be CQL endpoint) 298 for(Resource resource : cmdiData.getSearchResources()) 299 solrDocument.addField(FacetConstants.FIELD_SEARCH_SERVICE, resource.getResourceName()); 298 for (Resource resource : cmdiData.getSearchResources()) { 299 solrDocument.addField(FacetConstants.FIELD_SEARCH_SERVICE, resource.getResourceName()); 300 } 301 302 // add landing page resource 303 for (Resource resource : cmdiData.getLandingPageResources()) { 304 solrDocument.addField(FacetConstants.FIELD_LANDINGPAGE, resource.getResourceName()); 305 } 300 306 301 307 addResourceData(solrDocument, cmdiData); … … 419 425 String message; 420 426 421 message = "Could not get config uration file name via the command line.";422 LOG. error(message);427 message = "Could not get config file name via the command line, trying the system properties."; 428 LOG.info(message); 423 429 424 430 String key; -
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/importer/NationalProjectPostProcessor.java
r2768 r2774 4 4 import java.io.File; 5 5 import java.io.IOException; 6 import java.io.InputStream; 6 7 import java.util.HashMap; 7 8 import java.util.Map; … … 61 62 domFactory.setNamespaceAware(true); 62 63 63 File mappingFile = new File(mappingFileName); 64 if(!mappingFile.exists()) { // mapping file not accessible? 65 LOG.info("National project mapping file does not exist - using minimal test file."); 66 mappingFile = createMinimalMappingFile(); 64 DocumentBuilder builder = domFactory.newDocumentBuilder(); 65 Document doc; 66 67 // File mappingFile = new File(mappingFileName); 68 69 // first, try to open the packaged mapping file 70 InputStream mappingFileAsStream; 71 mappingFileAsStream = NationalProjectPostProcessor.class.getResourceAsStream(mappingFileName); 72 73 if (mappingFileAsStream != null) { 74 doc = builder.parse(mappingFileAsStream); 75 } else { 76 77 // the resource cannot be found inside the package, try outside 78 File mappingAsFile; 79 80 mappingAsFile = new File(mappingFileName); 81 82 if (mappingAsFile == null) { 83 LOG.info("National project mapping file does not exist - using minimal test file."); 84 mappingAsFile = createMinimalMappingFile(); 85 } 86 doc = builder.parse(mappingAsFile); 67 87 } 68 DocumentBuilder builder = domFactory.newDocumentBuilder(); 69 Document doc = builder.parse(mappingFile); 88 70 89 XPath xpath = XPathFactory.newInstance().newXPath(); 71 90 NodeList nodeList = (NodeList) xpath.evaluate("//nationalProjectMapping", doc, XPathConstants.NODESET); -
vlo/trunk/vlo_importer/src/main/java/eu/clarin/cmdi/vlo/importer/ResourceTypePostProcessor.java
r2768 r2774 22 22 } 23 23 24 /* 25 * kj: mime type versus resource type 26 */ 24 27 private Map<String, String> getResourceTypeMap() { 25 28 if (resourceTypeMap == null) { -
vlo/trunk/vlo_importer/src/main/resources/VloConfig.xml
r2768 r2774 1 < webAppConfig>1 <VloConfig> 2 2 3 3 <deleteAllFirst>false</deleteAllFirst> … … 7 7 <printMapping>false</printMapping> 8 8 9 <dataRoots >9 <dataRoots length="3"> 10 10 <DataRoot> 11 11 <originName>MPI IMDI Archive</originName> … … 45 45 <imdiBrowserUrl>http://corpus1.mpi.nl/ds/imdi_browser?openpath=</imdiBrowserUrl> 46 46 47 <nationalProjectMapping> nationalProjectsMapping.xml</nationalProjectMapping>47 <nationalProjectMapping>/nationalProjectsMapping.xml</nationalProjectMapping> 48 48 49 49 <facetFields length="10"> … … 69 69 70 70 <FederatedContentSearchUrl>http://weblicht.sfs.uni-tuebingen.de/Aggregator/</FederatedContentSearchUrl> 71 </ webAppConfig>71 </VloConfig> -
vlo/trunk/vlo_importer/src/test/java/eu/clarin/cmdi/vlo/config/VloConfigTest.java
r2768 r2774 399 399 System.out.println("getNationalProjectMapping"); 400 400 401 String expResult = " nationalProjectsMapping.xml";401 String expResult = "/nationalProjectsMapping.xml"; 402 402 String result = VloConfig.getNationalProjectMapping(); 403 403 -
vlo/trunk/vlo_importer/xsdMapping.txt
r2768 r2774 1 This file is generated on Mar 8, 2013 1:59:24PM and only used to document the mapping.1 This file is generated on Apr 4, 2013 2:14:56 PM and only used to document the mapping. 2 2 This file contains xsd name and a list of conceptName with xpath mappings that are generated. 3 3 --------------------- 4 http:// www.openarchives.org/OAI/2.0/oai_dc.xsd4 http://catalog.clarin.eu/ds/ComponentRegistry/rest/registry/profiles/clarin.eu:cr1:p_1349361150622/xsd 5 5 FacetName:id 6 6 Mappings: 7 7 /c:CMD/c:Header/c:MdSelfLink/text() 8 /c:CMD/c:Components/c:data/c:resourceInfo/c:identificationInfo/c:identifier/text() 8 9 FacetName:collection 9 10 Mappings: 10 11 /c:CMD/c:Header/c:MdCollectionDisplayName/text() 12 FacetName:projectName 13 Mappings: 14 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceCreationInfo/c:fundingProject/c:projectName/text() 11 15 FacetName:name 12 16 Mappings: 13 /c:CMD/c:Components/c:LrtInventoryResource/c:LrtCommon/c:ResourceName/text() 17 /c:CMD/c:Components/c:data/c:resourceInfo/c:identificationInfo/c:resourceName/text() 18 /c:CMD/c:Components/c:data/c:OLAC-DcmiTerms/c:title/text() 14 19 FacetName:country 15 20 Mappings: … … 18 23 FacetName:language 19 24 Mappings: 20 /c:CMD/c:Components/c:OLAC-DcmiTerms/c:language/@olac-language 21 /c:CMD/c:Components/c:OLAC-DcmiTerms/c:subject/@olac-language 22 /c:CMD/c:Components/c:LrtInventoryResource/c:LrtCommon/c:Languages/c:ISO639/c:iso-639-3-code/text() 25 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusTextInfo/c:languageInfo/c:languageId/text() 26 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusAudioInfo/c:languageInfo/c:languageId/text() 27 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusVideoInfo/c:languageInfo/c:languageId/text() 28 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusImageInfo/c:languageInfo/c:languageId/text() 29 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionTextInfo/c:languageInfo/c:languageId/text() 30 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionVideoInfo/c:languageInfo/c:languageId/text() 31 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionImageInfo/c:languageInfo/c:languageId/text() 32 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceTextInfo/c:languageInfo/c:languageId/text() 33 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceAudioInfo/c:languageInfo/c:languageId/text() 34 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceVideoInfo/c:languageInfo/c:languageId/text() 35 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceImageInfo/c:languageInfo/c:languageId/text() 36 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusTextInfo/c:languageInfo/c:languageName/text() 37 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusAudioInfo/c:languageInfo/c:languageName/text() 38 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusVideoInfo/c:languageInfo/c:languageName/text() 39 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusImageInfo/c:languageInfo/c:languageName/text() 40 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionTextInfo/c:languageInfo/c:languageName/text() 41 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionVideoInfo/c:languageInfo/c:languageName/text() 42 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionImageInfo/c:languageInfo/c:languageName/text() 43 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceTextInfo/c:languageInfo/c:languageName/text() 44 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceAudioInfo/c:languageInfo/c:languageName/text() 45 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceVideoInfo/c:languageInfo/c:languageName/text() 46 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceImageInfo/c:languageInfo/c:languageName/text() 23 47 FacetName:languages 24 48 Mappings: 25 /c:CMD/c:Components/c:OLAC-DcmiTerms/c:language/@olac-language 26 /c:CMD/c:Components/c:OLAC-DcmiTerms/c:subject/@olac-language 27 /c:CMD/c:Components/c:LrtInventoryResource/c:LrtCommon/c:Languages/c:ISO639/c:iso-639-3-code/text() 49 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusTextInfo/c:languageInfo/c:languageId/text() 50 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusAudioInfo/c:languageInfo/c:languageId/text() 51 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusVideoInfo/c:languageInfo/c:languageId/text() 52 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusImageInfo/c:languageInfo/c:languageId/text() 53 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionTextInfo/c:languageInfo/c:languageId/text() 54 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionVideoInfo/c:languageInfo/c:languageId/text() 55 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionImageInfo/c:languageInfo/c:languageId/text() 56 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceTextInfo/c:languageInfo/c:languageId/text() 57 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceAudioInfo/c:languageInfo/c:languageId/text() 58 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceVideoInfo/c:languageInfo/c:languageId/text() 59 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceImageInfo/c:languageInfo/c:languageId/text() 60 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusTextInfo/c:languageInfo/c:languageName/text() 61 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusAudioInfo/c:languageInfo/c:languageName/text() 62 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusVideoInfo/c:languageInfo/c:languageName/text() 63 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:corpusInfo/c:corpusMediaType/c:corpusImageInfo/c:languageInfo/c:languageName/text() 64 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionTextInfo/c:languageInfo/c:languageName/text() 65 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionVideoInfo/c:languageInfo/c:languageName/text() 66 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:languageDescriptionInfo/c:languageDescriptionMediaType/c:languageDescriptionImageInfo/c:languageInfo/c:languageName/text() 67 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceTextInfo/c:languageInfo/c:languageName/text() 68 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceAudioInfo/c:languageInfo/c:languageName/text() 69 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceVideoInfo/c:languageInfo/c:languageName/text() 70 /c:CMD/c:Components/c:data/c:resourceInfo/c:resourceComponentType/c:lexicalConceptualResourceInfo/c:lexicalConceptualResourceMediaType/c:lexicalConceptualResourceImageInfo/c:languageInfo/c:languageName/text() 71 FacetName:organisation 72 Mappings: 73 /c:CMD/c:Components/c:data/c:resourceInfo/c:contactPerson/c:affiliation/c:organizationName/text() 74 /c:CMD/c:Components/c:data/c:OLAC-DcmiTerms/c:publisher/text() 28 75 FacetName:genre 29 76 Mappings: … … 31 78 FacetName:subject 32 79 Mappings: 33 /c:CMD/c:Components/c:OLAC-DcmiTerms/c:subject/@olac-linguistic-field 34 /c:CMD/c:Components/c:OLAC-DcmiTerms/c:subject[@dcterms-type="LCSH"]/text() 80 /c:CMD/c:Components/c:data/c:OLAC-DcmiTerms/c:subject/text() 81 FacetName:description 82 Mappings: 83 /c:CMD/c:Components/c:data/c:resourceInfo/c:identificationInfo/c:description/text() 84 /c:CMD/c:Components/c:data/c:OLAC-DcmiTerms/c:description/text() 35 85 FacetName:resourceType 36 86 Mappings: 37 /c:CMD/c:Components/c:LrtInventoryResource/c:LrtCommon/c:ResourceType/text() 38 /c:CMD/c:Components/c:OLAC-DcmiTerms/c:type/text() 87 /c:CMD/c:Components/c:data/c:OLAC-DcmiTerms/c:type/text() 39 88 FacetName:nationalProject 40 89 Mappings:
Note: See TracChangeset
for help on using the changeset viewer.