news 2026/10/3 7:31:54

Nginx应用与运维——Nginx Web服务应用实战(XSLT转换服务器)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nginx应用与运维——Nginx Web服务应用实战(XSLT转换服务器)

Nginx Web服务应用实战

    • 5、XSLT转换服务器
      • 5.1、模块配置指令
      • 5.2、XSLT服务器配置样例

5、XSLT转换服务器

XSLT是用于将XML文档转换成其他格式,如XML、HTML或XHTML的脚本语言。通常我们会把XML元素转换成HTML或XHTML元素,也可以利用其语法命令对各元素进行添加、移除或重新排列。Nginx通过ngx_http_xslt_module模块对加载的XML进行动态转换。

5.1、模块配置指令

XSLT模块配置指令如表所示。

XSLT样式模板是在Nginx启动初始化时加载的,所以XSLT样式模板每次变更都需要Nginx重载配置。

5.2、XSLT服务器配置样例

本节的配置样例是将Nginx利用自动索引功能生成XML格式目录列表,通过XSLT模板将XML数据转换成Bootstrap样式的HTML表格页面,页面效果如图所示。

Nginx配置样例如下:

server{listen8081;server_name localhost;charset utf-8;root /opt/nginx-web/files;default_type text/xml;location /{autoindex on;# 启用自动页面功能autoindex_localtime on;# 使用Nginx服务器时间autoindex_format xml;# 自动页面输出格式为XMLxslt_stylesheet conf/conf.d/example/test2.xslt;# 引入XSLT模板文件}}

页面模板文件test2.xslt内容如下:

<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:templatematch="/"><html><head><metacontent="text/html; charset=UTF-8"http-equiv="Content-Type"/><linkrel="stylesheet"href="https://cdn.staticfile.org/twitter-bootstrap/ 3.3.7/css/bootstrap.min.css"/><scriptsrc="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script><scriptsrc="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap. min.js"></script></head><body><h3>Nginx XSLT示例</h3><tableclass="table table-striped table-bordered"><thead><th>文件名</th><th>文件大小</th><th>文件修改时间</th></thead><xsl:for-eachselect="list/*"><xsl:sortselect="mtime"/><xsl:variablename="name"><xsl:value-ofselect="."/></xsl:variable><xsl:variablename="size"><xsl:iftest="string-length(@size) & gt; 0"><xsl:iftest="number(@size) & gt; 0"><xsl:choose><xsl:whentest="round(@size div 1024) & lt; 1"><xsl:value-ofselect="@size"/></xsl:when><xsl:whentest="round(@size div 1048576) & lt; 1"><xsl:value-ofselect="format-number((@size div 1024), '0.0')"/>K</xsl:when><xsl:otherwise><xsl:value-ofselect="format-number((@size div 1048576), '0.00')"/>M</xsl:otherwise></xsl:choose></xsl:if></xsl:if></xsl:variable><xsl:variablename="date"><xsl:value-ofselect="substring(@mtime,1,4)"/>-<xsl:value-ofselect="substring(@mtime,6,2)"/>-<xsl:value-ofselect="substring(@mtime,9,2)"/><xsl:text></xsl:text><xsl:value-ofselect="substring(@mtime,12,2)"/>:<xsl:value-ofselect="substring(@mtime,15,2)"/>:<xsl:value-of select="substring(@mtime,18,2)”/></xsl:variable><tr><td><ahref=”{$name}”><xsl:value-ofselect=”.”/></a></td><tdalign=”center”><xsl:value-ofselect=”$size”/></td><td><xsl:value-ofselect=”$date”/></td></tr></xsl:for-each></table></body></html></xsl:template></xsl:stylesheet>

XSLT样式模板可以引入CSS、JS文件,所以它可将XML文件渲染成具有更多功能的前端动态页面。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 7:31:37

开题报告重点与难点总分不清?用智一刻3步提炼学术突破关键

大四开题答辩现场&#xff0c;评审专家翻开开题报告&#xff0c;最爱提问的质询之一就是&#xff1a;“你的这篇论文&#xff0c;攻关重点究竟在哪里&#xff1f;学术难点又在哪里&#xff1f;” 很多同学在台上一阵语塞。在很多毕业生的观念里&#xff0c;往往误以为哪一章写…

作者头像 李华
网站建设 2026/10/3 7:31:14

链路层排查实战:从以太网帧、ARP到MTU,一次讲透

做网络这一行做久了&#xff0c;我养成了一个习惯&#xff1a;不管排查什么问题&#xff0c;第一件事永远是打开抓包工具瞄一眼链路层。很多人不理解&#xff0c;说你查TCP重传、看应用层超时&#xff0c;跟链路层有什么关系&#xff1f;但我的经验恰恰相反——TCP/IP协议栈里的…

作者头像 李华
网站建设 2026/10/3 7:30:40

AnyPS5快速上手:5步将PS5可执行文件移植到Linux的完整教程

AnyPS5快速上手&#xff1a;5步将PS5可执行文件移植到Linux的完整教程 【免费下载链接】AnyPS5 Tool for automatic PS5 executables porting to Linux and Windows 项目地址: https://gitcode.com/gh_mirrors/an/AnyPS5 想让 PS5 可执行文件在 Linux 上原生运行&#x…

作者头像 李华
网站建设 2026/10/3 7:29:38

从零写一个多后端编译器:Java 字节码、JIT、GC 和 GraalVM Polyglot

从零写一个多后端编译器&#xff1a;Java 实现字节码、分层 JIT、GC 和 GraalVM Polyglot 跨语言互操作 UniVM 是一个编译器实验项目&#xff1a;多前端 → 统一字节码 → 解释器 分层 JIT → C / C / Go / JAR 多后端。 M1–M6 全部验证通过&#xff0c;JIT 加速 2.47x&#…

作者头像 李华