为什么有XSLT从未见过的普及许多其他语言出了在互联网上繁荣?[关闭]

StackOverflow https://stackoverflow.com/questions/77342

  •  09-06-2019
  •  | 
  •  

使用XSLT(XML样式语言变换)从未见过的同样的普及许多其他语言出了在互联网上的繁荣。虽然这是在使用,并在某些情况下通过大成功的公司(即暴风雪的娱乐),这似乎从来没有达到主流。为什么你觉得这是什么?

有帮助吗?

解决方案

一个问题是,XSLT 看起来 复杂。任何开发人员应该能够选择的语言结构,因为有类似物在大多数其他语言。问题是,结构和数据的所有看起来完全一样,这使得它难以分辨两者之间,这使得XSLT更加难以读取比其他languges.

第二个问题是,使用它们比较有限的其他语言。XSLT是伟大的在做什么;使复杂或彻底转换关于XML。但是,它不适用于作为广泛的问题,因为其他语言,因此它不是用作多。

第三,许多编程语言都有自己的图书馆转化XML。很多时候当工作有XML,只有小小的改变或查找所需要的。XML也可能正在产生或消费的程序开发者已经写在另一个语言。这些因素意味着使用一种语言的实用工具是仅有更多的方便。

另一个问题,所有这些问题作出贡献是惯性。也就是说,人们不知道,他们看不到他们有多需要它,使他们避免它作为一个解决方案,如果有另一种选择。

什么你最终是一种语言,是最后选择的许多开发创建时的解决方案。这可能是XSLT甚至避免时,它将是最好的工具的工作结果。

其他提示

Xslt使用编程功能的东西大多数程序员不被用来(因此为什么有些人认为它不直观,我猜).

在我看来,一个最讨厌的东西在标准XSLT(我说的是XSLT1.0因为这是唯一的版本,我已经使用)的是,它缺乏支持的串转换和一些基本的日期时间功能的操作。

有一件事我可能永远不会明白的是为什么一个函数,如翻译()设计和实施成xpath而其他更有用功能,例如 替换, to_lower, to_upper, 或者-我们是疯了-regular expressions都没有。

这些问题都涉及我猜 eXSLT (延长xslt?) 对于其他分析程序于微软的可以尝试下列任.我说,我猜是因为我实际上从来没有使用它,因为它被宣布为不符合可以尝试下列任.

我不明白为什么XSLT1.0的设计采用这一原则,"文本"操纵是不可在该范围的语言时,很明显,只要你是转换的文件,你不能避免这些字符串转换问题(例如:变换一unregularly填充日期定在法国的格式向美国的格式,31/1/2008到2008-01-31)嗯...

这些文本操作问题一般都是非常基本的并且容易涉及在可以尝试下列任通过允许XSL将扩展与JScript职能:你可以叫一个JScript功能,以执行某些处理,只是因为你会打电话给任何XSL模板,但我总是找到这种解决办法不优雅的,结束了创造我自己的XSL模板图书馆。第一,因为JScript的方式打破了你的XSL可携带性,然后因为这强迫你混合编程逻辑:一位纯XPath/XSLT表达和其他位在DOM/对象符号与JScript。

没有更新的变量是另一个限制,这是非常混乱,对新移民,有些人就是不能克服这一点,并保持与挣扎。在一些简单的情况下,你可以有解决方法的混合paremetrized模板和recursive calls(例如执行一个增加或decrasing计数)但是,让我们面对它,递归是不是自然的。

我想我听到了所有这些限制涉及在XSLT2.0规范,可悲的是MS决定不实施和促进属代替。这是可悲的,为什么不能实现他们两个?我认为,XSLT仍然会有一个很好的机会越来越受欢迎,因为CSS成为HTML。当你想想看,最困难的部分学习XSLT是XPath,其余的是没有困难,因为理解级联的行为在CSS和CSS已成为这样受欢迎的...

