code: def test_attrs_cols_prefix(parser, geom_df):
      expected = """\
  <?xml version='1.0' encoding='utf-8'?>
  <doc:data xmlns:doc="http://example.xom">
    <doc:row doc:index="0" doc:shape="square" \
  doc:degrees="360" doc:sides="4.0"/>
    <doc:row doc:index="1" doc:shape="circle" \
  doc:degrees="360"/>
    <doc:row doc:index="2" doc:shape="triangle" \
  doc:degrees="180" doc:sides="3.0"/>
  </doc:data>"""
  
      output = geom_df.to_xml(
          attr_cols=["index", "shape", "degrees", "sides"],
          namespaces={"doc": "http://example.xom"},
          prefix="doc",
          parser=parser,
      )
      output = equalize_decl(output)
  
      assert output == expected
  
imports: from __future__ import annotations
  from io import BytesIO, StringIO
  import os
  import numpy
  import pytest
  import pandas.util._test_decorators
  from pandas import NA, DataFrame, Index
  import pandas._testing
  from pandas.io.common import get_handle
  from pandas.io.xml import read_xml
label_desc: Use image node_id 18 for calling a global function with example usage: test_attrs_cols_prefix(parser, geom_df) without return types