XML/XSLT

简单了解XML中的处理指令

16-02-15 10:54作者:脚本之家

"处理指令(PIs)允许文档包含用于应用程序的指令。指令并不是文档字符数据的一部分,但是必须通过应用程序传递"。
处理指令可以用于将信息传递给应用程序。处理指令可以出现在文档任意位置的标记外部。可以出现在序言中,包括文档的类型定义(DTD),文本内容或者文档之后。

处理指令,允许文档中包含由应用程序来处理的指令。在XML文档中,有可能会包含一些非XML格式的数据,这些数据XML处理器无法处理,我们就可以通过处理指令来通知其它应用程序来处理这些数据。
处理指令(PI)的语法和XML声明类似,以<?开始,以?>结束。一个常见的使用样式表单的处理指令如下所示:

XML/HTML Code复制内容到剪贴板
  1. <?xml-styesheet herf=”hello.css” type=”text/css”?>  

在开始标记<?后的第一个字符串xml-styesheet 叫做处理指令的目标,它必须标识要用到的应用程序,要注意的是对于其它的非W3C定义的处理指令不能以字符串XML和xml开头,其余的部分是传递给应用程序的字符数据,应用程序从处理指令中取得目标和数据,执行要求的动作。
处理指令的目标可以是要使用的程序的名字,或者是一个类似于xml-stylesheet这样的很多程序可以识别的通过标识符。不同的应用程序支持不同的处理指令,对于不认识的处理指令,大多数应用程序采取忽略的方式进行处理。对于自定义的处理指令,它通常都是由选定的某个应用程序进行处理。因为你所定义的这个处理指令,对于其它应用程序来说并不能识别,这时就会忽略的方式来处理。
xml-stylesheet处理指令总是放在XML声明之后和,第一元素之前。其它的处理指令可以放在标记的内部和XML声明之前的任何位置。
要注意,虽然XML声明和处理指令的语法形式相似,但XML声明并不是处理指令,XML处理程序对XML声明和处理指令采取的是不同的处理方式


语法
下面是处理指令的语法:

XML/HTML Code复制内容到剪贴板
  1. <?target instructions?>  

其中:

target - 标识指令指向哪个应用程序。
instruction - 字符,描述了应用程序要处理的信息。
处理指令以特殊的 <? 标记开始,以 ?> 结尾。处理的内容在遇到字符串 ?> 时立即结束。

示例
处理指令很少被使用。主要用于链接 XML 文档到样式表。下面是一个例子:

XML/HTML Code复制内容到剪贴板
  1. <?xml-stylesheet href="tutorialspointstyle.css" type="text/css"?>  

这里,target 就是 xml-stylesheet。href="tutorialpointstyle.css" 和 type="text/css" 就是数据或者目标应用程序用将要用来处理给定 XML 文档的指令。

在这种情况下,浏览器通过标示识别目标,XML 应该在显示之间被转换;第一个属性状态说明转换类型是 XSL,第二个属性指向它的位置。

处理指令规则
处理指令可以包含除了 ?> 组合之外的任意数据,它被解释为闭合指令。下面是两个有效的处理指令示例:

XML/HTML Code复制内容到剪贴板
  1. <?welcome to pg=10 of tutorials point?>  
  2.   
  3. <?welcome?>  
相关文章
网友评论