因此,在我个人觉得,它缺乏所有这些小东西在这里提到和花费的时间的地址他们在XSLT2.0(与甚至不MS支持它的无论如何),已经导致这种情况的impopularity.我希望MS决定执行它毕竟...

因为大多数XSLT实现具有高内存占用(我想这是由设计的语言),因为人们往往滥用XSLT用于各种各样的事情,这不是特别适合和纯粹-声明的性质XSL这使得某些类型的转变非常困难的。

这是伟大的xml,但不大于典型的编码。它缺乏典型的基本理念(即可变变量)和使得什么应该是简单的相当复杂的(或不可能)。其大多数问题源自一个事实,xml是一个伟大的数据表示语言,但不是一个伟大的程序语言。这就是说,我每天使用它并将它推荐其它意义的。在与外部的名字空间,可以做更多的有用的(电话给爪哇,等等)。在结束,这是另一种语言学习,以及许多程序员会愿意坚持的东西,他们使用或者类似的东西,他们使用。

因为这是比较容易编写和维护代码使用Java,C#,JavaScript,等等。到deserialize XML流,将其转变,出口的所需的输出,并XSLT没有提供任何实质性的优势。

XSLT使年轻人容易的,但它使其他的事情非常、非常困难的。

嗯...也许因为它是一个疼痛写xslt...我有写一些xslt几个月前,我曾梦想的尖括号中...

<Really> 
    <No>
        <fun/>
    </No>
</Really>         

(我知道,这是没有xslt)

一般来说,时代时你会需要XML数据变换成一种不同形式的XML数据,但是不做任何其他处理向它将会非常有限。通常使用XML作为中介之间的两个单独的系统,其中之一通常是定制过程的输出方。因此,它是简单的,只是写一个系统来处理XML输出其他的没有额外的步骤的具有执行某些种类的转变。

XSL是主流,并广泛采用。什么其他语言中你指的是?XSL不是一种编程语言, 只是一个变换的语言, ,所以它是非常有限的范围。

我认为这归结为XML语法可以说是好用来描述数据,但它不是一个伟大的语法怎么基本上是一种编程语言(XSLT)。

如前所述XSLT(如"良好的部分"的JavaScript)是一个功能的程序语言。大多数传统程序员讨厌这个无国籍状态。还有太多的传统程序员的仇恨角括号内。

但是,最重要的是,正确使用XSLT解决了两个声明-GUI的产生和数据结合问题的网服务器中的一个独立于平台的方式。供应商如Microsoft没有动力来庆祝这个"很不方便"的力量。

然而,我将认为,Microsoft具有最好的XSLT支持IDE(Visual Studio) 在世界。

我认为它试图涵盖太多的使用情况从而成为一个灵完成(或者,所以我听到的)语言。如果你尝试做任何平凡的转变,最终写入复杂的循环,条件...在一个丑陋的和详细的语言,这是最好的做法与GPL。

在我看来,这种复杂性使得编写一个正确的执行XSLT困难和有限的可用的选择,因此,广泛使用之间的声黑客人往往喜欢摆弄小型和高效的代码,不enterprisey代码。

XSLT是非常强大,但需要一个不同的思维方式有关的问题。它也使生活困难本身不提供有用的数据的功能在早期版本。采取例如大写()风格的方法,通常实行这样的事情:

<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>  

<xsl:value-of select="translate($toconvert,$lcletters,$ucletters)"/>

不容易的方法编码!

xslt是伟大的xml xml,当你有数据已经逃了出来,一个明确的定义的输入和输出。使用这类的东西xml2html我只是看起来像一个头疼的问题,并与近的任何动态语言和css输出是很容易实行风格。

我找到了这伟大的'合成的网服务建筑'.有时候数web服务一起工作具有最终的输出。当那些web服务的需要,以沟通它们之间通过XML然后XSLT可以改变xml消息从一种形式到另一个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top