Changeset 8037
- Timestamp:
- 2004-08-24T15:17:16+12:00 (20 years ago)
- Location:
- trunk/gli/src/org/greenstone/gatherer/metadata
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/metadata/MetadataElement.java
r8023 r8037 107 107 108 108 109 /** This is used to display the element in the value table */109 /** This is used to display the element in the metadata value table */ 110 110 public String toString() 111 111 { -
trunk/gli/src/org/greenstone/gatherer/metadata/MetadataSet.java
r8023 r8037 11 11 public class MetadataSet 12 12 { 13 private File metadata_set_file = null; 13 14 private ArrayList metadata_set_elements = new ArrayList(); 14 15 private String metadata_set_namespace = null; … … 17 18 public MetadataSet(File metadata_set_file) 18 19 { 20 this.metadata_set_file = metadata_set_file; 21 19 22 // Parse the specified metadata set file 20 23 Document document = XMLTools.parseXMLFile(metadata_set_file); … … 50 53 51 54 55 public String getAttribute(String attribute_name, String language_code) 56 { 57 // Parse the specified metadata set file 58 Document document = XMLTools.parseXMLFile(metadata_set_file); 59 if (document == null) { 60 System.err.println("Error: Could not parse metadata set file " + metadata_set_file.getAbsolutePath()); 61 return null; 62 } 63 64 Element document_element = document.getDocumentElement(); 65 Element parent_element = document_element; 66 boolean language_matches = false; 67 68 NodeList setlanguage_elements_nodelist = document_element.getElementsByTagName("SetLanguage"); 69 for (int i = 0; i < setlanguage_elements_nodelist.getLength(); i++) { 70 Element current_setlanguage_element = (Element) setlanguage_elements_nodelist.item(i); 71 String current_setlanguage_element_code = current_setlanguage_element.getAttribute("code"); 72 if (current_setlanguage_element_code.equals(language_code)) { 73 // Found language; use it for the next step 74 parent_element = current_setlanguage_element; 75 language_matches = true; 76 break; 77 } 78 } 79 80 NodeList attribute_elements_nodelist = parent_element.getElementsByTagName(attribute_name); 81 for (int i = 0; i < attribute_elements_nodelist.getLength(); i++) { 82 Element current_attribute_element = (Element) attribute_elements_nodelist.item(i); 83 84 // Check if the language matches 85 String current_attribute_element_language = current_attribute_element.getAttribute("language"); 86 if (language_matches || current_attribute_element_language.equals(language_code)) { 87 // Found attribute; returns its value 88 return XMLTools.getElementTextValue(current_attribute_element); 89 } 90 } 91 92 return null; 93 } 94 95 52 96 public MetadataElement getMetadataElement(String metadata_element_name) 53 97 { -
trunk/gli/src/org/greenstone/gatherer/metadata/MetadataTools.java
r8023 r8037 33 33 34 34 35 static public String getMetadataSetAttribute(MetadataSet metadata_set, String attribute_name, String language_code, String fallback_language_code) 36 { 37 String metadata_set_attribute = metadata_set.getAttribute(attribute_name, language_code); 38 39 // If the attribute isn't defined in the desired language, resort to the fallback 40 if (metadata_set_attribute == null && !language_code.equals(fallback_language_code)) { 41 metadata_set_attribute = metadata_set.getAttribute(attribute_name, fallback_language_code); 42 } 43 44 return metadata_set_attribute; 45 } 46 47 35 48 static public String getMetadataSetNamespace(String metadata_element_name_full) 36 49 {
Note:
See TracChangeset
for help on using the changeset viewer.