当我将 XSLT 样式表应用于 XML 文件时没有任何显示
Nothing appears when I apply an XSLT stylesheet to an XML file
我正在做一个学习 XSLT 语言的简单教育项目,但是当我尝试将样式 sheet 应用到 XML 文件时,转换 returns 我空白 HTML 页面,您认为后面链接的代码中的错误是什么?
(使用 XMLSpear 作为编辑器)
这里是xml代码
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TEI SYSTEM "teilite.dtd">
<?xml-stylesheet type="text/xsl" href="stile.xsl"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>Ettore Fieramosca o la disfida di Barletta : racconto</title>
<respStmt>
<resp>Conversione TEI P5 a cura di</resp>
<name>V. Caproni</name>
</respStmt>
</titleStmt>
<publicationStmt>
<publisher>Exercise Press</publisher>
<date>20-10-2014</date>
</publicationStmt>
<sourceDesc>
<bibl>
<title>title</title>
<author>author</author>
<publisher>publisher</publisher>
<date>1856</date>
<from>title of the book</from>
<licence>link to the licence</licence>
</bibl>
</sourceDesc>
</fileDesc>
<encodingDesc>
<styleDefDecl scheme="css"/>
<tagsDecl>
<rendition xml:id="blue">color: blue;</rendition>
<rendition xml:id="red">color: red;</rendition>
</tagsDecl>
</encodingDesc>
</teiHeader>
<text>
<front>
<p>author name</p>
<p>title</p>
</front>
<epigraph>
<p>epigraph n1</p>
</epigraph>
<epigraph>
epigraph n2
</epigraph>
<body>
<div type="Capitolo" xml:id="cap1">
<h2>Capitolo I</h2>
<p rendition="#blue">
sometext
</p>
</div>
</body>
</text>
</TEI>
这里是xls代码
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:tei="http://www.tei-c.org/ns/1.0"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="tei:TEI">
<html>
<head>
<title>Ettore Fieramosca o La Disfida di Barletta</title>
<link href="stile.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="tei:teiHeader">
<br/>
<h1>Informazioni sul documento</h1>
<br/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="tei:front">
<br/>
<h1>Frontespizio e prefazione</h1> <br/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="tei:front">
<br/>
<h1>Frontespizio e prefazione</h1> <br/>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
编辑
内置浏览器或 firefox 或 chrome
中均未显示任何内容
编辑 2
根据内置的 xsl 和 xml 验证器,文档格式正确
如评论中所述,源 XML 中 DTD 的存在导致了此失败。通过 XSLT 转换 XML 通常不需要 DTD,因此除非有特殊原因需要 DTD,否则您可以将其从 XML.
中删除
最有可能的是,DTD 与 XML 不在同一个文件夹中,当浏览器试图加载它时,它不在那里,所以浏览器只是拒绝处理 XML全部.
我正在做一个学习 XSLT 语言的简单教育项目,但是当我尝试将样式 sheet 应用到 XML 文件时,转换 returns 我空白 HTML 页面,您认为后面链接的代码中的错误是什么? (使用 XMLSpear 作为编辑器)
这里是xml代码
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TEI SYSTEM "teilite.dtd">
<?xml-stylesheet type="text/xsl" href="stile.xsl"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>Ettore Fieramosca o la disfida di Barletta : racconto</title>
<respStmt>
<resp>Conversione TEI P5 a cura di</resp>
<name>V. Caproni</name>
</respStmt>
</titleStmt>
<publicationStmt>
<publisher>Exercise Press</publisher>
<date>20-10-2014</date>
</publicationStmt>
<sourceDesc>
<bibl>
<title>title</title>
<author>author</author>
<publisher>publisher</publisher>
<date>1856</date>
<from>title of the book</from>
<licence>link to the licence</licence>
</bibl>
</sourceDesc>
</fileDesc>
<encodingDesc>
<styleDefDecl scheme="css"/>
<tagsDecl>
<rendition xml:id="blue">color: blue;</rendition>
<rendition xml:id="red">color: red;</rendition>
</tagsDecl>
</encodingDesc>
</teiHeader>
<text>
<front>
<p>author name</p>
<p>title</p>
</front>
<epigraph>
<p>epigraph n1</p>
</epigraph>
<epigraph>
epigraph n2
</epigraph>
<body>
<div type="Capitolo" xml:id="cap1">
<h2>Capitolo I</h2>
<p rendition="#blue">
sometext
</p>
</div>
</body>
</text>
</TEI>
这里是xls代码
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:tei="http://www.tei-c.org/ns/1.0"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="tei:TEI">
<html>
<head>
<title>Ettore Fieramosca o La Disfida di Barletta</title>
<link href="stile.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="tei:teiHeader">
<br/>
<h1>Informazioni sul documento</h1>
<br/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="tei:front">
<br/>
<h1>Frontespizio e prefazione</h1> <br/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="tei:front">
<br/>
<h1>Frontespizio e prefazione</h1> <br/>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
编辑 内置浏览器或 firefox 或 chrome
中均未显示任何内容编辑 2 根据内置的 xsl 和 xml 验证器,文档格式正确
如评论中所述,源 XML 中 DTD 的存在导致了此失败。通过 XSLT 转换 XML 通常不需要 DTD,因此除非有特殊原因需要 DTD,否则您可以将其从 XML.
中删除最有可能的是,DTD 与 XML 不在同一个文件夹中,当浏览器试图加载它时,它不在那里,所以浏览器只是拒绝处理 XML全部.