private ViewDefinitionImpl translate(final String viewId,
final String svgPath,
final Document document,
final StyleSheetDefinition styleSheetDefinition) throws Exception {
final Path path = Paths.get(svgPath);
final String relativePath = path.getNameCount() > 1 ?
path.subpath(0, path.getNameCount() - 1).toString() :
"";
final SVGTranslatorContext context = new SVGTranslatorContext(document,
relativePath,
styleSheetDefinition);
if (null != viewId) {
context.setViewId(viewId);
}
final ViewDefinitionImpl viewDefinition = (ViewDefinitionImpl) translator.translate(context);
viewDefinition.setPath(svgPath);
viewDefinition.getStaticFields().putAll(context.getStaticStringMembers());
return viewDefinition;
}