You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2021/02/15 21:05:58 UTC

svn commit: r1886545 - in /poi/trunk/src/ooxml: java/org/apache/poi/openxml4j/opc/OPCPackage.java testcases/org/apache/poi/openxml4j/opc/TestPackage.java

Author: fanningpj
Date: Mon Feb 15 21:05:57 2021
New Revision: 1886545

URL: http://svn.apache.org/viewvc?rev=1886545&view=rev
Log:
add method to test for strict ooxml format

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java?rev=1886545&r1=1886544&r2=1886545&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java Mon Feb 15 21:05:57 2021
@@ -1665,6 +1665,16 @@ public abstract class OPCPackage impleme
     }
 
 	/**
+	 * @return true if the package is in Strict OOXML format
+	 * @since POI 5.0.1
+	 */
+    public boolean isStrictOoxmlFormat() {
+		PackageRelationshipCollection coreDocRelationships = getRelationshipsByType(
+				PackageRelationshipTypes.STRICT_CORE_DOCUMENT);
+		return coreDocRelationships.size() > 0;
+	}
+
+	/**
 	 * Has close been called already?
 	 */
 	public abstract boolean isClosed();

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java?rev=1886545&r1=1886544&r2=1886545&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java Mon Feb 15 21:05:57 2021
@@ -103,6 +103,20 @@ public final class TestPackage {
 	private static final String CONTENT_EXT_PROPS = "application/vnd.openxmlformats-officedocument.extended-properties+xml";
 	private static final POIDataSamples xlsSamples = POIDataSamples.getSpreadSheetInstance();
 
+	@Test
+	void isStrictOoxmlFormat() throws IOException, InvalidFormatException {
+		try (OPCPackage p = OPCPackage.open(getSampleFileName("TestPackageCommon.docx"), PackageAccess.READ)) {
+			assertFalse(p.isStrictOoxmlFormat());
+		}
+		try (OPCPackage p = OPCPackage.open(xlsSamples.getFile("sample.xlsx"), PackageAccess.READ)) {
+			assertFalse(p.isStrictOoxmlFormat());
+		}
+		try (OPCPackage p = OPCPackage.open(xlsSamples.getFile("sample.strict.xlsx"), PackageAccess.READ)) {
+			assertTrue(p.isStrictOoxmlFormat());
+		}
+	}
+
+
 	/**
 	 * Test that just opening and closing the file doesn't alter the document.
 	 */



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org