private void updateElementConference(org.jdom.Element jElement, YElement yElement) { Element conf = JDOMHelper.optDescendant(jElement, "conference"); if (conf != null) { Element confName = JDOMHelper.optDescendant(conf, "conf-name"); Element confDate = JDOMHelper.optDescendant(conf, "conf-date"); Element confNum = JDOMHelper.optDescendant(conf, "conf-num"); Element confLoc = JDOMHelper.optDescendant(conf, "conf-loc"); List<Element> confAcronyms = JDOMHelper.optChildren(conf, "conf-acronym"); if (confName != null) { yElement.addAttribute(NlmToYConstants.AT_CONF_NAME, JDOMHelper.textOfElement(confName)); } if (confDate != null) { yElement.addAttribute(NlmToYConstants.AT_CONF_DATE, JDOMHelper.textOfElement(confDate)); } if (confNum != null) { yElement.addAttribute(NlmToYConstants.AT_CONF_NUM, JDOMHelper.textOfElement(confNum)); } if (confLoc != null) { yElement.addAttribute(NlmToYConstants.AT_CONF_NUM, JDOMHelper.textOfElement(confLoc)); } for (Element confAcronym : confAcronyms) { yElement.addAttribute(NlmToYConstants.AT_CONF_ACRONYM, JDOMHelper.textOfElement(confAcronym)); } } }
private YRichText extractNodeFromElement(Element element, String subElementName) { Element subElement = JDOMHelper.optDescendant(element, subElementName); if (subElement == null) { return null; } YRichText text = y.canonicalName(JDOMHelper.getYLang(subElement), JDOMHelper.textOfElement(subElement)).getRichText(); return text; }
private void updateCategoryRefs(YElement article, org.jdom.Element kg, String type) { List<org.jdom.Element> ks = JDOMHelper.getChildren(kg, "kwd"); for (org.jdom.Element k : ks) { String codeText = JDOMHelper.textOfElement(k).toText(); for (String code : findAllCategoryCodes(codeText, type)) { YCategoryRef ref = new YCategoryRef(type, code); article.addCategoryRef(ref); } } }
private YElement initArticleinBookElement(org.jdom.Element ameta, YElement parent, NlmIdGenerator idGenerator) { org.jdom.Element atitles = JDOMHelper.optDescendant(ameta, "title-group"); org.jdom.Element atitle = JDOMHelper.optDescendant(atitles, "article-title"); org.jdom.Element aabstract = JDOMHelper.getChild(ameta, "abstract"); Element articleId = JDOMHelper.getChildWithGivenAttributeValue(ameta, "article-id", "pub-id-type", "eudml-id"); String eudmlId=articleId==null?null:articleId.getValue(); String id=idGenerator.getBookArticleId(eudmlId); YElement article = factory.element(NlmToYConstants.EXT_HIERARCHY_MBOOK_ARTICLE, NlmToYConstants.EXT_LEVEL_MBOOK_ARTICLE_ARTICLE, y.canonicalName(JDOMHelper.getYLang(atitle), JDOMHelper.textOfElement(atitle)), parent, id) .addDescription(y.description(JDOMHelper.getYLang(aabstract), JDOMHelper.textOfElement(aabstract), DescriptionTypes.DS_ABSTRACT)) .addLanguage(JDOMHelper.getYLang(ameta)); List<org.jdom.Element> trs = JDOMHelper.optChildren(atitles, "trans-title-group"); for (org.jdom.Element tr : trs) { article.addName(y.name(JDOMHelper.getYLang(tr), JDOMHelper.textOfElement(JDOMHelper.getChild(tr, "trans-title")), NameTypes.NM_ALTERNATIVE)); } return article; }
YRichText text = JDOMHelper.textOfElement(element); List<YRichText.Part> parts = new ArrayList<YRichText.Part>();
private void updateKeywords(YElement article, org.jdom.Element kg) { YTagList kwds = new YTagList(YLanguage.English, TagTypes.TG_KEYWORD); List<org.jdom.Element> ks = JDOMHelper.getChildren(kg, "kwd"); for (org.jdom.Element k : ks) { kwds.addValue(JDOMHelper.textOfElement(k)); } Attribute kwdLang = kg.getAttribute("lang", Namespace.XML_NAMESPACE); YLanguage lang = extractYLanguage(kwdLang); if (lang != null) { kwds.setLanguage(lang); } if (kwds.size() > 0) { // System.out.println("[NlmToYTransformer] Adding keywords"); article.addTagList(kwds); } }
YElement article = factory.element(EXT_LEVEL_JOURNAL_ARTICLE, y.canonicalName(JDOMHelper.getYLang(atitle), JDOMHelper.textOfElement(atitle)), parent, idValue); article.addDescription(y.description(JDOMHelper.getYLang(aabstract), JDOMHelper.textOfElement(aabstract), DS_ABSTRACT)); article.addName(y.name(JDOMHelper.getYLang(tr), JDOMHelper.textOfElement(JDOMHelper.getChild(tr, "trans-title")),NameTypes.NM_CANONICAL)); article.addDescription(y.description(JDOMHelper.getYLang(tr), JDOMHelper.textOfElement(tr), "trans-abstract"));
JDOMHelper.textOfElement(btitle)); Element bookId = JDOMHelper.getChildWithGivenAttributeValue(bmeta, "book-id", "pub-id-type", "eudml-id"); String eudmlId=bookId==null?null:bookId.getValue(); org.jdom.Element babstract = JDOMHelper.getChild(bmeta, "abstract"); book.addDescription(y.description(JDOMHelper.getYLang(babstract), JDOMHelper.textOfElement(babstract), DescriptionTypes.DS_ABSTRACT)).addLanguage(JDOMHelper.getYLang(bmeta)); book.addDescription(y.description(JDOMHelper.getYLang(tr), JDOMHelper.textOfElement(tr), "trans-abstract")); book.addName(y.name(JDOMHelper.getYLang(alttitle), JDOMHelper.textOfElement(alttitle), NameTypes.NM_ALTERNATIVE));
/** * Mbook is eudml only so we expect to have eudml id * @param mbmeta nlm book element * @param hierarchy hierachy to set * @param level to set * @param idGenerator - generator for ids * @return generated yelement */ public YElement processMBookElement(Element mbmeta, String hierarchy, String level, NlmIdGenerator idGenerator) { org.jdom.Element btitles = JDOMHelper.optDescendant(mbmeta, "book-title-group"); org.jdom.Element btitle = JDOMHelper.optDescendant(btitles, "book-title"); YName mbookName = y.canonicalName(JDOMHelper.getYLang(btitle), JDOMHelper.textOfElement(btitle)); Element mbookId = JDOMHelper.getChildWithGivenAttributeValue(mbmeta, "book-id", "pub-id-type", "eudml-id"); String eudmlId=mbookId==null?null:mbookId.getValue(); String id= idGenerator.getMbookId(eudmlId); YElement mbook = factory.element(hierarchy, level, mbookName, ROOT, id).addLanguage(JDOMHelper.getYLang(mbmeta)); updater.updateElementIds(mbmeta, mbook, "book-id"); //bwmeta?? updater.updateElementAuthors(mbmeta, mbook); // contributors updater.updateElementPubdate(mbmeta, mbook); updater.updateElementContentLinks(mbmeta, mbook); updater.updateProvider(mbmeta, mbook); updater.updateElementPublisher(mbmeta, mbook); return mbook; }