
    \h<                     p    S r SSKJr  SSKJr  SS/0rS rS rS r\" S	S
9S 5       r	\" S	S
9SS j5       r
g)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                     SU -   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    W/var/www/auris/envauris/lib/python3.13/site-packages/sympy/utilities/mathml/__init__.pyadd_mathml_headersr      s(    B EFF IRR R    c                     SS K nUR                  S:  a+  SSKJn  U" U 5      R	                  U5      R                  5       $ SSKJn  U" X5      $ )Nr   )   
   )files)read_binary)sysversion_infoimportlib.resourcesr   joinpath
read_bytesr   )pkgnamefilenamer   r   r   s        r   _read_binaryr      sD    
7"-W~&&x0;;== 	47--r   c                     U S:X  a  Sn OU S:X  a  Sn OU S:X  a  Sn U S;   a  [        SU 5      nU$ [        U 5      R                  5       nU$ )	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#   #   sb    
.."	)	)	(	(
AA =sC O 9'')Or   )r   )modulesc                     SSK Jn  UR                  SS9nUR                  R                  nUR                  [        U5      US9nUR                  XTS9nUR                  XS9nU" U5      n[        U5      nU$ )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   sv    F __e_4F		 	 	)	)B		)C.	0A

1
0I
))C)
'Cs^FFAHr   c                     U R                  S5      (       d  [        U 5      n U(       a  [        U S5      $ [        U S5      $ )aN  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   s<      >>'"" %>??S344r   N)F)__doc__pathlibr   sympy.utilities.decoratorr   __doctest_requires__r   r   r#   r   r   r	   r   r   <module>r<      sd     8 -vh7 R
." I&, ',^ I&5 '5r   