Я работаю над Adobe CQ. Я извлекаю метаданные для Raw-файлов и получаю метаданные как объект IIOMetadata
.Сопоставление потока ввода XML с JCR
Я отображение входного 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 и других поддерживаемых файлов.