snapshot for logical model and enxp parsing
This commit is contained in:
parent
9b8ae8a9c8
commit
026aa86697
|
@ -463,7 +463,11 @@ public class ProfileUtilities extends TranslatingUtilities {
|
||||||
StructureDefinitionDifferentialComponent diff = cloneDiff(derived.getDifferential()); // we make a copy here because we're sometimes going to hack the differential while processing it. Have to migrate user data back afterwards
|
StructureDefinitionDifferentialComponent diff = cloneDiff(derived.getDifferential()); // we make a copy here because we're sometimes going to hack the differential while processing it. Have to migrate user data back afterwards
|
||||||
StructureDefinitionSnapshotComponent baseSnapshot = base.getSnapshot();
|
StructureDefinitionSnapshotComponent baseSnapshot = base.getSnapshot();
|
||||||
if (derived.getDerivation().equals(TypeDerivationRule.SPECIALIZATION)) {
|
if (derived.getDerivation().equals(TypeDerivationRule.SPECIALIZATION)) {
|
||||||
baseSnapshot = cloneSnapshot(baseSnapshot, base.getType(), derived.getType());
|
String derivedType = derived.getType();
|
||||||
|
if (StructureDefinitionKind.LOGICAL.equals(derived.getKind()) && derived.getType().contains("/")) {
|
||||||
|
derivedType = derivedType.substring(derivedType.lastIndexOf("/")+1);
|
||||||
|
}
|
||||||
|
baseSnapshot = cloneSnapshot(baseSnapshot, base.getType(), derivedType);
|
||||||
}
|
}
|
||||||
processPaths("", derived.getSnapshot(), baseSnapshot, diff, baseCursor, diffCursor, baseSnapshot.getElement().size()-1,
|
processPaths("", derived.getSnapshot(), baseSnapshot, diff, baseCursor, diffCursor, baseSnapshot.getElement().size()-1,
|
||||||
derived.getDifferential().hasElement() ? derived.getDifferential().getElement().size()-1 : -1, url, webUrl, derived.present(), null, null, false, base.getUrl(), null, false, new ArrayList<ElementRedirection>(), base);
|
derived.getDifferential().hasElement() ? derived.getDifferential().getElement().size()-1 : -1, url, webUrl, derived.present(), null, null, false, base.getUrl(), null, false, new ArrayList<ElementRedirection>(), base);
|
||||||
|
|
|
@ -245,7 +245,7 @@ public class XmlParser extends ParserBase {
|
||||||
if (!Utilities.noString(text)) {
|
if (!Utilities.noString(text)) {
|
||||||
Property property = getTextProp(properties);
|
Property property = getTextProp(properties);
|
||||||
if (property != null) {
|
if (property != null) {
|
||||||
if ("ED.data[x]".equals(property.getDefinition().getId())) {
|
if ("ED.data[x]".equals(property.getDefinition().getId()) || (property.getDefinition()!=null && property.getDefinition().getBase()!=null && "ED.data[x]".equals(property.getDefinition().getBase().getPath()))) {
|
||||||
if ("B64".equals(node.getAttribute("representation"))) {
|
if ("B64".equals(node.getAttribute("representation"))) {
|
||||||
context.getChildren().add(new Element("dataBase64Binary", property, "base64Binary", text).markLocation(line(node), col(node)));
|
context.getChildren().add(new Element("dataBase64Binary", property, "base64Binary", text).markLocation(line(node), col(node)));
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue