提问人:Kate 提问时间:2/14/2023 更新时间:2/14/2023 访问量:75
如何将XML文件与XSLT 3.0文件链接?
How to link up XML file with XSLT 3.0 file?
问:
我有带有数据的 .xml 文件和带有 html 表的 .xsl。如何链接这些文件? (示例摘自文档:https://www.w3.org/TR/xslt-30/#dt-raw-result) .xml:
<PERSONAE PLAY="OTHELLO">
<TITLE>Dramatis Personae</TITLE>
<PERSONA>DUKE OF VENICE</PERSONA>
<PERSONA>BRABANTIO, a senator.</PERSONA>
<PERSONA>Other Senators.</PERSONA>
<PERSONA>GRATIANO, brother to Brabantio.</PERSONA>
<PERSONA>LODOVICO, kinsman to Brabantio.</PERSONA>
<PERSONA>OTHELLO, a noble Moor in the service of the Venetian state.</PERSONA>
<PERSONA>CASSIO, his lieutenant.</PERSONA>
<PERSONA>IAGO, his ancient.</PERSONA>
<PERSONA>RODERIGO, a Venetian gentleman.</PERSONA>
<PERSONA>MONTANO, Othello's predecessor in the government of Cyprus.</PERSONA>
<PERSONA>Clown, servant to Othello. </PERSONA>
<PERSONA>DESDEMONA, daughter to Brabantio and wife to Othello.</PERSONA>
<PERSONA>EMILIA, wife to Iago.</PERSONA>
<PERSONA>BIANCA, mistress to Cassio.</PERSONA>
<PERSONA>Sailor, Messenger, Herald, Officers,
Gentlemen, Musicians, and Attendants.</PERSONA>
</PERSONAE>
.xsl:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="3.0"
expand-text="yes">
<xsl:strip-space elements="PERSONAE"/>
<xsl:template match="PERSONAE">
<html>
<head>
<title>The Cast of {@PLAY}</title>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="TITLE">
<h1>{.}</h1>
</xsl:template>
<xsl:template match="PERSONA[count(tokenize(., ',') = 2]">
<p><b>{substring-before(., ',')}</b>: {substring-after(., ',')}</p>
</xsl:template>
<xsl:template match="PERSONA">
<p><b>{.}</b></p>
</xsl:template>
</xsl:stylesheet>
先谢谢你!
我已经看过了,但不确定它是否正确(当我启动 .xml 文件时,有一个空白站点)。<?xml-stylesheet type="text/xsl" href="/file name/.xsl"?>
答:
0赞
Michael Kay
2/14/2023
#1
这取决于要在何处运行转换,以及如何控制它。通常有三种选择:
(a) 从命令行调用转换,标识源文档和样式表
(b) 使用来自 Java、C#、Javascript 或 Python 等编程语言的 API 调用转换。
(c) 使用 xml 样式表处理指令在 XML 文件中指定样式表,然后使用识别此样式的环境(例如浏览器)“加载”XML 文件。这种方法有两个缺点:(i) 大多数此类环境只能识别 XSLT 1.0,并且 (ii) 它使得在不同场合使用不同的样式表处理同一文档变得非常困难。
实际上,如果您使用的是 XSLT 3.0,那么第一步是选择您的 XSLT 处理器(只有两个处理器受到积极支持,Altova 和 Saxon),然后查看其文档以了解如何调用转换。
评论
xml-stylesheet