現在、XSL 変換を使用して XML から HTML を生成するプロジェクトに取り組んでいます。入力フィールドには、設定しなければならない属性がいくつかあります。
サンプル:
<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 オブジェクトを作成できることでした。しかし、それはファイル パスでなければならないようです。少なくとも、ドキュメントを直接使用する方法が見つかりません。
私が望むものを達成する方法を知っている人はいますか?
ありがとう