我目前正在使用XSL-Transformations從XML生成HTML的項目。 在輸入字段有一些屬性,我必須設置。
樣品:XSL的後處理步驟
<input name="/my/xpath/to/node"
class="{/my/xpath/to/node/@isValid}"
value="{/my/xpath/to/node}" />
這是非常愚蠢的,因爲我有寫相同的XPath 3次......我的想法是有某種後處理器的XSL文件,所以我可以這樣寫:
<input xpath="/my/xpath/to/node" />
我使用的是類似的東西進行改造我的XML
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import org.dom4j.Document;
import org.dom4j.io.DocumentResult;
import org.dom4j.io.DocumentSource;
public class Foo {
public Document styleDocument(
Document document,
String stylesheet
) throws Exception {
// load the transformer using JAXP
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(
new StreamSource(stylesheet)
);
// now lets style the given document
DocumentSource source = new DocumentSource(document);
DocumentResult result = new DocumentResult();
transformer.transform(source, result);
// return the transformed document
Document transformedDoc = result.getDocument();
return transformedDoc;
}
}
我希望利用的是,我可以出一個Document對象的創建Transformer對象。但它似乎必須是一個文件路徑 - 至少我找不到直接使用文檔的方法。
任何人都知道一種方法來實現我想要的?
感謝
它看起來像包括可以通過實現一個自定義的URIResolver(factory.setURIResolver(...))來解決 – Daniel