私はAdobe CQに取り組んでいます。Raw ファイルのメタデータを抽出し、メタデータをIIOMetadata
オブジェクトとして取得しています。
XML入力ストリームをJCRにマッピングしsession.importXml
ていますが、私のXMLは似ているためです
<parentTag name ="" value =""><child tag.....</parentTage>
( のようなものがないことを意味parent : properties
し、コロン記号は使用しません)
したがって、マッピング後、すべてのプロパティ名をノードとして取得し、そこに値をノード プロパティとして取得しています。このため、地獄はありません。ノードの。
正しくマッピングする方法はありますか?
注:
CRW ファイルからメタデータを抽出してIIOMetadata
おり、オブジェクトとして取得しています。次に、このIIOMetadata
オブジェクトを XML 入力ストリームに変換しています。そしてマッピングsession.import
ImageReader reader = ImageIO.getImageReaders(tempFile).next();
final IIOMetadata metadata = reader.getImageMetadata(0);
String[] mdatanames = metadata.getMetadataFormatNames();
for(int i=0;i < mdatanames.length; i++)
{
Node metadatadom = metadata.getAsTree(mdatanames[i]);
DOMSource source = new DOMSource(metadatadom);
StringWriter writer = new StringWriter();
StreamResult result1 = new StreamResult(writer);
ByteArrayOutputStream os = new ByteArrayOutputStream();
StreamResult result = new StreamResult(os);
Transformer transformer =
TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
transformer.transform(source, result1);
ByteArrayInputStream bais = new
ByteArrayInputStream(os.toByteArray());
String nodePath1 = asset.getPath() + "/jcr:content/metadata" ;
session.importXML(nodePath1, bais,
ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
String metadata_in_xml = writer.toString();
}
私も使ったことがありImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING
ます。
助けてください.. DNGファイルやその他のサポートされているファイルのように、デフォルトのマッピングが行われるようにメタデータをマッピングしたいです。