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)