@@ -823,6 +823,7 @@ private function addRefInternal($sinfoNode, $node, $algorithm, $arTransforms=nul
823823 $ id_name = 'Id ' ;
824824 $ overwrite_id = true ;
825825 $ force_uri = false ;
826+ $ omit_uri = false ;
826827 $ transforms_elem = true ;
827828
828829 if (is_array ($ options )) {
@@ -831,6 +832,7 @@ private function addRefInternal($sinfoNode, $node, $algorithm, $arTransforms=nul
831832 $ id_name = empty ($ options ['id_name ' ]) ? 'Id ' : $ options ['id_name ' ];
832833 $ overwrite_id = !isset ($ options ['overwrite ' ]) ? true : (bool ) $ options ['overwrite ' ];
833834 $ force_uri = !isset ($ options ['force_uri ' ]) ? false : (bool ) $ options ['force_uri ' ];
835+ $ omit_uri = !isset ($ options ['omit_uri ' ]) ? false : (bool ) $ options ['omit_uri ' ];
834836 $ transforms_elem = !isset ($ options ['transforms_elem ' ]) ? true : (bool ) $ options ['transforms_elem ' ];
835837 }
836838
@@ -842,18 +844,20 @@ private function addRefInternal($sinfoNode, $node, $algorithm, $arTransforms=nul
842844 $ refNode = $ this ->createNewSignNode ('Reference ' );
843845 $ sinfoNode ->appendChild ($ refNode );
844846
845- if (! $ node instanceof DOMDocument) {
846- $ uri = null ;
847- if (! $ overwrite_id ) {
848- $ uri = $ prefix_ns ? $ node ->getAttributeNS ($ prefix_ns , $ id_name ) : $ node ->getAttribute ($ id_name );
849- }
850- if (empty ($ uri )) {
851- $ uri = self ::generateGUID ();
852- $ node ->setAttributeNS ($ prefix_ns , $ attname , $ uri );
847+ if (! $ omit_uri ) {
848+ if (! $ node instanceof DOMDocument) {
849+ $ uri = null ;
850+ if (! $ overwrite_id ) {
851+ $ uri = $ prefix_ns ? $ node ->getAttributeNS ($ prefix_ns , $ id_name ) : $ node ->getAttribute ($ id_name );
852+ }
853+ if (empty ($ uri )) {
854+ $ uri = self ::generateGUID ();
855+ $ node ->setAttributeNS ($ prefix_ns , $ attname , $ uri );
856+ }
857+ $ refNode ->setAttribute ("URI " , '# ' .$ uri );
858+ } elseif ($ force_uri ) {
859+ $ refNode ->setAttribute ("URI " , '' );
853860 }
854- $ refNode ->setAttribute ("URI " , '# ' .$ uri );
855- } elseif ($ force_uri ) {
856- $ refNode ->setAttribute ("URI " , '' );
857861 }
858862
859863 if ($ transforms_elem ) {
0 commit comments