XSL转换SVG为VML

4

除了知道Internet Explorer和其他微软产品使用VML以及它是一种矢量图形格式之外,我对VML一无所知。

能否使用XSLT将SVG文档转换为VML?或者它们彼此之间差异太大,无法实现这一点?

我知道存在将SVG转换为XAML的XSLT文档。


请参考:https://dev59.com/tknSa4cB1Zd3GeqPOoEy - TMB
我特别要求进行从SVG到VML的XSL转换,但他们希望执行相反的过程:VML到SVG。对于其他阅读此内容的人,我发现Raphaël是一个非常棒的JavaScript库,用于显示跨浏览器矢量图形。 - kzh
这个问题与你的类似,所以值得一看。被接受的答案是相同的。Raphaël 确实很棒。 - TMB
3个回答

5

我没有使用过它,但有一个sourceforge项目向量转换器似乎可以完美解决这个问题。


0
作为对这个问题的更一般性回答,VML看起来就像XML,你可以使用XSLT将任何XML转换成任何其他XML,XSLT不同于CSS,它是图灵完备的。
任何XML标准都可以通过它转换成任何其他标准。虽然不一定容易。

1
我不确定那有多大用处。当然,你可以将任何XML转换为其他XML,就像你可以将任何一系列位转换为另一系列位一样。问题是,考虑到它们的概念映射得有多好,是否可能有用地进行转换。我可以使用XSLT将ChemicalML转换为MusicXML,但这些概念如此不同,它可能对我没有太大帮助!VML显然比这更适合映射到SVG,但自从VML更新以来已经过去了十年,所以我敢打赌,在VML中根本不存在许多SVG概念。 - Ken
好的,XSLT就是为此而设计的,它非常有用,“转换”可以被看作是一件非常抽象的事情。例如,将MusicXML转换为XHTML可能仅限于提取其中的音符并在表格中显示它们。 XSLT是图灵完备的,因此我们可以真正做任何想做的事情。 我们可以将Mathml中的数学公式翻译成“英语数学讲话”,或者使用类似TeX的排版将其再次转换为SVG,因为XSLT是图灵完备的,所以我们可以计算出来。 - Zorf

-1

VML基本上已经被SVG所取代(source),因此可能不值得你的时间。如果你仍然想要/需要这样做,那么XSLT应该能够胜任,但我个人还没有在实际中看到过例子。


3
所有的Internet Explorer浏览器都支持VML。我只是担心如果需要SVG或Silverlight插件,会限制用户的使用范围。 - kzh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接