Я пытаюсь сделать математическую нотацию или выражение инфиксного от содержания MathML,содержания MathML в инфиксную запись с использованием ctop.xsl не получает в нужном формате
творю помощь ctop.xsl
для этого:
/***ctop.xsl**/
Это может быть разобрана, чтобы получить выражение следующим образом:
<html>
<head>
<script>
function loadXMLDoc(filename)
{
if (window.ActiveXObject)
{
xhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
else
{
xhttp = new XMLHttpRequest();
}
xhttp.open("GET", filename, false);
try {xhttp.responseType = "msxml-document"} catch(err) {} // Helping IE11
xhttp.send("");
return xhttp.responseXML;
}
function displayResult()
{
xml = loadXMLDoc("contentmathml.xml");
xsl = loadXMLDoc("ctop.xsl");
// code for IE
if (window.ActiveXObject || xhttp.responseType == "msxml-document")
{
ex = xml.transformNode(xsl);
document.getElementById("example").innerHTML = ex;
}
// code for Chrome, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml, document);
document.getElementById("example").appendChild(resultDocument);
}
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
</html>
Здесь contentmathml.xml мой вход
Я имею содержание MathML как:
Вход:
<math><apply><power></power><ci>x</ci><cn>2</cn></apply></math>
Я получаю в качестве выхода: x2
Ожидаемое: x^2
Я попытался снова, как вход:
<math><apply><sin></sin><ci>x</ci></apply></math>
выход: SiNx Ожидаемый результат: Sin (х) '
Как я могу изменить ctop.xsl в такой способ получить инфикс как выход?
Пожалуйста, разместите XML-ввод как код. Является ли XML-вход в пространстве имен MathML? Почему вы пытаетесь использовать таблицу стилей, которая создает вывод XML для вставки узлов в HTML-документ? –
@MartinHonnen вход представляет собой содержание mathml. Я хочу преобразовать его в математическую нотацию, чтобы он мог быть передан моей программе python! – user1989
Я не думаю, что вы должны применять «ctop.xsl» непосредственно к вашему XML, так как все шаблоны в XSLT используют атрибут «mode», поэтому изначально шаблоны не будут сопоставляться. Вы должны использовать его как файл «include» в другом XSLT, где вы делаете «xsl: apply-templates» с режимом для выбора первого элемента. См. Http://www.w3.org/Math/XSL/mathml.xsl в качестве примера (хотя вы, вероятно, не хотите копировать это как есть). –