2011-03-17 57 views
0

我使用各种变换在零件中生成XML文档。特别是,我生成一个包含所有名称空间声明的头文件,然后将其预先添加到文档中。然而,转换不知道这一点,因此坚持另一个声明。这通常不会成为问题,但数百万这些东西是生成并存储在数据库中的,因此有大量冗余声明是浮动的,这相当麻烦。从XSL变换的结果中排除名称空间声明

如何关闭命名空间声明的生成?我已经看到exclude-result-prefixes属性,但是其文档声明所用的名称空间的声明将被添加,这似乎使该选项毫无意义。

+0

您写了_“我正在使用各种变换生成部分XML文档”_。这是否意味着您正在使用多个样式表,其中包括其他导入的样式表?如果是这样,那么你最好在每个'xsl:stylesheet'元素中声明所有的命名空间,以便允许命名空间前缀fixup机制完成它的工作。 – 2011-03-17 16:04:07

回答

0

XSLT转换的输出将始终是格式良好的(和名称空间良好的)XML。如果你想要的东西不是,你就失败了。

我会质疑你的设计。这似乎是一个糟糕的主意,其后果你开始发现。

+0

怀疑这可能是答案。我认为设计背后有一些原因(我没有提出它),但它似乎是足够的,它不是xslt会支持的东西。 – Submonoid 2011-03-17 17:46:20

相关问题