首页 > 解决方案 > 如何在不访问 w3c 的情况下进行 fo 到 pdf 转换?

问题描述

是否可以在不访问 www.w3.org 的情况下通过 java.xml.transform 对 pdf 进行转换?当然,架构中也有对本网站的引用等。示例:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xml.apache.org/fop/extensions">

有没有办法将文件移动到本地机器以避免转到 w3 服务器?我知道这并不理想,但是访问 w3 的 ip 当前正在获取 http403,因此在我们解决更大的问题时我需要一个临时的解决方法。感谢您的任何想法。

标签: pdfxsl-fow3c

解决方案


看起来像以属性开头的东西xmlns是名称空间声明。由于名称空间声明,您的 XSLT 处理器和 XSL 格式化程序都不会访问 W3C 服务器。

命名空间只是一种消除具有相同本地名称的元素的歧义的方法。在您的情况下,http://www.w3.org/1999/XSL/Transform名称空间 URI 让 XSLT 处理器识别对 XSLT 处理很重要的元素(和一些属性),而http://www.w3.org/1999/XSL/Format名称空间 URI 让 XSL 格式化程序识别由 XSL 规范定义的元素。

作为命名空间声明值的 URI 不需要是可解析的 URL。但要使您的 XSLT 和 XSL-FO 处理工作,它们必须是您正在使用的那些 URL。

我会向您推荐 XML 规范中的命名空间,但我自己也遇到了类似的 403 问题。来自 xml.com 的本教程解释了命名空间:https ://www.xml.com/pub/a/1999/01/namespaces.html


推荐阅读