gpt4 book ai didi

xml - 链接 XML 和 XSL 文档时出现问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:28 24 4
gpt4 key购买 nike

除了 xpath 验证之外,第一次尝试使用 XML。我有一个家庭作业,我应该链接一个 XML 和一个 XSL 文档,以便在 firefox v25 或更高版本的浏览器中打开 XML 时显示如下:

山名:珠穆朗玛峰
pig 拉丁名:ountMa verestEa
山名:拉尼尔山
山名:圣海伦斯山
山名:华盛顿山
pig 拉丁名:ountMa ashingtonWa
山名:邦内尔山
pig 拉丁名:ountMa onnellBa
山名:维苏威火山
pig 拉丁名:ountMa esuviusVa
山名:埃特纳火山
pig 拉丁名:ountMa tnaEa

对于文件 Asg04XST.xml,我的 XML 代码如下。我已将其保存在桌面上名为 Asg04 的文件夹中:

<FamousMountains>
<mountain>
<name language="English">Mount Everest</name>
<name language="PigLatin">ountMa verestEa</name>
<location>Nepal</location>
<height units="feet">29035</height>
</mountain>
<mountain>
<name language="English">Mount Ranier</name>
<location>Washington</location>
<height units="feet">14411</height>
</mountain>
<mountain>
<name language="English">Mount St. Helens</name>
<location>Washington</location>
<height units="feet">8364</height>
</mountain>
<mountain>
<name language="English">Mount Washington</name>
<name language="PigLatin">ountMa ashingtonWa</name>
<location>New Hampshire</location>
<height units="feet">6288</height>
</mountain>
<mountain>
<name language="English">Mount Bonnell</name>
<name language="PigLatin">ountMa onnellBa</name>
<location>Austin</location>
<height units="feet">800</height>
</mountain>
<mountain>
<name language="English">Mount Vesuvius</name>
<name language="PigLatin">ountMa esuviusVa</name>
<location>Italy</location>
<height units="feet">4203</height>
</mountain>
<mountain>
<name language="English">Mount Etna</name>
<name language="PigLatin">ountMa tnaEa</name>
<location>Sicily</location>
<height units="feet">10922</height>
</mountain>
</FamousMountains>

然后,我在同一文件夹中创建了这个名为 Asg04.xsl 的 XSL 文件:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:output method="text" />

<xsl:template match="FamousMountains">

<html>
<head><title><h3>Julie Laursen</h3></title></head>
<body>

<xsl:for-each select="mountain">
Mountain Name: <xsl:value-of select="name"/>
</xsl:for-each>

</body>
</html>
</xsl:template>
</xsl:stylesheet>

因为我将它们保存在同一个文件夹中,所以我认为 match="/"会很好,然后我会冒险为每个 for-each 选择,我选择 mountain,然后在 value-of select 下,命名是山下的一个元素。然而,当我打开我的 XML 文档时,我并没有在任何地方看到它的反射(reflect)。我还没有进入 pig 拉丁部分,因为首先我想让 Mountain Name 起作用。如何让这两个文件相互查看?

我尝试过的事情:添加 href 行,例如 ?xml-stylesheet type="text/xsl"href="Asg04.xml"?以及 Asg04XST.xsl

最佳答案

这是更新后的 xml 和样式表,以获得所需的输出:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="mystylesheet.xsl"?>
<FamousMountains>
<mountain>
<name language="English">Mount Everest</name>
<name language="PigLatin">ountMa verestEa</name>
<location>Nepal</location>
<height units="feet">29035</height>
</mountain>
<mountain>
<name language="English">Mount Ranier</name>
<location>Washington</location>
<height units="feet">14411</height>
</mountain>
<mountain>
<name language="English">Mount St. Helens</name>
<location>Washington</location>
<height units="feet">8364</height>
</mountain>
<mountain>
<name language="English">Mount Washington</name>
<name language="PigLatin">ountMa ashingtonWa</name>
<location>New Hampshire</location>
<height units="feet">6288</height>
</mountain>
<mountain>
<name language="English">Mount Bonnell</name>
<name language="PigLatin">ountMa onnellBa</name>
<location>Austin</location>
<height units="feet">800</height>
</mountain>
<mountain>
<name language="English">Mount Vesuvius</name>
<name language="PigLatin">ountMa esuviusVa</name>
<location>Italy</location>
<height units="feet">4203</height>
</mountain>
<mountain>
<name language="English">Mount Etna</name>
<name language="PigLatin">ountMa tnaEa</name>
<location>Sicily</location>
<height units="feet">10922</height>
</mountain>
</FamousMountains>

mystylesheet.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="html" />

<xsl:template match="/">
<html>
<head><title>Julie Laursen</title></head>
<body>
<h3>Julie Laursen</h3>
<xsl:apply-templates />
</body>
</html>
</xsl:template>

<xsl:template match="mountain">
<xsl:for-each select="name">
<xsl:if test="@language='English'">
Mountain Name: <xsl:value-of select="."/><br/>
</xsl:if>
<xsl:if test="@language='PigLatin'">
Pig Latin Name: <xsl:value-of select="."/><br/>
</xsl:if>
</xsl:for-each>

</xsl:template>
</xsl:stylesheet>

输出

enter image description here

关于xml - 链接 XML 和 XSL 文档时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40075819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com