protected void readDocumentSchemas(Element element, DocumentModel doc, boolean inlineBlobs) throws IOException {
SchemaManager schemaManager = Framework.getService(SchemaManager.class);
String[] schemaNames = doc.getSchemas();
for (String schemaName : schemaNames) {
Element schemaElement = element.addElement(ExportConstants.SCHEMA_TAG).addAttribute("name", schemaName);
Schema schema = schemaManager.getSchema(schemaName);
Namespace targetNs = schema.getNamespace();
if (StringUtils.isEmpty(targetNs.prefix)) {
targetNs = new Namespace(targetNs.uri, schema.getName());
}
schemaElement.addNamespace(targetNs.prefix, targetNs.uri);
DataModel dataModel = doc.getDataModel(schemaName);
for (Field field : schema.getFields()) {
Object value = dataModel.getData(field.getName().getLocalName());
readProperty(schemaElement, targetNs, field, value, inlineBlobs);
}
}
}