我有一块硬件,我们正在寻找创建一个Web控制界面。这个硬件目前使用eCOS来控制Web界面/ HTML生成,我有兴趣远离它。
我不熟悉Web编程,但认为XML和XSLT可能是一个潜在的途径。最大的设计要求是用户不必运行除Firefox或IE等现成浏览器之外的任何其他设备。
当Web服务器收到请求时,我只是发送XML和XSLT文件,XSLT文件是否必须存在于用户的计算机上,或者XSLT文件是否在发送HTML之前在Web服务器中执行转换?
我知道对于那些有更多经验的人来说,这是一个非常痛苦的问题,但是我希望能得到一些帮助。
答案 0 :(得分:2)
In可以以任何一种方式完成 - 在很多方面,最好在服务器上进行转换,因为无法确保浏览器的兼容性。
在IE和Firefox的最新版本上都可以进行XSLT转换(只需在XML文档中添加对样式表的引用 - 它可以是远程URL)。但是,浏览器和不同版本之间的支持各不相同。
为了确保您知道浏览器的内容,我会在服务器上进行转换(可能会缓存转换结果)。
答案 1 :(得分:2)
关于使用XML / XSLT帮助构建大型网站和Web应用程序,我有一个答案,您可能会或可能不会发现这些答案。
所以我们如何做,如何做,只是分享经验。
<强>后端强>
后端程序员制定高级业务逻辑。结果是通过http。
提供的XML数据<强>前端强>
XML的方言用于进行http调用以获取来自不同源的XML数据。还有很多其他的东西,比如使用Request / Protocol / Cookies,一种本地数据存储(例如自己创建/设置“变量”的范围),缓存,线程等等。
因此,实时创建每个特定页面的XML文档(当然,除了缓存的部分之外)。公共部分通过XInclude共享。
然后是XSLT。好吧,这里没有什么不寻常的,除了创建了相当多的业务逻辑。总而言之,它是将获取的XML输入转换为HTML / CSS表示。
XSLT主要在服务器端完成,而不是在客户端上完成。
这一切都是UI程序员的责任范围。
<强>客户机侧强>
包含用户体验逻辑的JS也是由UI程序员编写的。 例如,AJAX调用转到在前端创建的XML门,后端响应可以通过XSLT方便地转换为HTML,JSON或其他任何东西,而不是在客户端上使用。
整体情况
用户转到某个页面(index.xml或索引/或者您将其命名),从各种来源收集XML数据,生成XML并通过XSLT转换为HTML / CSS。没有可见的用户指标,即XSLT就在那里。
答案 2 :(得分:1)
IMHO XSLT适用于“只读”浏览器视图,主要关注的是页面数据的格式化。
然而,当您需要构建富客户端接口时,IMHO XSLT会变得非常快,因为您需要包含不同的语言HTML,js / jquery等
Re:在哪里做XSLT - 您可以自己在服务器上进行转换(并呈现HTML),或者您可以使用Linked XSL引用将xml发送到浏览器
<?xml-stylesheet type="text/xsl" href="myxsl.xsl"?>