怎么在XML中使用样式表 xml-stylesheet指令

XML文档中关联CSS或XSLT需用处理指令,位于XML声明后、根元素前;CSS用type="text/css",XSLT用type="text/xsl"或"application/xslt+xml",均须外部引用且路径相对XML文档。

在XML文档中关联CSS或XSLT样式表,需使用处理指令(PI),它必须出现在XML声明之后、根元素之前。

基本语法与位置要求

该指令是XML处理指令,不是XML元素,格式固定:

  • 必须以开头,以?>结尾
  • 只能出现在XML声明()之后、第一个元素之前
  • 一个XML文档可包含多个xml-stylesheet指令,浏览器通常只识别第一个有效的CSS关联

关联CSS样式表

用于为XML文档定义可视化样式(如在浏览器中渲染):




  XML入门
  张三
  • type="text/css":明确声明样式表类型
  • href:相对或绝对路径,指向CSS文件
  • 浏览器加载XML时,会同时获取并应用该CSS(前提是XML被直接打开,且浏览器支持)

关联XSLT转换样式表

用于将XML转换为HTML或其他格式(常用于服务端或支持XSLT的客户端):




  苹果
  香蕉
  • type="text/xsl"type="application/xslt+xml"均可,后者更符合现代标准
  • XSLT文件需是合法的XSLT 1.0/2.0/3.0文档,浏览器内置支持通常限于XSLT 1.0
  • 部分浏览器(如Firefox)支持本地XSLT转换;Chrome默认禁用本地文件的XSLT(因安全策略),需通过本地服务器访问

常见注意事项

实际使用中容易忽略的关键点:

  • 路径错误是最常见问题——href是相对于XML文档所在位置解析的
  • XML文档必须格式良好(well-formed),否则样式表不会被处理
  • 不支持内联样式表(不能像HTML那样写),所有样式必须外部引用
  • 多个样式表可通过添加titlealternate属性实现可选切换(类似HTML的),但浏览器支持有限,不推荐依赖