Changeset 31965 for main/trunk/greenstone3/src/java/org/greenstone
- Timestamp:
- 2017-09-14T14:26:55+12:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/OAIXML.java
r31915 r31965 306 306 } 307 307 308 308 309 public static long getTokenExpiration() { 309 310 return token_expiration*1000; // in milliseconds … … 526 527 } 527 528 528 public static Element getMetadataPrefixElement(Document doc, String prefix, String version) { 529 if (prefix.equals(META_FORMAT_DC)) { 530 //examples of tag_name: dc, oai_dc:dc, etc. 531 String tag_name = getMetadataTagName(prefix, version); 532 Element oai = doc.createElement(tag_name); 533 if (version.equals(OAI_VERSION2)) { 534 oai.setAttribute("xmlns:oai_dc", "http://www.openarchives.org/OAI/2.0/oai_dc/"); 529 public static Element getMetadataPrefixElement(Document doc, String prefix, Element meta_format) { 530 531 Element ns_elem = (Element)GSXML.getChildByTagName(meta_format, METADATA_NAMESPACE); 532 String namespace = null; 533 if (ns_elem != null) { 534 namespace = GSXML.getNodeText(ns_elem); 535 } 536 if (namespace == null || namespace.equals("")) { 537 logger.error("No namespace URI found in metadataFormat elemnt for "+prefix); 538 logger.error(XMLConverter.getPrettyString(meta_format)); 539 return null; 540 } 541 542 Element sc_elem = (Element)GSXML.getChildByTagName(meta_format, SCHEMA); 543 String schema = null; 544 if (sc_elem != null) { 545 schema = GSXML.getNodeText(sc_elem); 546 } 547 if (schema == null || schema.equals("")) { 548 logger.error("No schema found in metadataFormat element for "+prefix); 549 logger.error(XMLConverter.getPrettyString(meta_format)); 550 return null; 551 } 552 553 String tag_name = getMetadataTagName(prefix, oai_version); 554 Element oai = doc.createElement(tag_name); 555 oai.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); 556 557 if (oai_version.equals(OAI_VERSION2)) { 558 oai.setAttribute("xmlns:"+prefix, namespace); 559 if (prefix.equals(META_FORMAT_DC)) { 560 // there seems to be an extra one for dc 535 561 oai.setAttribute("xmlns:dc", "http://purl.org/dc/elements/1.1/"); 536 oai.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); 537 oai.setAttribute("xsi:schemaLocation", "http://www.openarchives.org/OAI/2.0/oai_dc/ \n http://www.openarchives.org/OAI/2.0/oai_dc.xsd"); 562 } 563 oai.setAttribute("xsi:schemaLocation", namespace+" \n "+schema); 564 } else { 565 oai.setAttribute("xmlns", "http://www.openarchives.com/OAI/1.1/"); 566 if (prefix.equals(META_FORMAT_DC)) { 567 oai.setAttribute("xsi:schemaLocation", "http://www.openarchives.org/OAI/1.1/" + tag_name + ".xsd"); 538 568 } else { 539 oai.setAttribute("xmlns", "http://www.openarchives.com/OAI/1.1/"); 540 oai.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); 541 oai.setAttribute("xsi:schemaLocation", "http://www.openarchives.org/OAI/1.1/" + tag_name + ".xsd"); 542 } 543 return oai; 544 } 545 return null; 546 547 } 548 569 oai.setAttribute("xsi:schemaLocation", schema); 570 } 571 } 572 573 return oai; 574 575 } 576 549 577 public static String getMetadataTagName(String prefix, String oai_version) { 550 578 if (prefix.equals(META_FORMAT_DC)) {
Note:
See TracChangeset
for help on using the changeset viewer.