Mercurial > hg > eSciDocImport
view src/de/mpiwg/itgroup/eSciDoc/Tools/DRI/ConvertXMLToDRIList.java @ 11:ecd66e70cb65
Tools for adding and changing DRIs in index.meta
author | dwinter |
---|---|
date | Thu, 26 Jul 2012 11:24:03 +0200 |
parents | |
children | 94ea06e32003 |
line wrap: on
line source
package de.mpiwg.itgroup.eSciDoc.Tools.DRI; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.List; import org.jdom.Attribute; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.Namespace; import org.jdom.input.SAXBuilder; import org.jdom.xpath.XPath; import de.mpiwg.itgroup.eSciDoc.Tools.EScidocTools; import de.mpiwg.itgroup.eSciDoc.utils.EScidocNameSpaceContext; public class ConvertXMLToDRIList { private File inFile; private File outFile; public ConvertXMLToDRIList(String inFile, String outFile){ this.inFile=new File(inFile); this.outFile=new File(outFile); } public void convert() throws JDOMException, IOException{ SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(inFile); XPath xp = EScidocTools.getESciDocXpath("//escidocItem:item"); List<Element> res = xp.selectNodes(doc); FileWriter out = new FileWriter(outFile); for (Element el:res){ XPath apPath = EScidocTools.getESciDocXpath(".//mpiwg:archivePath"); Element ap = (Element) apPath.selectSingleNode(el); String path = ap.getTextTrim(); //XPath propPath = EScidocTools.getESciDocXpath("./escidocItem:properties"); //Element prop = (Element) propPath.selectSingleNode(el); Namespace xlNs = Namespace.getNamespace(EScidocNameSpaceContext.xlink); Attribute attr = el.getAttribute("href", xlNs); String[] splitted = attr.getValue().split("/"); String id = splitted[splitted.length-1]; out.write(String.format("%s\t%s\n", path,id)); } out.close(); } public static void main(String[] args) throws IOException, JDOMException { if (args.length <2){ System.out.print("USAGE: fileIN filenOUT"); System.exit(0); } ConvertXMLToDRIList cv = new ConvertXMLToDRIList(args[0], args[1]); cv.convert(); } }