diff --git a/validation-model/src/main/java/org/verapdf/gf/model/impl/pd/GFPDStructElem.java b/validation-model/src/main/java/org/verapdf/gf/model/impl/pd/GFPDStructElem.java index 50fa24e93..ca7f70594 100644 --- a/validation-model/src/main/java/org/verapdf/gf/model/impl/pd/GFPDStructElem.java +++ b/validation-model/src/main/java/org/verapdf/gf/model/impl/pd/GFPDStructElem.java @@ -45,11 +45,7 @@ import org.verapdf.tools.TaggedPDFConstants; import org.verapdf.tools.TaggedPDFHelper; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.HashSet; -import java.util.Set; +import java.util.*; /** * @author Maksim Bezrukov @@ -154,15 +150,22 @@ public String getStandardTypeNamespaceURL() { } @Override - public Boolean getisRemappedStandardType() { + public String getremappedStandardType() { if (hasStandardType()) { StructureType type = ((org.verapdf.pd.structure.PDStructElem)simplePDObject).getStructureType(); if (type == null) { - return false; + return null; + } + if (!type.getType().getValue().equals(standardType)) { + return type.getType().getValue(); + } + } else if (standardType != null) { + String standardTypeMap = StaticResources.getRoleMapHelper().getStandardType(ASAtom.getASAtom(standardType)); + if (standardTypeMap != null) { + return standardType; } - return !type.getType().getValue().equals(standardType); } - return false; + return null; } private boolean hasStandardType(){ diff --git a/validation-model/src/main/java/org/verapdf/gf/model/impl/pd/gfse/GFSENonStandard.java b/validation-model/src/main/java/org/verapdf/gf/model/impl/pd/gfse/GFSENonStandard.java index 9f77bf4f2..6212e8031 100644 --- a/validation-model/src/main/java/org/verapdf/gf/model/impl/pd/gfse/GFSENonStandard.java +++ b/validation-model/src/main/java/org/verapdf/gf/model/impl/pd/gfse/GFSENonStandard.java @@ -31,4 +31,9 @@ public class GFSENonStandard extends GFPDStructElem implements SENonStandard { public GFSENonStandard(PDStructElem structElemDictionary, String standardType) { super(structElemDictionary, standardType, NON_STANDARD_STRUCTURE_ELEMENT_TYPE); } + + @Override + public Boolean getisNotMappedToStandardType() { + return getremappedStandardType() == null && !getcircularMappingExist(); + } }