首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用EXIficient在XML文件中缺少NameSpace信息

使用EXIficient在XML文件中缺少NameSpace信息
EN

Stack Overflow用户
提问于 2015-09-06 15:42:45
回答 2查看 555关注 0票数 1

我正在使用EXIficient将XML数据转换为EXI,然后再转换回XML。在这里,我使用他们的EXIficientDemo class。示例代码:

代码语言:javascript
复制
EXIficientDemo sample = new EXIficientDemo();
sample.parseAndProofFileLocations("FilePath");
sample.codeSchemaLess();

它先将XML文件转换为EXI文件,然后再转换回xml文件,当从先前生成的EXI文件生成XML时,它丢失了有关命名空间的一些信息。

实际的XML文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="ja" xmlns="http://www.w3.org/ns/ttml"
 xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<body>
    <div>
      <p xml:id="s1">
         <span tts:origin="somethings">somethings</span>
      </p>      
   </div>
</body>

由EXIficient生成的XML文件

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<ns3:tt xmlns:ns3="http://www.w3.org/ns/ttml" 
xml:lang="ja"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<ns3:body><ns3:div>
<ns3:p xml:id="s1">
<ns3:span xmlns:ns4="http://www.w3.org/ns/ttml#styling"
ns4:origin="somethings">somethings</ns3:span>
</ns3:p>
</ns3:div></ns3:body>

在生成的XML文件中,它缺少xmlns:tts="http://www.w3.org/ns/ttml#styling"

如何解决这个问题?如果可以,请帮帮我。

EN

回答 2

Stack Overflow用户

发布于 2015-09-06 16:14:11

EXIficient可能会抑制未使用的命名空间。您的示例没有显示ttm名称空间的任何用法。

如您所见,它也没有保留ttml名称空间的名称空间前缀(更改为ns3)。如果未使用ttml#metadata名称空间,则生成的XML是完全有效的。

更新

对于更新后的问题,名称空间ttml#stylingspan元素的origin属性使用,名称空间保留在重新构建的span中,但已移动到span元素。

这仍然是一个非常有效的XML文档。

名称空间声明(xmlns)可以出现在XML文档中的任何位置,并应用于出现它的元素和所有子元素(除非被覆盖,这是非常罕见的)。

可以在不同的元素上多次声明相同的命名空间。为了简单和/或优化,通常使用不同的前缀在根元素上预先声明所有名称空间,但这并不是必需的。

票数 0
EN

Stack Overflow用户

发布于 2016-12-12 22:44:34

我无意中读到了这个问题,不幸的是,我读得很晚。以防人们仍在为此而苦苦挣扎,并想知道他们能做些什么。

正如前面所指出的,EXIficient在名称空间处理方面表现得很好。

话虽如此,EXI规范允许保留前缀和名称空间(参见Preserve Options)。

在EXIficient中,人们可以相应地设置这些选项,例如,

代码语言:javascript
复制
EXIFactory.getFidelityOptions().setFidelity(FidelityOptions.FEATURE_PREFIX, true);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32421203

复制
相关文章

相似问题

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