当前位置: 首页>>代码示例>>Java>>正文


Java VTDNav.toElement方法代码示例

本文整理汇总了Java中com.ximpleware.VTDNav.toElement方法的典型用法代码示例。如果您正苦于以下问题:Java VTDNav.toElement方法的具体用法?Java VTDNav.toElement怎么用?Java VTDNav.toElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.ximpleware.VTDNav的用法示例。


在下文中一共展示了VTDNav.toElement方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: insertVersionIntoOriginalIfNecessary

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void insertVersionIntoOriginalIfNecessary(final String pOwnVersionOrNull)
		throws ModifyException, NavException, UnsupportedEncodingException, IOException, TranscodeException {
	if (pOwnVersionOrNull != null) {
		final VTDGen gen = new VTDGen();
		gen.enableIgnoredWhiteSpace(true);
		final XMLModifier modifier = new XMLModifier();

		if (gen.parseFile(file.getAbsolutePath(), false)) {
			final VTDNav vn = gen.getNav();
			modifier.bind(vn);

			if (vn.toElement(FC, ARTIFACT_ID)) {
				final long l = vn.expandWhiteSpaces(vn.getElementFragment(), WS_LEADING);
				final ByteArrayOutputStream out = new ByteArrayOutputStream();
				vn.dumpFragment(l, out);
				final String version = new String(out.toByteArray()).replaceAll(ARTIFACT_ID_PATTERN,
						format(VERSION_FORMAT, pOwnVersionOrNull));
				modifier.insertAfterElement(version);
			}
		}

		try (final FileOutputStream out = new FileOutputStream(file)) {
			modifier.output(out);
		}
	}
}
 
开发者ID:SourcePond,项目名称:release-maven-plugin-parent,代码行数:27,代码来源:VersionTransferWriter.java

示例2: parseCorefs

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
 * Assumes the position of vn is at a "DOC" tag
 */
private List<AgigaCoref> parseCorefs(VTDNav vn) throws PilotException, NavException {
    require (vn.matchElement(AgigaConstants.DOC));
    
    List<AgigaCoref> agigaCorefs = new ArrayList<AgigaCoref>();
    if (!vn.toElement(VTDNav.FIRST_CHILD, AgigaConstants.COREFERENCES)) {
        // If there is no coref annotation return the empty list
        log.finer("No corefs found");
        return agigaCorefs;
    }

    // Loop through each token
    AutoPilot corefAp = new AutoPilot(vn);
    corefAp.selectElement(AgigaConstants.COREFERENCE);
    while (corefAp.iterate()) {
        AgigaCoref coref = parseCoref(vn.cloneNav());
        agigaCorefs.add(coref);
    }
    return agigaCorefs;
}
 
开发者ID:mgormley,项目名称:agiga,代码行数:23,代码来源:AgigaDocumentReader.java

示例3: parse

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private List<Item> parse(VTDNav navigator) throws Exception 
{ List<Item> items = new ArrayList<Item>();

  navigator.push();
  
  if (navigator.toElement(VTDNav.FIRST_CHILD,ITEM))
     { do { String id          = attribute(navigator,ID);
         	 String name        = attribute(navigator,NAME);
         	 String grade       = attribute(navigator,GRADE);
         	 String stars       = attribute(navigator,STARS);
         	 String rated       = attribute(navigator,RATED);
         	 String order       = attribute(navigator,ORDER);
         	 String description = description(navigator);
         	 Item   item        = new Item(id,name,grade,stars,rated,order,description);

         	 originated(navigator,item);
         	 checked   (navigator,item);
         
         	 items.add (item);
          } while(navigator.toElement(VTDNav.NEXT_SIBLING,ITEM));
       }

  navigator.pop();
  
  return items;
}
 
开发者ID:twystd,项目名称:tbxml-android,代码行数:27,代码来源:VTD.java

示例4: initTmxVersion

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void initTmxVersion(VTDNav vn) throws NavException {
	vn.toElement(VTDNav.ROOT);
	int rootIdx = vn.getCurrentIndex();
	if (vn.toString(rootIdx).equalsIgnoreCase("tmx")) {
		int t = vn.getAttrVal("version");
		if (t != -1) {
			tmxVersion = vn.toString(t);
		}
	}
	for (int i = 0; i < rootIdx; i++) {
		int ty = vn.getTokenType(i);
		if (ty == VTDNav.TOKEN_DTD_VAL) {
			doctypeContent = vn.toString(i);
		}
	}
}
 
开发者ID:heartsome,项目名称:tmxeditor8,代码行数:17,代码来源:TmxLargeFileContainer.java

