我是XML新手,希望得到一些反馈。我试图显示我的XML,看起来像这样:
How I hope to get my XML to display
我似乎无法在模板中显示元素。 (显然,我没有正确构建它们)。我如何让title元素(Koha)显示为粗体和更大,就像在示例中一样?我只是感觉有点卡住,我的教授很忙,我希望有人可以提出下一步该做什么的建议?
我的XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<digitalLibrarySystem xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.pages.drexel.edu/~eom25/657/diglibschema/digitalLibrarySystem.xsd">
<systemMetadata>
<title>Koha</title>
<creator>by Katipo Communications</creator>
<subject>public libraries</subject>
<subject>bibliographic managemen</subject>
<subject>distributed library systems</subject>
<description>Koha was one of the the first open-source Integrated Library Systems. It is used and maintained by the worldwide library community.</description>
<date>2000</date>
<type>ILS</type>
<rights>Open-source</rights>
<identifier xlink:type="simple" xlink:href="http://http://www.koha.org/">http://www.http://www.koha.org/</identifier>
</systemMetadata>
<aboutRecord>
<recordCreator>Matthew Weidemann</recordCreator>
<creationDate>May 6, 2018</creationDate>
</aboutRecord>
到目前为止我的XSLT:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h1>"font-weight:bold"><xsl:value-of select="title"/></h1>
<h2>by <xsl:value-of select="systemMetadata/creator"/></h2>
<h3><xsl:value-of select="systemMetadata/subject"/></h3>
<br/>
<p>
<h4><xsl:value-of select="systemMetadata/description"/></h4>
<br/>
</p>
<h5><xsl:value-of select="systemMetadata/rights"/></h5>
<br/>
<h6><i>Record created by <xsl:value-of
select="aboutRecord/recordCreator"/> on
<xsl:value-of select="aboutRecord/creationDate"/></i></h6>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我对我认为的XPath感到困惑,任何建议都有帮助。
答案 0 :(得分:0)
我重新整理了你的XSLT文件 如果你开始正确地缩进文件,你会更容易 并了解差异,开始理解XSLT的工作原理。
所以这是你的(略微修改过的)XSLT-1.0文件,它让你更接近你的目标:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Create HTML header and stuff -->
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates /> <!-- Apply the other templates -->
</body>
</html>
</xsl:template>
<!-- Process all systemMetadata sub-nodes -->
<xsl:template match="systemMetadata">
<h1>
<b><xsl:value-of select="title"/></b>
</h1>
<h2>
<xsl:value-of select="creator"/>
</h2>
<h2>
<xsl:value-of select="subject"/>
</h2>
<br/>
<p>
<h3>
<xsl:value-of select="description"/>
</h3>
</p>
<h3>
<xsl:value-of select="rights"/>
</h3>
</xsl:template>
<!-- Process all aboutRecord sub-nodes -->
<xsl:template match="aboutRecord">
<h3>
<i>Record created by <xsl:value-of
select="recordCreator"/> on <xsl:value-of select="creationDate"/></i>
</h3>
</xsl:template>
</xsl:stylesheet>
现在您可以将其修改为漂亮打印结果 如果要创建漂亮的边框,请将第一个模板更改为
<!-- Create HTML header and stuff -->
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr><td><xsl:apply-templates /></td></tr>
</table>
</body>
</html>
</xsl:template>