- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Java 中的 XSLT 转换器(实际上是它的 Apache FOP 渲染为 PDF),我已经在其中设置了一个自定义 URIResolver(用于“servlet-context:”URI)。
现在我需要另外使用另一个 URIResolver(用于缓存 DTD 的 CatalogResolver)。
我现在需要编写自己的 URIResolver 来调用两者中的任何一个吗?还是有更好的方法来做到这一点?
最佳答案
当 URIResolver
无法解析引用时,它应该返回 null
。这允许底层解析器尝试。
如果您设计解析器,以便在构造时将另一个 URIResolver
作为参数,那么您可以使用解析器链接。
TransformerFactory tf;
tf.setURIResolver(new SomeOtherResolver());
tf.setURIResolver(new MyResolver(tf.getURIResolver());
public class MyResolver implements URIResolver {
public MyResolver(URIResolver nextInLine) {
this.nextInLine = nextInLine;
}
private URIResolver nextInLine;
public Source resolve(String href, String base) throws TransformerException {
...try to solve and return Source object...
return nextInLine; // instead of returning null on failure, return nextInLine
}
}
另一种方法是编写一个解析器,它允许您将解析器链设置为列表,并继续调用它们,直到返回非null
答案,然后返回该答案。
关于java - TransformerFactory 上有多个 URIResolver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1068689/
我编写了在打印之前将文档转换为字符串的代码 TransformerFactory tf = TransformerFactory.newInstance(); Tran
我有一个 Java 中的 XSLT 转换器(实际上是它的 Apache FOP 渲染为 PDF),我已经在其中设置了一个自定义 URIResolver(用于“servlet-context:”URI)
我面临着一个非常烦人的问题,导致服务器 Java 进程终止,从这段代码中踢出(精简): _sesXslProc = new ArrayList(); TransformerFactory tFacto
我遇到一个问题,我不知道根本原因到底是什么。 我创建了 javax.xml.transform.TransformerFactory 的实例,然后直接解析 xsltSource: protected
我有以下代码: final TransformerFactory factory = TransformerFactory.newInstance(); factory.setAttribute(XM
我正在使用 JAXP XSLT API (javax.xml.transform) 来转换 xml 文件。 TransformerFactory transformerFactory = Transf
我需要为 XML 文档的离线转换编写程序。使用以下内容加载原始 XML 文件时,我已经能够停止 DTD 网络查找: DocumentBuilderFactory factory; factory =
出于安全原因,我添加了声明: transformerFactory.setFeature("http://javax.xml.XMLConstants/property/accessExternalD
在我的 Web 应用程序中,我需要使用 Saxon TransformerFactory 才能使用 XSLT 2.0,但我不能使用 setProperty 方法,因为我在 Web 服务器上没有此权限并
我正在使用 Apache FOP 2.4 生成一个以 XML 文件作为输入的 PDF 文档。为了防止 XXE 攻击,我需要在 TransformerFactory 中设置安全处理功能 (FEATURE
Transformer 文档 ( https://docs.oracle.com/javase/8/docs/api/javax/xml/transform/TransformerFactory.ht
我打算在我的 JSF 2.0 项目中使用 Saxon-B 9。但是在添加对 Saxon & Saxon-dom 的依赖后,异常开始出现在启动时: Sep 25, 2010 6:05:45 PM com
在jdk1.6中,我在设置的时候 transformerFactory.setFeature(XMLConstants.ACCESS_EXTERNAL_DTD, false) 我遇到了以下错误: ja
在哪里可以找到作为 javax.xml.TranformerFactory.setAttribute(String,String) 的合法输入的属性列表?输入非法字符串会产生讨厌的运行时异常。 最佳答
我们无法正确转换 Unicode 字符。我们以 XML 格式提供输入,当我们尝试转换时,我们无法取回原始字符串。 这是我正在使用的代码, StringCarrier OStringCarrier =
TransformerFactory.newInstance().newTransformer(streamSource) 怎么会返回 null。根据 javadoc 这是不可能的: http://d
我正在使用 javax.xml.transform.Transform 将 XML 文件转换为 PDF。这本身就可以正常工作,但项目的某些部分正在使用 Xalan,它实现了自己的 Transforme
Java API 保证它永远不会返回 null - 但对我来说,它是! http://download.oracle.com/javase/6/docs/api/javax/xml/transform
我的问题: Fortify 4.2.1 将以下代码标记为易受 XML 外部实体攻击。 TransformerFactory factory = TransformerFactory.newInstan
我创建了一个网络应用程序,它使用 Saxon 库进行 XSLT 转换。当 Web 应用程序使用自己的名称(等于 webapps 目录中的子目录的名称)部署在 Tomcat 上时,此应用程序运行良好。但
我是一名优秀的程序员,十分优秀!