示例5: getSegPureText

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private String getSegPureText(VTDUtils vu) throws VTDException {
	VTDNav vn = vu.getVTDNav();
	String pureText = null;
	if (vn.toElement(VTDNav.FIRST_CHILD)) { // 取seg内容
		String nodeName = vn.toRawString(vn.getCurrentIndex());
		if (nodeName.equalsIgnoreCase("seg")) {
			pureText = TmxInnerTagParser.getInstance().getTmxPureText(vu.getElementContent());
		} else {
			vn.push();
			while (vn.toElement(VTDNav.NEXT_SIBLING)) {
				nodeName = vn.toRawString(vn.getCurrentIndex());
				if (nodeName.equalsIgnoreCase("seg")) {
					pureText = TmxInnerTagParser.getInstance().getTmxPureText(vu.getElementContent());
					break;
				}
			}
			vn.pop();
		}
	}
	return pureText;
}
 
开发者ID:heartsome,项目名称:tmxeditor8,代码行数:22,代码来源:TmxLargeFileDataAccess.java

示例6: moveToSibling

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
 * Moves the cursor to an element (sibling) with given name and position
 * (the nth element with he same name starting to count at 0)
 * 
 * @param vtdNav vtdXML navigator
 * @param elementName name of element
 * @param skipElements index of element starting with 0
 * @return true if element found
 * @throws NavException
 */
private boolean moveToSibling(VTDNav vtdNav, String elementName, Integer skipElements)
        throws NavException {
    boolean foundElement = false;
    // counter for elements with elementName
    Integer currentPosition = 0;
    // iterate siblings until element found or no other siblings
    do {
        // break if element with position found and return true
        if (vtdNav.matchTokenString(vtdNav.getCurrentIndex(), elementName)) {
            if (skipElements == currentPosition) {
                foundElement = true;
                break;
            }
            currentPosition++;
        }
    } while (vtdNav.toElement(VTDNav.NEXT_SIBLING));
    return foundElement;
}
 
开发者ID:chsatgithub,项目名称:PANDA-DEEPLINKING,代码行数:29,代码来源:DataWordVtdResource.java

示例7: parseHeadline

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
 * Parses out the HEADLINE element, which is a parse of the dateline if it exists.
 * 
 * Assumes the position of vn is at a "DOC" tag
 */
private String parseHeadline(VTDNav vn) throws NavException {
    require (vn.matchElement(AgigaConstants.DOC));        
    if (!vn.toElement(VTDNav.FIRST_CHILD, AgigaConstants.HEADLINE) || vn.getText() == -1) {
        // If there is no headline annotation return the empty list
        log.finer("No headline found");
        return null;
    }
    return vn.toString(vn.getText()).trim();
}
 
开发者ID:mgormley,项目名称:agiga,代码行数:15,代码来源:AgigaDocumentReader.java

示例8: parseDateline

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
 * Parses out the DATELINE element, which is a parse of the dateline if it exists.
 * 
 * Assumes the position of vn is at a "DOC" tag
 */
private String parseDateline(VTDNav vn) throws NavException {
    require (vn.matchElement(AgigaConstants.DOC));        
    if (!vn.toElement(VTDNav.FIRST_CHILD, AgigaConstants.DATELINE) || vn.getText() == -1) {
        // If there is no dateline annotation return the empty list
        log.finer("No dateline found");
        return null;
    }
    return vn.toString(vn.getText()).trim();
}
 
开发者ID:mgormley,项目名称:agiga,代码行数:15,代码来源:AgigaDocumentReader.java

示例9: getFirstChild

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
public XmlNode getFirstChild() {
  try {
    VTDNav cloneVtdNav = vtdNav.cloneNav();
    if (!cloneVtdNav.toElement(VTDNav.FIRST_CHILD)) return null;
    return new XmlNode(cloneVtdNav);
  } catch (NavException e) {
    throw new RuntimeException(e);
  }
}
 
开发者ID:qx,项目名称:FullRobolectricTestSample,代码行数:10,代码来源:XpathResourceXmlLoader.java

示例10: getRowId

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
 * 得到编辑器中一行文本段数据的唯一标识
 * @param vn
 *            VTDNav对象
 * @param handler
 *            XLFHandler对象
 * @param fileName
 *            xliff文件名
 * @return 编辑器中唯一标识该行文本段的Id;
 * @throws XPathEvalException
 */
public static String getRowId(VTDNav vn, String fileName) throws XPathEvalException {
	try {
		if (!"trans-unit".equals(vn.toString(vn.getCurrentIndex()))) {
			LOGGER.debug(Messages.getString("file.RowIdUtil.logger1"));
			throw new XPathEvalException(Messages.getString("file.RowIdUtil.msg1"));
		}
		vn.push();
		int idIdx = vn.getAttrVal("id");
		String tuid = idIdx != -1 ? vn.toString(idIdx) : "";

		while (!"file".equals(vn.toString(vn.getCurrentIndex()))) { // 找到file节点
			if (!vn.toElement(VTDNav.PARENT)) { // 到跟节点都没有找到
				LOGGER.error(Messages.getString("file.RowIdUtil.logger2"));
				return null;
			}
		}
		int originalIdx = vn.getAttrVal("original");
		String original = originalIdx != -1 ? vn.toString(originalIdx) : "";
		return fileName + SPLIT_MARK + original + SPLIT_MARK + tuid;
	} catch (NavException e) {
		LOGGER.error("", e);
		e.printStackTrace();
	} finally {
		vn.pop();
	}
	return null;
}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:39,代码来源:RowIdUtil.java

