-1

我收到了多个 xml 文档,我必须通过 xsl 将它们转换为一个 unifrom xml 文档。我还必须向这个结果 xml 文档添加名称空间和架构。我的问题是我必须通过 xsl 样式表将模式和名称空间添加到该文档中,但我不知道该怎么做。尽管我在弄清楚如何添加命名空间方面已经走了很长一段路,但是如何通过样式表为我的 xml 结果文档提供我的模式的位置?

这是我目前在我的样式表中的内容,由于 schemaLocation,它不起作用:

<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:main="http://www.vm.com/main"
        xmlns:teleprompt ="http://www.vm.com/teleprompt"
        xmlns:warner ="http://www.vm.com/warner"
        xsi:schemaLocation="http://www.vm.com/main mainSchema.xsd"
        version="1.0">

这就是我想要使用命名空间的地方:

<album teleprompt:type="simple" teleprompt:href="http://www.vm.com/teleprompt">

我还需要将上面的代码应用于其树中的所有内容。

其中有四个专辑,其中只有两个需要命名空间。请不要给我答案,因为我没有在我的样式表中使用将元素分解为模板。

非常感谢您的帮助。

4

1 回答 1

0

您需要为“xsi”添加名称空间绑定,即http://www.w3.org/2001/XMLSchema-instance

<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:main="http://www.vm.com/main"
    xmlns:teleprompt ="http://www.vm.com/teleprompt"
    xmlns:warner ="http://www.vm.com/warner"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.vm.com/main mainSchema.xsd"
    version="1.0">

不使用模板如何成功当然是另一回事。

于 2012-05-20T12:27:49.413 回答