XML,DTD加XSLT无法显示数据的问题
我写了三个文件,分别是movie.xml,moive.dtd,movie.xslt,但是当我访问movie.xml文件时却没有显示出数据,三个文件如下:movie.xml...
我写了三个文件,分别是movie.xml,moive.dtd,movie.xslt,但是当我访问movie.xml文件时却没有显示出数据,三个文件如下:
movie.xml
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE movies SYSTEM "F:\XSL\movie.dtd">
<?xml:stylesheet type="text/xsl" href="F:\XSL\movie.xslt"?>
<movies type="动作片">
<id>1</id>
<name>敢死队</name>
<brief>史泰龙,阿诺施瓦希格,李连杰最新力作</brief>
<time>2010</time>
</movies>
请大虾们解释一下:<!DOCTYPE movies SYSTEM "F:\XSL\movie.dtd">表示的意思?
movie.dtd文件
<?xml version="1.0" encoding="GB2312"?>
<!--movie.dtd 的作用主要是进行校验-->
<!ELEMENT movies (id,name,brief,time)>
<!ATTLIST movies type CDATA #REQUIRED>
<!ELEMENT id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT brief (#PCDATA)>
<!ELEMENT time (#PCDATA)>
请大虾们解释一下:<!ATTLIST movies type CDATA #REQUIRED>和#PCDATA的作用
movie.xslt文件
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" version="1.0" encoding="GB2312" indent="yes"/>
<xsl:template match="/">
<html>
<head><title>XSLT教程第一节</title></head>
<body>
<xsl:apply-templates select="movie"/>
</body>
</html>
</xsl:template>
<xsl:template match="movie">
第<xsl:value-of select="id"/>电影
<table border="1" colspancing="0">
<tr>
<td>名称</td>
<td>简介</td>
<td>时间</td>
<td>类型</td>
</tr>
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="brief"/></td>
<td><xsl:value-of select="time"/></td>
<td><xsl:value-of select="@type"/></td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>
我试着将
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
改为
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" version="1.0">
但是却报错了。不知道怎么解决,请大虾们帮帮忙!!! 展开
movie.xml
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE movies SYSTEM "F:\XSL\movie.dtd">
<?xml:stylesheet type="text/xsl" href="F:\XSL\movie.xslt"?>
<movies type="动作片">
<id>1</id>
<name>敢死队</name>
<brief>史泰龙,阿诺施瓦希格,李连杰最新力作</brief>
<time>2010</time>
</movies>
请大虾们解释一下:<!DOCTYPE movies SYSTEM "F:\XSL\movie.dtd">表示的意思?
movie.dtd文件
<?xml version="1.0" encoding="GB2312"?>
<!--movie.dtd 的作用主要是进行校验-->
<!ELEMENT movies (id,name,brief,time)>
<!ATTLIST movies type CDATA #REQUIRED>
<!ELEMENT id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT brief (#PCDATA)>
<!ELEMENT time (#PCDATA)>
请大虾们解释一下:<!ATTLIST movies type CDATA #REQUIRED>和#PCDATA的作用
movie.xslt文件
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" version="1.0" encoding="GB2312" indent="yes"/>
<xsl:template match="/">
<html>
<head><title>XSLT教程第一节</title></head>
<body>
<xsl:apply-templates select="movie"/>
</body>
</html>
</xsl:template>
<xsl:template match="movie">
第<xsl:value-of select="id"/>电影
<table border="1" colspancing="0">
<tr>
<td>名称</td>
<td>简介</td>
<td>时间</td>
<td>类型</td>
</tr>
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="brief"/></td>
<td><xsl:value-of select="time"/></td>
<td><xsl:value-of select="@type"/></td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>
我试着将
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
改为
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" version="1.0">
但是却报错了。不知道怎么解决,请大虾们帮帮忙!!! 展开
2个回答
展开全部
<?xml:stylesheet type="text/xsl" href="F:\XSL\movie.xslt"?>把这句中“:”改"-"试试,我以前这样就把问题解决了,另名出现问时,你先单独运行xlst和xml,看看哪个有问题,dtd的话也就是验证你的xml是否合法,这个你可以先去掉,等能两个文件结合起来能运行了,再把它加进来,至于你说的<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">这个嘛,这个没什么意思,只是一个头和规范,你可以在editx工具有进行写xml和xslt,这个工具会给你自动生成这些头的。希望这些意见能帮你解决问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询