首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用strings.xml编写xliff的perl libxml

用strings.xml编写xliff的perl libxml
EN

Stack Overflow用户
提问于 2015-02-13 05:49:31
回答 2查看 218关注 0票数 0

我在使用strings.xml编写包含XLIFF元素的LibXML文件时遇到了困难。请注意,我正在尝试编写一个已经存在的值(在读取时解析节点没有问题)。有时在编写appendWellBalancedChunk元素时,我也需要使用HTML。

代码语言:javascript
复制
#!/usr/bin/env perl

#
# Create a simple XML document
#

use strict;
use warnings;
use XML::LibXML;

my $doc = XML::LibXML::Document->new('1.0', 'utf-8');
my $root = $doc->createElement("resources");
$root->setAttribute('xmlns:xliff' => 'urn:oasis:names:tc:xliff:document:1.2');
my $tag = $doc->createElement("string");
$tag->setAttribute('name'=>'no_messages');
my $string = '<xliff:g id="MILLISECONDS">%s</xliff:g>ms';
$tag->appendWellBalancedChunk($string);
$root->appendChild($tag);

$doc->setDocumentElement($root);
print $doc->toString();

当我运行这个程序时,我得到以下信息:

代码语言:javascript
复制
$ perl xliff.pl
namespace error : Namespace prefix xliff on g is not defined
<xliff:g id="MILLISECONDS">%s</xliff:g>ms
                          ^

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-13 10:57:24

将命名空间声明添加到xml元素将使代码运行时不会出现错误:

代码语言:javascript
复制
my $string = '<xliff:g xmlns:xliff="urn:whatever" id="MILLISECONDS">%s</xliff:g>ms';
票数 1
EN

Stack Overflow用户

发布于 2015-02-13 05:55:18

因为您没有为<xliff:g id="MILLISECONDS">%s</xliff:g>ms定义XML命名空间,所以您得到了这个错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28493308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档