Fix bug producing invalid xhtml
This commit is contained in:
parent
4b5470f825
commit
a80d11334a
|
@ -270,7 +270,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderLeaf(ResourceWrapper res, BaseWrapper ew, ElementDefinition defn, XhtmlNode x, boolean title, boolean showCodeDetails, Map<String, String> displayHints, String path, int indent) throws FHIRException, UnsupportedEncodingException, IOException, EOperationOutcome {
|
private void renderLeaf(ResourceWrapper res, BaseWrapper ew, ElementDefinition defn, XhtmlNode parent, XhtmlNode x, boolean title, boolean showCodeDetails, Map<String, String> displayHints, String path, int indent) throws FHIRException, UnsupportedEncodingException, IOException, EOperationOutcome {
|
||||||
if (ew == null)
|
if (ew == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -361,7 +361,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
||||||
} else {
|
} else {
|
||||||
x.an(rw.getId());
|
x.an(rw.getId());
|
||||||
ResourceRenderer rr = RendererFactory.factory(rw, context.copy().setAddGeneratedNarrativeHeader(false));
|
ResourceRenderer rr = RendererFactory.factory(rw, context.copy().setAddGeneratedNarrativeHeader(false));
|
||||||
rr.render(x.blockquote(), rw);
|
rr.render(parent.blockquote(), rw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -598,7 +598,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
||||||
|
|
||||||
private void generateByProfile(ResourceWrapper res, StructureDefinition profile, BaseWrapper e, List<ElementDefinition> allElements, ElementDefinition defn, List<ElementDefinition> children, XhtmlNode x, String path, boolean showCodeDetails, int indent) throws FHIRException, UnsupportedEncodingException, IOException, EOperationOutcome {
|
private void generateByProfile(ResourceWrapper res, StructureDefinition profile, BaseWrapper e, List<ElementDefinition> allElements, ElementDefinition defn, List<ElementDefinition> children, XhtmlNode x, String path, boolean showCodeDetails, int indent) throws FHIRException, UnsupportedEncodingException, IOException, EOperationOutcome {
|
||||||
if (children.isEmpty()) {
|
if (children.isEmpty()) {
|
||||||
renderLeaf(res, e, defn, x, false, showCodeDetails, readDisplayHints(defn), path, indent);
|
renderLeaf(res, e, defn, x, x, false, showCodeDetails, readDisplayHints(defn), path, indent);
|
||||||
} else {
|
} else {
|
||||||
for (PropertyWrapper p : splitExtensions(profile, e.children())) {
|
for (PropertyWrapper p : splitExtensions(profile, e.children())) {
|
||||||
if (p.hasValues()) {
|
if (p.hasValues()) {
|
||||||
|
@ -626,7 +626,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
||||||
if (renderAsList(child) && p.getValues().size() > 1) {
|
if (renderAsList(child) && p.getValues().size() > 1) {
|
||||||
XhtmlNode list = x.ul();
|
XhtmlNode list = x.ul();
|
||||||
for (BaseWrapper v : p.getValues())
|
for (BaseWrapper v : p.getValues())
|
||||||
renderLeaf(res, v, child, list.li(), false, showCodeDetails, displayHints, path, indent);
|
renderLeaf(res, v, child, x, list.li(), false, showCodeDetails, displayHints, path, indent);
|
||||||
} else {
|
} else {
|
||||||
boolean first = true;
|
boolean first = true;
|
||||||
for (BaseWrapper v : p.getValues()) {
|
for (BaseWrapper v : p.getValues()) {
|
||||||
|
@ -634,7 +634,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
||||||
first = false;
|
first = false;
|
||||||
else
|
else
|
||||||
para.tx(", ");
|
para.tx(", ");
|
||||||
renderLeaf(res, v, child, para, false, showCodeDetails, displayHints, path, indent);
|
renderLeaf(res, v, child, x, para, false, showCodeDetails, displayHints, path, indent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -730,10 +730,12 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
||||||
private void addColumnValues(ResourceWrapper res, XhtmlNode tr, List<ElementDefinition> grandChildren, BaseWrapper v, boolean showCodeDetails, Map<String, String> displayHints, String path, int indent) throws FHIRException, UnsupportedEncodingException, IOException, EOperationOutcome {
|
private void addColumnValues(ResourceWrapper res, XhtmlNode tr, List<ElementDefinition> grandChildren, BaseWrapper v, boolean showCodeDetails, Map<String, String> displayHints, String path, int indent) throws FHIRException, UnsupportedEncodingException, IOException, EOperationOutcome {
|
||||||
for (ElementDefinition e : grandChildren) {
|
for (ElementDefinition e : grandChildren) {
|
||||||
PropertyWrapper p = v.getChildByName(e.getPath().substring(e.getPath().lastIndexOf(".")+1));
|
PropertyWrapper p = v.getChildByName(e.getPath().substring(e.getPath().lastIndexOf(".")+1));
|
||||||
|
XhtmlNode td = tr.td();
|
||||||
if (p == null || p.getValues().size() == 0 || p.getValues().get(0) == null)
|
if (p == null || p.getValues().size() == 0 || p.getValues().get(0) == null)
|
||||||
tr.td().tx(" ");
|
td.tx(" ");
|
||||||
else
|
else {
|
||||||
renderLeaf(res, p.getValues().get(0), e, tr.td(), false, showCodeDetails, displayHints, path, indent);
|
renderLeaf(res, p.getValues().get(0), e, td, td, false, showCodeDetails, displayHints, path, indent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue