如何在Web浏览器中查看XML⽂件
⼀旦了解到HTML是XML的⼀种形式,您可能会想知道如果尝试在浏览器中查看XML⽂件会发⽣什么。 结果令⼈⾮常失望-Firefox在页⾯顶部显⽰⼀条横幅,上⾯写着:“此XML⽂件似乎没有与之关联的任何样式信息。⽂档树如下所⽰。” ⽂档树看起来像⽂件在编辑器中的样⼦:
这是随附的在线⼿册的l⽂件的开头,我是该撰稿⼈。 尽管您看到蓝⾊⽂本,但它们不是可单击的链接。 我希望能够在常规浏览器中查看此内容,因为有时我需要在Scribus中的画布上来回浏览⼿册,以弄清楚如何做某事(也许是看看是否需要编辑⼿册以使其更直出⼀些错误信息或添加⼀些缺少的信息)。
帮助浏览器知道如何处理这些XML标记的⽅法是使⽤XSLT(可扩展样式表语⾔转换)。 从⼴义上讲,您可以使⽤XSLT将XML转换为各种输出,甚⾄将HTML转换为XML。 在这⾥,我想使⽤它将XML标签作为合适HTML呈现给浏览器。
需要对XML⽂件进⾏⼀些⼩的修改:
在⽂件中添加第⼆⾏,将指⽰浏览器查名为scribus-manual.xsl的⽂件以获取样式信息。 更重要的部分是创建此XSL⽂件。 这是Scribus⼿册的scribus-manual.xsl的完整列表
<?xml version = "1.0" encoding = "utf-8" ?>
<xsl:stylesheet version = "1.0"
xmlns:xsl = "/1999/XSL/Transform" >
xml文件怎么打开<xsl:template match = "/" >
<html >
<title > Scribus Online Manual
</title >
<style type = "text/css" >
h2,h3,h4 { text-indent: 50px;}
ul { margin-left: 100px;}
</style >
<table border = "0" cellspacing = "0" cellpadding = "0" width = "100%"      bgcolor = "#183867" >
<tr >
<td align = "left" > <img src = "images/docheader1.png" width = "222"      height = "87" /> </td >
<td align = "right" > <img src = "images/docheader2.png" width = "318"      height = "87" /> </td >
</tr >
</table >
<body bgcolor = "#ffffff" >
<xsl:for-each select = "menu" >
<xsl:for-each select = "area" >
<h3 > <a href = "{@file}" > <xsl:value-of select = "@text" /> </a > </h3 >      <xsl:for-each select = "submenuitem" >
<h4 > <a href = "{@file}" > <xsl:value-of select = "@text" /> </a > </h4 >      <xsl:for-each select = "submenuitem" >
<p > <ul >
<li > <a href = "{@file}" > <xsl:value-of select = "@text" /> </a > </li >
</ul > </p >
</xsl:for-each >
</xsl:for-each >
<xsl:for-each select = "area" >
<xsl:for-each select = "area" >
<h3 > <a href = "{@file}" > <xsl:value-of select = "@text" /> </a > </h3 >
</xsl:for-each >
</xsl:for-each >
</xsl:for-each >
</body >
</html >
</xsl:template >
</xsl:stylesheet >
这看起来更像HTML,您可以看到它包含许多HTML标记。 在经过⼀些初步的标记以及有关显⽰H2,H3和H4标记的⼀些细节之后,您将看到⼀个Table标记。 这将在页⾯顶部添加图形标题,并使⽤⽂档⽂件中已有的某些图像。
此后,您将进⼊剖析各个⼦菜单标签的过程,尝试创建嵌套列表结构,如在查看⼿册时在Scribus中显⽰的那样。 我没有尝试重复的功能之⼀就是能够折叠和扩展⼦菜单区域。 您可以想象,需要⼀些时间来整理您需要创建的嵌套列表的数量,但是当我完成时,它的外观如下:
对l的最⼩编辑不会影响Scribus在其⾃⼰的浏览器中显⽰⼿册的功能。 我将修改后的l⽂件和scribus-manual.xsl放在Scribus的1.5.x版本的英⽂⽂档⽂件夹中,因此使⽤这些版本的任何⼈都可以将其浏览器指向l⽂件,它应该只显⽰就像你在上⾯看到的
我⼏年前做的⼀件⼤事,是在发⾏ICD10(国际疾病分类,第10版)时创建了该版本。 从以前的版本(ICD9)到10,进⾏了许多更改。这很重要,因为在医疗实践中必须将这些代码⽤于诊断⽬的。 由于XML⽂件是公共信息,因此您可以轻松地从美国⽹站下载XML⽂件,但是-就像Scribus⼿册⼀样,这些⽂件很难使⽤。
这是疾病表格列表的开始: