diff --git a/src/main/java/digital/slovensko/autogram/core/eforms/EFormUtils.java b/src/main/java/digital/slovensko/autogram/core/eforms/EFormUtils.java index 1da3aa36..7a58c887 100644 --- a/src/main/java/digital/slovensko/autogram/core/eforms/EFormUtils.java +++ b/src/main/java/digital/slovensko/autogram/core/eforms/EFormUtils.java @@ -364,7 +364,7 @@ public static String fillXsdIdentifier(String formIdentifier) { } public static boolean isOrsrUri(String uri) { - return uri != null && uri.contains("://eformulare.justice.sk"); + return uri != null && uri.contains("://eformulare.justice.sk") || uri.contains("justice.gov.sk/"); } public static String getFsFormIdFromFilename(String filename) { diff --git a/src/main/java/digital/slovensko/autogram/core/eforms/dto/EFormAttributes.java b/src/main/java/digital/slovensko/autogram/core/eforms/dto/EFormAttributes.java index 36f4e2aa..73c89d4f 100644 --- a/src/main/java/digital/slovensko/autogram/core/eforms/dto/EFormAttributes.java +++ b/src/main/java/digital/slovensko/autogram/core/eforms/dto/EFormAttributes.java @@ -34,8 +34,11 @@ private static EFormAttributes build(String identifier, String transformation, S } } - if (transformation != null) + if (transformation != null) { xsltParams = EFormUtils.fillXsltParams(transformation, identifier, xsltParams); + if (!transformation.isEmpty() && transformation.charAt(0) == '\uFEFF') + transformation = transformation.substring(1); + } if (containerXmlns != null && containerXmlns.contains("xmldatacontainer")) { @@ -52,6 +55,9 @@ private static EFormAttributes build(String identifier, String transformation, S throw new EFormException("Chýba identifikátor", "Identifikátor je povinný atribút pre XML Datacontainer"); } + if (EFormUtils.isOrsrUri(identifier)) + embedUsedSchemas = true; + return new EFormAttributes(identifier, transformation, schema, containerXmlns, xsdIdentifier, xsltParams, embedUsedSchemas); } }