xml - XML-XSL 验证询问
问题描述
开始 xml 10~15 天
而xml-xslt?xml-xsl?学习时,我正在复印一本书,但无法验证检查。
在 XML 文件中,第 3 行第 11 列的验证错误。
这是 XML
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="booklist.xsl"?>
<Booklist>
<Book isbn="20030101">
<Bookname>XML </Bookname>
<Author>Pack Mi Young</Author>
<Publisher>Hanbit</Publisher>
<Publish_Date>
<Y>2015</Y>
<M>10</M>
<D>15</D>
</Publish_Date>
<Page>560</Page>
<Price>18000</Price>
</Book>
<Book isbn="20030102">
<Bookname>JAVA </Bookname>
<Author>Cha Sang Min</Author>
<Publisher>Dankook</Publisher>
<Publish_Date>
<Y>2015</Y>
<M>11</M>
<D>20</D>
</Publish_Date>
<Page>750</Page>
<Price>28000</Price>
</Book>
</Booklist>
在 XSL 文件中,第 2 行第 84 列的验证错误。
这是 XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Booklist/Book">
<h3>Book match template</h3>
<xsl:apply-templates select="Author:"/>
</xsl:template>
<xsl:template match="Author">
<h3>Author name :</h3>
<font color='blue'><xsl:value-of select="."/></font>
</xsl:template>
</xsl:stylesheet>
我不知道为什么它没有被验证.. TT
作为参考,我使用 XML 复制编辑器
解决方案
XSLT 文件中的错误就行了
<xsl:apply-templates select="Author:"/>
这:
使您的 XPath 表达式无效。所以使用
<xsl:apply-templates select="Author"/>
反而。
此外,如果您想要一个有效的 HTML 文件,您必须对 XSLT 文件进行两项更改:
添加一个
<xsl:output method="html" indent="yes" />
作为您的顶级元素
xsl:stylesheet
。和...添加与根元素匹配的通用 HTML 模板
/
:<xsl:template match="/"> <html> <body> <xsl:apply-templates select="node()|@*" /> </body> </html> </xsl:template>
推荐阅读
- java - 初始化外部构造函数与内部
- linux - 正确使用带有命名管道的 gzip
- html - 将输入元素移动到 div 的中心
- javascript - 如何修复 NetworkError:无法在“XMLHttpRequest”上执行“发送”:无法加载
- c# - ASP.NET Core 3 Identity - 从 Xamarin 表单添加登录
- javascript - 向特定用户添加角色
- javascript - 如何在 JSX 中编写嵌套循环以减少重复代码?
- java - 构建 AOSP 10 时出现 Java OutOfMemoryError
- angular - NullInjectorError: StaticInjectorError(AppModule)[Voter -> Number]:
- python - IIS winserver 2016 wfastcgi 处理程序行 791 上的 django