- Timestamp:
- 2004-08-23T16:02:45+12:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/metadata/MetadataElement.java
r7978 r8023 1 1 package org.greenstone.gatherer.metadata; 2 3 4 import org.greenstone.gatherer.util.XMLTools; 5 import org.w3c.dom.*; 2 6 3 7 … … 6 10 { 7 11 private String metadata_element_name_full = null; 8 private String metadata_element_description= null;12 private Element metadata_element_element = null; 9 13 private MetadataValueTreeModel metadata_value_tree_model = null; 10 14 11 15 12 public MetadataElement(String metadata_element_name_full, String metadata_element_description)16 public MetadataElement(String metadata_element_name_full, Element metadata_element_element) 13 17 { 14 18 this.metadata_element_name_full = metadata_element_name_full; 15 this.metadata_element_ description = metadata_element_description;19 this.metadata_element_element = metadata_element_element; 16 20 this.metadata_value_tree_model = new MetadataValueTreeModel(this); 17 21 } … … 24 28 25 29 26 public String get Description()30 public String getAttribute(String attribute_name, String language_code) 27 31 { 28 return metadata_element_description; 32 // Some extracted metadata elements may not be in ex.mds, and so have no attributes 33 // if (metadata_element_element == null) { 34 // return null; 35 // } 36 37 Element parent_element = metadata_element_element; 38 boolean language_matches = false; 39 40 NodeList language_elements_nodelist = metadata_element_element.getElementsByTagName("Language"); 41 for (int i = 0; i < language_elements_nodelist.getLength(); i++) { 42 Element current_language_element = (Element) language_elements_nodelist.item(i); 43 String current_language_element_code = current_language_element.getAttribute("code"); 44 if (current_language_element_code.equals(language_code)) { 45 // Found language; use it for the next step 46 parent_element = current_language_element; 47 language_matches = true; 48 break; 49 } 50 } 51 52 NodeList attribute_elements_nodelist = parent_element.getElementsByTagName("Attribute"); 53 for (int i = 0; i < attribute_elements_nodelist.getLength(); i++) { 54 Element current_attribute_element = (Element) attribute_elements_nodelist.item(i); 55 String current_attribute_element_name = current_attribute_element.getAttribute("name"); 56 if (!current_attribute_element_name.equals(attribute_name)) { 57 // Move on to the next Attribute element if the name doesn't match 58 continue; 59 } 60 61 // Check if the language matches 62 String current_attribute_element_language = current_attribute_element.getAttribute("language"); 63 if (language_matches || current_attribute_element_language.equals(language_code)) { 64 // Found attribute; returns its value 65 return XMLTools.getElementTextValue(current_attribute_element); 66 } 67 } 68 69 return null; 29 70 } 30 71
Note:
See TracChangeset
for help on using the changeset viewer.