本文整理汇总了Java中com.ximpleware.VTDNav.toString方法的典型用法代码示例。如果您正苦于以下问题:Java VTDNav.toString方法的具体用法?Java VTDNav.toString怎么用?Java VTDNav.toString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.ximpleware.VTDNav
的用法示例。
在下文中一共展示了VTDNav.toString方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getAttribute
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 获取属性值
* @param xpath
* @param defaultValue
* @return
* @throws Exception
* ;
*/
private String getAttribute(String tmxLocation, String xpath, String defaultValue) throws Exception {
VTDNav vn = vnMap.get(tmxLocation);
vn.push();
AutoPilot ap = new AutoPilot(vn);
Assert.isNotNull(vn,
MessageFormat.format(Messages.getString("tmxeditor.tmxFileValidator.canntFindFile"), tmxLocation));
ap.selectXPath(xpath);
int index;
if ((index = ap.evalXPath()) != -1) {
return vn.toString(index + 1);
}
vn.pop();
return defaultValue;
}
示例2: getNotes
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 获取 R8 xliff文件的所有批注信息
* @param vn
* @param tgtbeBean
*/
private void getNotes(VTDNav vn, TuBean bean) throws Exception {
vn.push();
AutoPilot ap = new AutoPilot(vn);
String xpath = "./note";
ap.selectXPath(xpath);
StringBuffer noteSB = new StringBuffer();
while(ap.evalXPath() != -1){
String commentText = "";
if (vn.getText() != -1) {
String r8NoteText = vn.toString(vn.getText());
if (r8NoteText.indexOf(":") != -1) {
commentText = r8NoteText.substring(r8NoteText.indexOf(":") + 1, r8NoteText.length());
}else {
commentText = r8NoteText;
}
}
noteSB.append(commentText + ";\n");
}
bean.setNote(noteSB.toString());
vn.pop();
}
示例3: readTuNoteElement
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void readTuNoteElement(TmxTU tu) throws VTDException {
VTDNav vn = vu.getVTDNav();
vn.push();
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("./note");
while (ap.evalXPath() != -1) {
String fragment = vu.getElementFragment();
TmxNote note = new TmxNote();
note.setContent(fragment);
int inx = vn.getAttrVal("xml:lang");
String value = inx != -1 ? vn.toString(inx) : null;
if (value != null) {
note.setXmlLang(value);
}
inx = vn.getAttrVal("o-encoding");
value = inx != -1 ? vn.toString(inx) : null;
if (value != null) {
note.setXmlLang(value);
}
tu.appendNote(note);
}
vn.pop();
}
示例4: getElementAttribute
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
public String getElementAttribute(String elementXPath, String attributeName, VTDNav vn) throws XPathParseException,
XPathEvalException, NavException {
String text = null;
AutoPilot ap = new AutoPilot(vn);
ap.declareXPathNameSpace(PREFIX_A, NAMESPACE_A);
ap.declareXPathNameSpace(PREFIX_P, NAMESPACE_P);
ap.selectXPath(elementXPath);
vn.push();
if (ap.evalXPath() != -1) {
int inx = vn.getAttrVal(attributeName);
if (inx != -1) {
text = vn.toString(inx);
}
}
vn.pop();
return text;
}
示例5: getAnalysisXmlData
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 获取分析XML文件后的数据(针对于分析XML文件)
* @param xmlLocation
* @return ;
*/
public List<ElementBean> getAnalysisXmlData(String xmlLocation) {
List<ElementBean> beanList = new LinkedList<ElementBean>();
List<String> elementNameList = new ArrayList<String>();
VTDNav vn = getVTDNav(xmlLocation);
AutoPilot ap = new AutoPilot(vn);
ElementBean bean;
try {
ap.selectXPath("//*[text()!='' or not(./*)]");
while (ap.evalXPath() != -1) {
String elementName = vn.toString(vn.getCurrentIndex());
//如果元素名不重复,那么就添加到结果集中
if (elementNameList.indexOf(elementName) == -1) {
bean = new ElementBean();
bean.setName(elementName);
bean.setType("segment");
bean.setInlineType("");
bean.setTransAttribute("");
bean.setRemainSpace("");
beanList.add(bean);
elementNameList.add(elementName);
}
}
} catch (Exception e) {
LOGGER.error("", e);
}
return beanList;
}
示例6: readTuPropElement
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void readTuPropElement(TmxTU tu) throws VTDException {
VTDNav vn = vu.getVTDNav();
vn.push();
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("./prop");
while (ap.evalXPath() != -1) {
String content = vu.getElementContent();
if (content == null) {
continue;
}
int inx = vn.getAttrVal("type");
String typeValue = inx != -1 ? vn.toString(inx) : null;
if (typeValue == null) {
continue;
}
if (typeValue.equals(TmxContexts.PRE_CONTEXT_NAME)) {
tu.appendContext(TmxContexts.PRE_CONTEXT_NAME, content.trim());
} else if (typeValue.equals(TmxContexts.NEXT_CONTEXT_NAME)) {
tu.appendContext(TmxContexts.NEXT_CONTEXT_NAME, content.trim());
} else if (typeValue.equals("x-Context")) {
// Trados TMX file
String[] contexts = content.split(",");
if (contexts.length == 2) {
tu.appendContext(TmxContexts.PRE_CONTEXT_NAME, contexts[0].trim());
tu.appendContext(TmxContexts.NEXT_CONTEXT_NAME, contexts[1].trim());
}
} else {
TmxProp p = new TmxProp(typeValue, content);
tu.appendProp(p);
}
}
vn.pop();
}
示例7: getTagLocation
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* <div style='color:red'>备注:该方法是从 XLFHandler 类中拷贝的。</div>
* 获取每个标记 header 与 tail 在文本中的 index,此方法主要针对文本段分割,分割点在g、mrk标记里面。robert 2012-11-15
* @param vn
*/
private List<Map<String, String>> getTagLocation(VTDNav vn, String srcContent){
List<Map<String, String>> tagLoctionList = new LinkedList<Map<String,String>>();
vn.push();
AutoPilot ap = new AutoPilot(vn);
String xpath = "./descendant::node()";
try {
VTDUtils vu = new VTDUtils(vn);
ap.selectXPath(xpath);
int lastIdx = 0;
while(ap.evalXPath() != -1){
Map<String, String> tagLocationMap = new HashMap<String, String>();
String tagName = vn.toString(vn.getCurrentIndex());
if (!("g".equals(tagName) || "mrk".equals(tagName))) {
continue;
}
String tagHeader = vu.getElementHead();
String tagTail = vu.getElementFragment().replace(tagHeader, "").replace(vu.getElementContent(), "");
int headerIdx = srcContent.indexOf(tagHeader, lastIdx);
int tailIdx = headerIdx + tagHeader.length() + vu.getElementContent().length();
lastIdx = headerIdx;
tagLocationMap.put("tagHeader", tagHeader);
tagLocationMap.put("tagTail", tagTail);
tagLocationMap.put("headerIdx", "" + headerIdx);
tagLocationMap.put("tailIdx", "" + tailIdx);
tagLoctionList.add(tagLocationMap);
}
} catch (Exception e) {
e.printStackTrace();
}
vn.pop();
return tagLoctionList;
}
示例8: readTUAttr4VTDNav
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* Read TU attributes for VTDNav
* @param vu
* <code>VTDUtils<code>, The VTDNav cursor position must at TU node
* @param tu
* the results save into this instance
* @throws VTDException
* ;
*/
public static void readTUAttr4VTDNav(VTDUtils vu, TmxTU tu) throws VTDException {
VTDNav vn = vu.getVTDNav();
vn.push();
AutoPilot apAttributes = new AutoPilot(vu.getVTDNav());
apAttributes.selectXPath("@*");
int inx = -1;
while ((inx = apAttributes.evalXPath()) != -1) {
String name = vn.toString(inx);
inx = vn.getAttrVal(name);
String value = inx != -1 ? vn.toString(inx) : "";
// tuid, o-encoding, datatype, usagecount, lastusagedate, creationtool, creationtoolversion, creationdate,
// creationid, changedate, segtype, changeid, o-tmf, srclang.
if (name.equals("tuid")) {
tu.setTuId(value);
} else if (name.equals("creationtool")) {
tu.setCreationTool(value);
} else if (name.equals("creationtoolversion")) {
tu.setCreationToolVersion(value);
} else if (name.equals("creationdate")) {
tu.setCreationDate(value);
} else if (name.equals("creationid")) {
tu.setCreationUser(value);
} else if (name.equals("changedate")) {
tu.setChangeDate(value);
} else if (name.equals("changeid")) {
tu.setChangeUser(value);
} else {
tu.appendAttribute(name, value);
}
}
vn.pop();
}
示例9: 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;
}
示例10: getTagLocation
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* <div style='color:red'>此方法有复制到 convert.ui 插件的 ReverseConversionValidateWithLibrary3 类中。故若修改,注意保持同步 --robert 2012-11-29</div>
* 获取每个标记 header 与 tail 在文本中的 index,此方法主要针对文本段分割,分割点在g、mrk标记里面。robert 2012-11-15
* @param vn
*/
private List<Map<String, String>> getTagLocation(VTDNav vn, String srcContent) {
List<Map<String, String>> tagLoctionList = new LinkedList<Map<String, String>>();
vn.push();
AutoPilot ap = new AutoPilot(vn);
String xpath = "./descendant::node()";
try {
VTDUtils vu = new VTDUtils(vn);
ap.selectXPath(xpath);
int lastIdx = 0;
while (ap.evalXPath() != -1) {
Map<String, String> tagLocationMap = new HashMap<String, String>();
String tagName = vn.toString(vn.getCurrentIndex());
if (!("g".equals(tagName) || "mrk".equals(tagName) || "sub".equals(tagName))) {
continue;
}
String tagHeader = vu.getElementHead();
String tagTail = vu.getElementFragment().replace(tagHeader, "").replace(vu.getElementContent(), "");
int headerIdx = srcContent.indexOf(tagHeader, lastIdx);
int tailIdx = headerIdx + tagHeader.length() + vu.getElementContent().length();
lastIdx = headerIdx;
tagLocationMap.put("tagHeader", tagHeader);
tagLocationMap.put("tagTail", tagTail);
tagLocationMap.put("headerIdx", "" + headerIdx);
tagLocationMap.put("tailIdx", "" + tailIdx);
tagLoctionList.add(tagLocationMap);
}
} catch (Exception e) {
LOGGER.error("", e);
e.printStackTrace();
}
vn.pop();
return tagLoctionList;
}
示例11: getMultiFiles
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 获取要合并打开的文件路径 robert 2012-03-27
* @return ;
*/
public List<String> getMultiFiles(IFile tempiFile) {
String tempiFileLC = tempiFile.getLocation().toOSString();
Map<String, Object> resultMap = openFile(tempiFileLC);
if (resultMap == null
|| Constant.RETURNVALUE_RESULT_SUCCESSFUL != (Integer) resultMap.get(Constant.RETURNVALUE_RESULT)) {
return null;
}
List<String> mergerFileList = new ArrayList<String>();
VTDNav vn = vnMap.get(tempiFileLC);
Assert.isNotNull(vn, Messages.getString("file.XLFHandler.msg4") + tempiFileLC);
AutoPilot ap = new AutoPilot(vn);
try {
ap.selectXPath("/mergerFiles/mergerFile/@filePath");
int index = -1;
while ((index = ap.evalXPath()) != -1) {
String fileLC = vn.toString(index + 1);
if (fileLC != null && !"".equals(fileLC)) {
mergerFileList.add(fileLC);
}
}
} catch (Exception e) {
LOGGER.error("", e);
e.printStackTrace();
}
return mergerFileList;
}
示例12: getNotes
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void getNotes(VTDNav vn, TuBean tuBean) throws Exception {
List<CommentBean> commentList = new LinkedList<CommentBean>();
vn.push();
AutoPilot ap = new AutoPilot(vn);
String xpath = "./note";
ap.selectXPath(xpath);
String commentText = "";
int attrIdx = -1;
while(ap.evalXPath() != -1){
attrIdx = vn.getAttrVal("from");
String user = "";
String date = "";
String type = "text";
if (attrIdx != -1) {
user = vn.toRawString(attrIdx);
}
if (vn.getText() != -1) {
String r8NoteText = vn.toString(vn.getText());
if (r8NoteText.indexOf(":") != -1) {
commentText += r8NoteText.substring(r8NoteText.indexOf(":") + 1, r8NoteText.length());
date = r8NoteText.substring(0, r8NoteText.indexOf(":"));
}else {
commentText += r8NoteText;
}
}
commentList.add(new CommentBean(user, date, type, commentText, null));
}
if (commentText.length() > 0) {
commentText = commentText.substring(0, commentText.length() - 1);
}
tuBean.setCommentList(commentList);
vn.pop();
}
示例13: loadAllLang
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void loadAllLang(IProgressMonitor monitor) {
if (monitor == null) {
monitor = new NullProgressMonitor();
}
if (this.allLangList == null) {
this.allLangList = new ArrayList<String>(2);
}
allLangList.clear();
monitor.beginTask("", subFiles.size());
for (String subFile : subFiles) {
monitor.worked(1);
VTDUtils vu = vus.get(subFile);
if (vu == null) {
continue;
}
VTDNav vn = vu.getVTDNav();
vn.push();
try {
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("//tuv");
while (ap.evalXPath() != -1) {
int inx = vn.getAttrVal("xml:lang");
inx = inx == -1 ? vn.getAttrVal("lang") : inx;
String lang = inx != -1 ? vn.toString(inx) : null;
lang = LanguageUtils.convertLangCode(lang);
if (allLangList.contains(lang)) {
continue;
}
allLangList.add(lang);
}
} catch (VTDException e) {
LOGGER.error("", e);
} finally {
vn.pop();
}
}
monitor.done();
}
示例14: writeDocumentxml
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void writeDocumentxml(XliffBean bean) throws ExportExternalException {
VTDGen vg = new VTDGen();
if (!vg.parseZIPFile(templateDocxFile, "word/document.xml", true)) {
canceled();
throw new ExportExternalException(Messages.getString("ExportExternal.error.templateError"));
}
try {
VTDNav vn = vg.getNav();
AutoPilot ap = new AutoPilot(vn);
ap.declareXPathNameSpace("w", ExportExternal.NAMESPACE_W);
ap.selectXPath("/w:document");
if (ap.evalXPath() == -1) {
throw new ExportExternalException(Messages.getString("ExportExternal.error.templateError"));
}
long l = vn.getElementFragment();
int dOffset = (int) l;
int dLength = (int) (l >> 32);
ap.selectXPath("/w:document/w:body/w:p");
if (ap.evalXPath() == -1) {
// we should write in body!!
canceled();
throw new ExportExternalException(Messages.getString("ExportExternal.error.templateError"));
} else {
l = vn.getElementFragment();
int offset = (int) l;
int length = (int) (l >> 32);
String str = vn.toString(0, length + offset);
docxmlWriter.write(str);
doc_end_fragment = vn.toString(length + offset, dOffset + dLength - offset - length);
}
//we should export some info about this unclean
} catch (Exception e) {
LOGGER.error("", e);
canceled();
throw new ExportExternalException(e.getMessage(), e);
}
}
示例15: getCurrentElementAttribut
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 获取当前元素节点的某个属性值。如果当前节点没有该属性,返回默认值。
* @exception NavException
*/
public String getCurrentElementAttribut(String AttributName, String defaultValue, VTDNav vn) throws NavException {
int index = vn.getAttrVal(AttributName);
return index != -1 ? vn.toString(index) : defaultValue;
}