我是这两种技术的新手,我按照我在这些步骤中所理解的,用原始XML文件生成HTML来描述他们的角色(如果我错了,请纠正我):
我想知道使用它们的技术细节,具体来说,这里是问题:
你能否给我一些关于使用这些技术创建网站的开发环境的一些指示,谢谢。
- 更新:我现在明白,XQuery和XSLT之间的区别在于观点的不同,因为两个不同的工作组正在维护它们,两者都会以不同的方式完成工作。 我只使用XSLT进行数据操作和表示,我正在实现结构化模板方法,这里可以找到XSLT Abstractions来组织工作。
答案 0 :(得分:1)
我有一个按照你描述的方式工作的系统。它像这样运行;
<强>输入强>
<强>流量强>
PHP脚本,例如。 “index.php”运行。它像这样联系xquery处理器;
$xml = file_get_contents("http://localhost:2409/test.xq");
test.xq查询由xquery处理器执行。 test.xq查询使用doc函数加载数据;
declare variable $root := doc("data.xml");
当test.xq完成时,xquery处理器将结果返回到index.php。
回到index.php,$ xml现在包含test.xq xquery的结果。调用XSLT处理器将XML转换为XHTML。 PHP代码就像;
$doc = new DOMDocument(); $doc->loadXML($xml); $stylesheet = new DOMDocument(); $stylesheet->load("style.xsl"); $processor = new XSLTProcessor(); $processor->importStylesheet($stylesheet); $xhtml = $processor->transformToXML($doc); echo $xhtml;
使用标准组件无法实现的唯一部分是xquery处理器。我不得不使用Java servlet编写该位来调用Saxon xquery处理器。 Java和Saxon都是免费的,但它仍然需要大量的学习才能让它发挥作用。
您可以看到它正常工作here。
我喜欢这种技术,因为a)它将逻辑与表现分开,b)它运行得很快。