
    MZd                     n    d Z ddlmZ ddlmZ ddgiZd Z ed      d	        Z ed      dd
       Zy)zModule with some functions for MathML, like transforming MathML
content in MathML presentation.

To use this module, you will need lxml.
    )get_resource)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    A/usr/lib/python3/dist-packages/sympy/utilities/mathml/__init__.pyadd_mathml_headersr      s(    B EFF IRR R    )r   )modulesc                 (   ddl m} |j                  d      }|j                  j                  }|j                  t        |      j                         |      }|j                  ||      }|j                  | |      } ||      }t        |      }|S )an  Apply a xsl to a MathML string.

    Parameters
    ==========

    mml
        A string with MathML code.
    xsl
        A string representing a path to a xsl (xml stylesheet) file.
        This file name is relative to the PYTHONPATH.

    Examples
    ========

    >>> from sympy.utilities.mathml import apply_xsl
    >>> xsl = 'mathml/data/simple_mmlctop.xsl'
    >>> mml = '<apply> <plus/> <ci>a</ci> <ci>b</ci> </apply>'
    >>> res = apply_xsl(mml,xsl)
    >>> ''.join(res.splitlines())
    '<?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   readXSLTstr)	mmlxslr   r   acr
   	transformdocresults	            r   r   r      s    . __e_4F		 	 	)	)B		,s#((*6	:A

1R
0I
))C)
'Cs^FFAHr   c                 n    | j                  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<mathzmathml/data/simple_mmlctop.xslzmathml/data/mmlctop.xsl)
startswithr   r   )r   simples     r   r   r   9   s9      >>'" %>??S344r   N)F)	__doc__sympy.utilities.pkgdatar   sympy.utilities.decoratorr   __doctest_requires__r   r   r   r	   r   r   <module>r(      sZ    1 8 -vh7 R I&  ' F I&5 '5r   