示例11: getSpecialRowId

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
 * 获取特殊的 rowId, file 由 占位符替换	robert	2013-05-15
 * @param vn
 * @return
 * @throws XPathEvalException
 */
public static String getSpecialRowId(VTDNav vn) throws XPathEvalException {
	try {
		if (!"trans-unit".equals(vn.toString(vn.getCurrentIndex()))) {
			LOGGER.debug(Messages.getString("file.RowIdUtil.logger1"));
			throw new XPathEvalException(Messages.getString("file.RowIdUtil.msg1"));
		}
		vn.push();
		int idIdx = vn.getAttrVal("id");
		String tuid = idIdx != -1 ? vn.toString(idIdx) : "";

		while (!"file".equals(vn.toString(vn.getCurrentIndex()))) { // 找到file节点
			if (!vn.toElement(VTDNav.PARENT)) { // 到跟节点都没有找到
				LOGGER.error(Messages.getString("file.RowIdUtil.logger2"));
				return null;
			}
		}
		int originalIdx = vn.getAttrVal("original");
		String original = originalIdx != -1 ? vn.toString(originalIdx) : "";
		return "%%%FILE%%%" + SPLIT_MARK + original + SPLIT_MARK + tuid;
	} catch (NavException e) {
		LOGGER.error("", e);
		e.printStackTrace();
	} finally {
		vn.pop();
	}
	return null;
}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:34,代码来源:RowIdUtil.java

示例12: getSplitFileInfoForPointSetting

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
 * 获取分割文件的相关信息,以用于设置分割点	--robert	2013-10-17
 * @return
 */
public Map<String, Integer> getSplitFileInfoForPointSetting(String filePath){
	Map<String, Integer> rowWordNumMap = new LinkedHashMap<String, Integer>();
	try {
		VTDNav vn = vnMap.get(filePath);
		Assert.isNotNull(vn, Messages.getString("file.XLFHandler.msg4") + filePath);
		AutoPilot ap = new AutoPilot(vn);

		ap.selectXPath(XPATH_ALL_TU + "/source");
		int curTuWordNum = -1;
		String srcText = null;
		String rowID = null;
		while(ap.evalXPath() != -1){
			vn.push();
			vn.toElement(VTDNav.PARENT);
			rowID = RowIdUtil.getRowId(vn, filePath);
			vn.pop();
			// 由于担心 tu 下面有多个 source 节点,但是 rowId 是唯一的,故,总字数以及总文本段全依 map 中的数据为准.
			if (rowWordNumMap.get(rowID) != null) {
				continue;
			}
			
			srcText = getTUPureText(vn);
			curTuWordNum = CountWord.wordCount(srcText, null);
			rowWordNumMap.put(rowID, curTuWordNum);
		}
		
	} catch (Exception e) {
		LOGGER.error("", e);
	}
	
	return rowWordNumMap;
}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:37,代码来源:XLFHandler.java

示例13: decodeXml

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
public static String decodeXml(String str) {
	StringBuilder builder = new StringBuilder();
	builder.append("<r>").append(str).append("</r>");
	vg.setDoc(builder.toString().getBytes());
	try {
		vg.parse(true);
		VTDNav vn = vg.getNav();
		vn.toElement(VTDNav.ROOT);
		return vn.toString(vn.getText());
	} catch (Exception e) {
		//should never come here
		return str;
	}
}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:15,代码来源:ExportExternal.java

示例14: description

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private String description(VTDNav navigator) throws Exception 
{ navigator.push();

  try
     { if (navigator.toElement(VTDNav.FIRST_CHILD,DESCRIPTION))
          { return text(navigator);
          }
     }
  finally
     { navigator.pop();
     }

  return "";
}
 
开发者ID:twystd,项目名称:tbxml-android,代码行数:15,代码来源:VTD.java

示例15: originated

import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void originated(VTDNav navigator,Item item) throws Exception 
{ navigator.push();
  
  if (navigator.toElement(VTDNav.FIRST_CHILD,ORIGINATED))
     { String by   = attribute(navigator,BY);
       String date = attribute(navigator,DATE);
       
       item.originated = new Item.Originated(by,date);
     }
  
  navigator.pop();
}
 
开发者ID:twystd,项目名称:tbxml-android,代码行数:13,代码来源:VTD.java


注:本文中的com.ximpleware.VTDNav.toElement方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。