博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在Web浏览器中查看XML文件
阅读量:2540 次
发布时间:2019-05-11

本文共 2506 字,大约阅读时间需要 8 分钟。

一旦了解到HTML是XML的一种形式,您可能会想知道如果尝试在浏览器中查看XML文件会发生什么。 结果令人非常失望-Firefox在页面顶部显示一条横幅,上面写着:“此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。” 文档树看起来像文件在编辑器中的样子:

Scribus XML file

这是随附的在线手册的menu.xml文件的开头,我是该撰稿人。 尽管您看到蓝色文本,但它们不是可单击的链接。 我希望能够在常规浏览器中查看此内容,因为有时我需要在Scribus中的画布上来回浏览手册,以弄清楚如何做某事(也许是看看是否需要编辑手册以使其更直找出一些错误信息或添加一些缺少的信息)。

帮助浏览器知道如何处理这些XML标记的方法是使用XSLT(可扩展样式表语言转换)。 从广义上讲,您可以使用XSLT将XML转换为各种输出,甚至将HTML转换为XML。 在这里,我想使用它将XML标签作为合适HTML呈现给浏览器。

需要对XML文件进行一些小的修改:

Modified XML file

在文件中添加第二行,将指示浏览器查找名为scribus-manual.xsl的文件以获取样式信息。 更重要的部分是创建此XSL文件。 这是Scribus手册的scribus-manual.xsl的完整列表:

 
   
   
Scribus Online Manual <div></div>
       
               
               
       
   
     
       
         

         
           

               
                 

                       
  •                  

               
         
       
         

       
       
     
   
   
 

这看起来更像HTML,您可以看到它包含许多HTML标记。 在经过一些初步的标记以及有关显示H2,H3和H4标记的一些细节之后,您将看到一个Table标记。 这将在页面顶部添加图形标题,并使用文档文件中已有的某些图像。

此后,您将进入剖析各个子菜单标签的过程,尝试创建嵌套列表结构,如在查看手册时在Scribus中显示的那样。 我没有尝试重复的功能之一就是能够折叠和扩展子菜单区域。 您可以想象,需要一些时间来整理您需要创建的嵌套列表的数量,但是当我完成时,它的外观如下:

Scribus menu

menu.xml的最小编辑不会影响Scribus在其自己的浏览器中显示手册的功能。 我将修改后的menu.xml文件和scribus-manual.xsl放在Scribus的1.5.x版本的英文文档文件夹中,因此使用这些版本的任何人都可以将其浏览器指向menu.xml文件,它应该只显示就像你在上面看到的

我几年前做的一件大事,是在发行ICD10(国际疾病分类,第10版)时创建了该版本。 从以前的版本(ICD9)到10,进行了许多更改。这很重要,因为在医疗实践中必须将这些代码用于诊断目的。 由于XML文件是公共信息,因此您可以轻松地从美国网站下载XML文件,但是-就像Scribus手册一样,这些文件很难使用。

这是疾病表格列表的开始:

Tabular listing of diseases in ICD10

我创建的功能之一是此处显示的清单中使用的颜色编码:

Color-coding feature

menu.xml一样 ,我在Tabular.xml文件中所做的唯一编辑是添加<?xml-stylesheet type =“ text / xsl” href =“ tabular.xsl”?>作为文件的第二行。 我从2014年版本开始了这个项目,很高兴发现当2016年版本发布时,原始的tabular.xsl样式表可以完美地工作,这是我最后处理的版本。 Tabular.xml文件为8.4MB,对于纯文本文件来说很大。 加载到浏览器需要花费几秒钟的时间,但是一旦加载,导航就会很快。

尽管您可能不必经常用这种方式处理XML文件,但是如果您愿意的话,我希望本文表明您可以轻松地将文件转换为更有用的文件。

翻译自:

转载地址:http://deczd.baihongyu.com/

你可能感兴趣的文章
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_10_常用的函数式接口_Consumer接口中的默认方法andThen...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_11_常用的函数式接口_Consumer接口练习...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_13_常用的函数式接口_Predicate接口中的默认方法and...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_12_常用的函数式接口_Predicate接口...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_15_常用的函数式接口_Predicate接口练习-集合信息的筛选...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_14_常用的函数式接口_Predicate接口中的默认方法or和negate...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_17_常用的函数式接口_Function接口中的方法andThen...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_16_常用的函数式接口_Function接口中的方法Apply...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_1_使用传统的方式,遍历集合,对集合进行过滤...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_2_使用Stream流的方式,遍历集合...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_16_常用的函数式接口_Function接口中练习-自定义函数模型拼接...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_2_Stream流中的常用方法_forEach...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_1_两种获取Stream流的方式...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_4_Stream流的特点_只能使用一次...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_5_Stream流中的常用方法_map...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_6_Stream流中的常用方法_count...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_7_Stream流中的常用方法_limit...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_8_Stream流中的常用方法_skip...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_3_Stream流中的常用方法_filter...
查看>>