
    g<                         d Z ddlmZ ddlmZ ddgiZd Zd Zd Z ed	
          d             Z	 ed	
          dd            Z
dS )zModule with some functions for MathML, like transforming MathML
content in MathML presentation.

To use this module, you will need lxml.
    )Path)doctest_depends_on)	apply_xslc2plxmlc                     d| z   dz   S )Nz<math xmlns:mml="http://www.w3.org/1998/Math/MathML"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.w3.org/1998/Math/MathML
        http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd">z</math> )ss    [/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/utilities/mathml/__init__.pyadd_mathml_headersr      s(    B EFF IRR R    c                     dd l }|j        dk    r6ddlm}  ||                               |                                          S ddlm}  || |          S )Nr   )   
   )files)read_binary)sysversion_infoimportlib.resourcesr   joinpath
read_bytesr   )pkgnamefilenamer   r   r   s        r   _read_binaryr      sy    JJJ
7""------uW~~&&x00;;=== 	433333{7H---r   c                     | dk    rd} n| dk    rd} n| dk    rd} | dv rt          d|           }n!t          |                                           }|S )	Nmathml/data/simple_mmlctop.xslsimple_mmlctop.xslmathml/data/mmlctop.xslmmlctop.xslzmathml/data/mmltex.xsl
mmltex.xsl)r   r   r    zsympy.utilities.mathml.data)r   r   r   )xslxslbytess     r   	_read_xslr#   #   ss    
..."	)	)	)	(	(	(
AAA =sCC99''))Or   )r   )modulesc                 .   ddl m} |                    d          }|j        j        }|                    t          |          |          }|                    ||          }|                    | |          } ||          }t          |          }|S )a*  Apply a xsl to a MathML string.

    Parameters
    ==========

    mml
        A string with MathML code.
    xsl
        A string giving the name of an xsl (xml stylesheet) file which can be
        found in sympy/utilities/mathml/data. The following files are supplied
        with SymPy:

        - mmlctop.xsl
        - mmltex.xsl
        - simple_mmlctop.xsl

        Alternatively, a full path to an xsl file can be given.

    Examples
    ========

    >>> from sympy.utilities.mathml import apply_xsl
    >>> xsl = 'simple_mmlctop.xsl'
    >>> mml = '<apply> <plus/> <ci>a</ci> <ci>b</ci> </apply>'
    >>> res = apply_xsl(mml,xsl)
    >>> print(res)
    <?xml version="1.0"?>
    <mrow xmlns="http://www.w3.org/1998/Math/MathML">
      <mi>a</mi>
      <mo> + </mo>
      <mi>b</mi>
    </mrow>
    r   )etreeF)resolve_entities)parser)access_control)	r   r&   	XMLParserXSLTAccessControlDENY_ALLXMLr#   XSLTstr)	mmlr!   r&   r(   acr
   	transformdocresults	            r   r   r   4   s    F __e_44F		 	)B		)C..	00A

1R
00I
))C)
'
'CYs^^FFAHr   Fc                     |                      d          st          |           } |rt          | d          S t          | d          S )ar  Transforms a document in MathML content (like the one that sympy produces)
    in one document in MathML presentation, more suitable for printing, and more
    widely accepted

    Examples
    ========

    >>> from sympy.utilities.mathml import c2p
    >>> mml = '<apply> <exp/> <cn>2</cn> </apply>'
    >>> c2p(mml,simple=True) != c2p(mml,simple=False)
    True

    z<mathr   r   )
startswithr   r   )r0   simples     r   r   r   d   sP      >>'"" & %% @>???S3444r   N)F)__doc__pathlibr   sympy.utilities.decoratorr   __doctest_requires__r   r   r#   r   r   r	   r   r   <module>r<      s           8 8 8 8 8 8 -vh7 R R R
. 
. 
.  " I&&&, , '&,^ I&&&5 5 5 '&5 5 5r   