From 4ebb3aceee70cf3fe1c42c1b4a911875c2086050 Mon Sep 17 00:00:00 2001 From: al-rahul Date: Thu, 29 Feb 2024 15:00:25 +0530 Subject: [PATCH] Refactor parse_xml function to handle external target references in CT_Relationship class --- src/docx/opc/oxml.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/docx/opc/oxml.py b/src/docx/opc/oxml.py index 570dcf413..36700bc54 100644 --- a/src/docx/opc/oxml.py +++ b/src/docx/opc/oxml.py @@ -27,7 +27,8 @@ # =========================================================================== -def parse_xml(text: str) -> etree._Element: # pyright: ignore[reportPrivateUsage] +# pyright: ignore[reportPrivateUsage] +def parse_xml(text: str) -> etree._Element: """`etree.fromstring()` replacement that uses oxml parser.""" return etree.fromstring(text, oxml_parser) @@ -170,6 +171,8 @@ def target_mode(self): Defaults to ``Internal``. """ + if self.target_ref and self.target_ref.startswith("#"): + return RTM.EXTERNAL return self.get("TargetMode", RTM.INTERNAL)