本文整理汇总了Java中com.ximpleware.VTDNav.getAttrVal方法的典型用法代码示例。如果您正苦于以下问题:Java VTDNav.getAttrVal方法的具体用法?Java VTDNav.getAttrVal怎么用?Java VTDNav.getAttrVal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.ximpleware.VTDNav
的用法示例。
在下文中一共展示了VTDNav.getAttrVal方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: updateAttrByXpath
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private XMLModifier updateAttrByXpath(XMLModifier xm, String xpath, VTDUtils vu, String name, String newValue) {
VTDNav vn = vu.getVTDNav();
AutoPilot ap = new AutoPilot();
try {
ap.bind(vn);
ap.selectXPath(xpath);
if (ap.evalXPath() != -1) {
int index = vn.getAttrVal(name);
if (index == -1) {
xm.insertAttribute(" " + name + "=\"" + newValue + "\"");
} else {
xm.updateToken(index, newValue);
}
} else {
return null;
}
return xm;
} catch (Exception e) {
LOGGER.error("", e);
return null;
}
}
示例2: getSplitOriginalName
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 获取分割文件的分割源文件的名称 robert 2012-06-08
* @param srcXlfPath
* @return
*/
public String getSplitOriginalName(String srcXlfPath) {
String originalFileName = null;
VTDNav vn = vnMap.get(srcXlfPath);
Assert.isNotNull(vn, Messages.getString("file.XLFHandler.msg4") + srcXlfPath);
AutoPilot ap = new AutoPilot(vn);
ap.declareXPathNameSpace(hsNSPrefix, hsR7NSUrl);
try {
String xPath = "/xliff/file/header/hs:splitInfos";
int index;
ap.selectXPath(xPath);
while (ap.evalXPath() != -1) {
index = vn.getAttrVal("original");
if (index != -1) {
originalFileName = vn.toString(index);
return originalFileName;
}
}
} catch (Exception e) {
LOGGER.error("", e);
e.printStackTrace();
}
return originalFileName;
}
示例3: analysisUT
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 分析 ut 节点,这个节点里面保存的一般都是 cf 标记或者单元内容
* @throws Exception
*/
private void analysisUT(VTDNav vn, SegmentBean segBean) throws Exception{
vn.push();
int index = -1;
String typeAtt = "";
if ((index = vn.getAttrVal("Type")) != -1) {
typeAtt = vn.toRawString(index);
}
String displayTextAtt = "";
if ((index = vn.getAttrVal("DisplayText")) != -1) {
displayTextAtt = vn.toRawString(index);
}
//判断开始与结束点
if ("start".equals(typeAtt) && !"cf".equals(displayTextAtt)) {
start = true; //一个单元的开始
end = false;
}else if ("end".equals(typeAtt) && !"cf".equals(displayTextAtt)) {
start = false;
end = true; // 一个单元的结束
}
segBean.setTagStr(vu.getElementFragment());
segBean.setHasTag(true);
needAdd = true;
vn.pop();
}
示例4: setSrcLang
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* @param srcLang
* the srcLang to set
*/
private void setSrcLang() {
if (-1 != vtdUtil.pilot("/tmx/header")) {
try {
VTDNav vn = vtdUtil.getVTDNav();
int srcLangIndex = vn.getAttrVal("srclang");
if (srcLangIndex != -1) {
this.srcLang = vn.toString(srcLangIndex).trim();
}
} catch (NavException e) {
LOGGER.error("R: Wrong XML format", e);
e.printStackTrace();
}
}
}
示例5: getLanguageRuleNamesOfSrx_2
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 获取语言规则的名称,返回结果为list<String>类型
* @param srxLocation
* @return ;
*/
public List<String> getLanguageRuleNamesOfSrx_2(String srxLocation) {
List<String> langRuleNames = new LinkedList<String>();
VTDNav vn = super.getVTDNav(srxLocation);
AutoPilot ap = new AutoPilot(vn);
try {
ap.selectXPath("/srx/body/languagerules/languagerule");
while (ap.evalXPath() != -1) {
if (vn.getAttrVal("languagerulename") != -1) {
langRuleNames.add(vn.toString(vn.getAttrVal("languagerulename")));
}
}
} catch (Exception e) {
LOGGER.error("", e);
}
return langRuleNames;
}
示例6: 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();
}
示例7: readTuElementAttribute
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private void readTuElementAttribute(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();
}
示例8: readTUAttr4VTDNav
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
public 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) : "";
if (name.equals("hsid")) {
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: unlockSegment
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 给当前界面所显示的文本段解锁 robert 2012-09-24
*/
public void unlockSegment() {
Map<String, List<String>> groupRowIdMap = RowIdUtil.groupRowIdByFileName(rowIds);
for (Entry<String, List<String>> entry : groupRowIdMap.entrySet()) {
String filePath = entry.getKey();
List<String> rowIdList = entry.getValue();
VTDNav vn = vnMap.get(filePath);
Assert.isNotNull(vn, Messages.getString("file.XLFHandler.msg4") + filePath);
AutoPilot ap = new AutoPilot(vn);
boolean isUpdate = false;
try {
XMLModifier xm = new XMLModifier(vn);
for (String rowId : rowIdList) {
ap.selectXPath(RowIdUtil.parseRowIdToXPath(rowId));
if (ap.evalXPath() != -1) {
int index = vn.getAttrVal("translate");
if (index != -1 && "no".equalsIgnoreCase(vn.toString(index))) {
xm.removeAttribute(index - 1);
isUpdate = true;
}
}
}
if (isUpdate) {
saveAndReparse(xm, filePath);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
示例10: 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();
}
示例11: readTUNote4VTDNav
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* Read current TU element all note child,<br>
* the <code>TmxNote<code> dbPk value is the position in siblings
* @param vu
* <code>VTDUtils<code>,The VTDNav cursor position must at TU node
* @param tu
* current TU storage <code>TmxTU<code>
* @throws VTDException
* ;
*/
public static void readTUNote4VTDNav(VTDUtils vu, TmxTU tu) throws VTDException {
VTDNav vn = vu.getVTDNav();
vn.push();
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("./note");
int dbPk = 1;
while (ap.evalXPath() != -1) {
String fragment = vu.getElementContent();
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);
}
note.setDbPk(dbPk);
dbPk++;
tu.appendNote(note);
}
vn.pop();
}
示例12: getNotes
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
private Vector<NoteBean> getNotes(VTDUtils vu) throws XPathEvalException, NavException, XPathParseException {
Vector<NoteBean> notes = new Vector<NoteBean>();
VTDNav vn = vu.getVTDNav();
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("./note");
while (ap.evalXPath() != -1) {
NoteBean note = new NoteBean(vu.getElementContent());
int attInx = vn.getAttrVal("xml:lang");
if (attInx != -1) {
note.setLang(vn.toString(attInx));
}
attInx = vn.getAttrVal("from");
if (attInx != -1) {
note.setFrom(vn.toString(attInx));
}
attInx = vn.getAttrVal("priority");
if (attInx != -1) {
note.setPriority(vn.toString(attInx));
}
attInx = vn.getAttrVal("annotates");
if (attInx != -1) {
note.setAnnotates(vn.toString(attInx));
}
notes.add(note);
}
if (notes.isEmpty()) {
notes = null;
}
return notes;
}
示例13: getAttribute
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 获取属性值
* @param xpath
* @param defaultValue
* @return
* @throws Exception ;
*/
private String getAttribute(VTDNav vn, String attriName, String defaultValue) throws Exception {
vn.push();
int index;
if ((index = vn.getAttrVal(attriName)) != -1) {
return vn.toString(index);
}
vn.pop();
return defaultValue;
}
示例14: ananysisSubTag
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 处理 sub 标记
* @param vn
* @param textMap
*/
private void ananysisSubTag(VTDNav vn, Map<Integer, String> textMap, Map<Integer, SectionSegBean> targetMap) throws Exception{
vn.push();
String style = "";
int attrIdx = -1;
if ((attrIdx = vn.getAttrVal("rPr")) != -1) {
style = vn.toString(attrIdx);
}
String extendNodes = "";
if ((attrIdx = vn.getAttrVal("extendNodes")) != -1) {
extendNodes = vn.toString(attrIdx);
}
AutoPilot curAP = new AutoPilot(vn);
curAP.selectXPath("./node()|text()");
while(curAP.evalXPath() != -1){
int index = vn.getCurrentIndex();
int tokenType = vn.getTokenType(index);
if (tokenType == 0) { //节点子节点
String nodeName = vn.toString(index);
if ("ph".equals(nodeName)) {
textMap.put(index, resetCleanStr(vu.getElementContent()));
}else if ("g".equals(nodeName)) {
ananysisTag(vn, targetMap);
}else if ("sub".equals(nodeName)) {
ananysisSubTag(vn, textMap, targetMap);
}
}else if (tokenType == 5) { //文本子节点
StringBuffer textSB = new StringBuffer();
textSB.append("<w:r>" + style + extendNodes);
textSB.append("<w:t xml:space=\"preserve\">" + resetCleanStr(vn.toRawString(index)) + "</w:t></w:r>");
textMap.put(index, textSB.toString());
}
}
vn.pop();
}
示例15: getPluginCofigData
import com.ximpleware.VTDNav; //导入方法依赖的package包/类
/**
* 从插件配置文件中获取插件配置的相关信息
* @return ;
*/
public List<PluginConfigBean> getPluginCofigData() {
System.out.println(pluginXmlLocation);
List<PluginConfigBean> dataList = new LinkedList<PluginConfigBean>();
File pluginXMl = new File(pluginXmlLocation);
if (!pluginXMl.exists()) {
return dataList;
}
VTDGen vg = new VTDGen();
vg.parseFile(pluginXmlLocation, true);
VTDNav vn = vg.getNav();
AutoPilot ap = new AutoPilot(vn);
try {
ap.selectXPath("/shortcuts/plugin");
PluginConfigBean bean;
while (ap.evalXPath() != -1) {
String id = "";
String name = "";
String commandLine = "";
String output = "";
String input = "";
String shortcutKey = "";
String outputPath = "";
int index = -1;
if ((index = vn.getAttrVal("id")) != -1) {
id = vn.toString(index);
}
if ((index = vn.getText()) != -1) {
name = vn.toString(index);
}
if ((index = vn.getAttrVal("command")) != -1) {
commandLine = vn.toString(index);
}
if ((index = vn.getAttrVal("output")) != -1) {
output = vn.toString(index);
}
if ((index = vn.getAttrVal("input")) != -1) {
input = vn.toString(index);
}
if ((index = vn.getAttrVal("shortcut-key")) != -1) {
shortcutKey = vn.toString(index);
}
if ((index = vn.getAttrVal("outputpath")) != -1) {
outputPath = vn.toString(index);
}
bean = new PluginConfigBean(id, name, commandLine, input, output, outputPath, shortcutKey);
dataList.add(bean);
}
} catch (Exception e) {
LOGGER.error("", e);
}
return dataList;
}