以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  [求助]XML和XSLT的问题请教:在服务器端和在client端的实现  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=16700)


--  作者:lwlnic
--  发布时间:4/6/2005 5:40:00 PM

--  [求助]XML和XSLT的问题请教:在服务器端和在client端的实现
在《无废话XML》文档中提到:
XML/SXLT文件可以在服务器端转换为HTML后下发给浏览器,也可以由浏览器解析XML/XSLT文件。但是这篇文档没有提到具体如何实现,有以下的问题向大侠请教一把:
1、如何将后台数据库中的数据查询出来以后动态生成XML文件?
2、XML/XSLT文件如何在服务器端解析;另外JS的代码是否都可以嵌入到XML中?有没有什么限制?
3、浏览器解析XML/XSLT文件:好像没有DTD/SCHEMA的话,IE不可能把XML展示成HTML的样子,是否一定要有DTD/SCHEMA文件?
--  作者:thq
--  发布时间:4/9/2005 3:55:00 PM

--  
ie需要的不是schema,而是xslt
服务器端的解析要具体的分析,看看数据库、脚本语言对xml的支持如何
服务器端的解析和本地解析在本质上是一样的。只不过服务器端解析,本地浏览器接收的就是解析后的文档,而本地解析则是接收原始的xml文档,然后根据文档的内容解析。
所以当xml文档中没有指定xslt时,ie直接显示xml的源文件,否则显示解析后的文档
服务器端解析的一个好处就是对同一份xml文档,可以调用不同的xslt进行解析,而本地的责不行,至少我不知道有这种方法。
--  作者:yeriwei
--  发布时间:4/13/2005 11:21:00 AM

--  
服务器端的解析用XMLDOM组件调用想关XML串或文件+XSL模板文件.就可转换成HTML文件.
再直接返回给客户端还是生成文件....看着办.呵.

--  作者:lwlnic
--  发布时间:4/14/2005 9:32:00 AM

--  
服务器端的解析代码示例:
      Document document ;

      String stylesheet = "test.xslt" ;

      // load the transformer using JAXP

      TransformerFactory factory ;
      Transformer transformer ;
      DocumentSource source ;
      DocumentResult result;
      Document transformedDoc ;
      XMLWriter writer = null;
      OutputFormat format = null;
      try
      {
        factory = TransformerFactory.newInstance() ;
        transformer = factory.newTransformer(new StreamSource(stylesheet)) ;
        document = this.read("test.xml") ;
        source = new DocumentSource(document) ;
        result = new DocumentResult() ;
        // now lets style the given document
        System.out.println("begin transform xml") ;
        transformer.transform(source, result) ;
        transformedDoc = result.getDocument() ;
        System.out.println("end transform xml") ;
        return transformedDoc;
      }
      catch(TransformerConfigurationException te)
      {
        te.printStackTrace();
        System.out.println("transform xml TransformerConfigurationException") ;
        return null;
      }
      catch(TransformerException te)
      {
        te.printStackTrace();
        System.out.println("transform xml TransformerException") ;
        return null;
      }
本段代码执行后,transformedDoc中没有包含相应的HTML数据(另外用一个函数输出到文件中),为何?


--  作者:skyupsky
--  发布时间:4/16/2005 9:15:00 AM

--  
学习一下,好像还是没有分的太清楚
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms