以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  利用xslt将cityGML转换为x3D总是无法实现?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=84613)


--  作者:jiyunsum
--  发布时间:5/6/2010 12:01:00 PM

--  利用xslt将cityGML转换为x3D总是无法实现?
问题:利用xslt将cityGML转换为x3D总是无法实现?
xml文件如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="test_xslt.xsl"?>
<X3D xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="G:\stylus\sss.xsd">
 <head>
 <component name="Time" level="-9223372036854775808"/>
 </head>
 <Scene>
 <Shape>
 <Appearance>
 <Material diffuseColor="0.8 0.8 0.8"/>
 </Appearance>
 <Box size="2 2 2">
 </Box>
 </Shape>
 </Scene>
</X3D>

xslt文件如下:
<?xml version='1.0' ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" media-type="model/x3d+vrml" include-content-type="no" omit-xml-declaration="yes"/>
 <xsl:template match="/">
 <Scene>
 <Shape>
 <Appearance>
 <Material diffuseColor="0.8 0.8 0.8">
 <xsl:attribute name="diffuseColor">
 <xsl:value-of select="X3D/Scene/Shape/Appearance/Material/@diffuseColor"/>
 </xsl:attribute>
 </Material>
 </Appearance>
 <Box size="2 2 2">
 <xsl:attribute name="size">
 <xsl:value-of select="X3D/Scene/Shape/Box/@size"/>
 </xsl:attribute>
 </Box>
 </Shape>
                </Scene>
 </xsl:template>
</xsl:stylesheet>
模板文件中的output是关键,media-type试过很多都不行,不是为什么?比如:"model/x3d+vrml"、"model/x3d+xml"
x3D插件用的是BS Contact
样式表作用结果如下:
<Scene>
 <Shape>
  <Appearance>
   <Material diffuseColor="0.8 0.8 0.8"/>
  </Appearance>
  <Box size="2 2 2"/>
 </Shape>
</Scene>
但是用浏览器打开时,什么都没有显示,BS插件也无法调用到。但是将输出结果另存为x3d以后,就可以打开。不知何故?请教方家。


--  作者:jj_long
--  发布时间:5/6/2010 1:57:00 PM

--  
这个似乎不是XSLT的问题,而是转换出的结果无法显示的问题。

是用IE浏览器吗? x3D插件用BS Contact是个什么性质的插件?

如果是一个ActiveX插件,似乎需要使用<object xxxxx>来启动插件。


--  作者:jiyunsum
--  发布时间:5/6/2010 3:45:00 PM

--  BS Contact网站上看到样例代码,测试可行,但比较麻烦
BS Contact网站上看到样例代码,测试可行,但比较麻烦。具体地址如下:
http://www.bitmanagement.com/developer/contact/sdk-x3d/doc/content/x3d/x3d.html
--  作者:jiyunsum
--  发布时间:5/6/2010 3:48:00 PM

--  确实如此,谢谢楼上点拨
确实如此,谢谢。但是如果动态显示,就不方便。现正测试连接WEBService。希望多多指导。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms