Пожалуйста, помогите мне, я делаю проект преобразования файлов, который конвертирует XML в HTML, используя XSL в Java, а также мне нужно конвертировать HTML в XML, используя XSL. мой первый процесс закончился. но я построил во второй части преобразования .. Есть ли возможность сделать это преобразование. Я скажу вам точный поток первого процесса ...
Это мой пример XML-файла:
tabl.xml:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xml" href="testxsl.xsl"?>
<mainpara>
<epigraph>
<para>Though successful research demands a deep
<emphasis role="italic">trained</emphasis>
<emphasis role="italic">taught</emphasis> to regard.
</para>
<para>Kuhn (1976, p. 66)</para>
</epigraph>
<blockquote role="extract">
<para>Though successful research demands a deep commitment to the status quo.
<emphasis role="italic">trained</emphasis>
<emphasis role="italic">taught</emphasis>
</para>
</blockquote>
</mainpara>
Это мой пример xsl-файла:
testme.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="mainpara">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="epigraph">
<div>
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="para">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="blockquote">
<b>
<xsl:apply-templates/>
</b>
</xsl:template>
</xsl:stylesheet>
Это мой пример файла Java:
Main.java
import java.io.File;
import java.io.InputStream;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
public class Main {
public static void simpleTransform(String sourcePath, String xsltPath,
String resultDir) {
TransformerFactory tFactory = TransformerFactory.newInstance();
try {
Transformer transformer =
tFactory.newTransformer(new StreamSource(new File(xsltPath)));
transformer.transform(new StreamSource(new File(sourcePath)),
new StreamResult(new File(resultDir)));
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
System.setProperty("javax.xml.transform.TransformerFactory",
"net.sf.saxon.TransformerFactoryImpl");
simpleTransform("E:/bh/tabl.xml","E:/bh/testme.xsl", "E:/bh/me.html");
//simpleTransform("E:/bh/me.html","E:/bh/11111.xsl","E:/bh/tab.xml" ); //This is i need
}
}
Это мой сгенерированный HTML-файл:
<html>
<body>
<div>
<p>Though successful research demands a deep commitment to the status quo, innovation
</p>
<p>Kuhn (1976, p. 66)</p>
</div>
<b>
<p>Though successful research demands a deep commitment to the status quo
</p>
</b>
</body>
</html>
Теперь я отредактирую этот html-файл после того, как отредактировал этот html-файл. Мне нужно снова преобразовать его в xml-файл или xhtml-файл, для которого мне нужен обратный процесс. Я думаю, что это возможно только путем изменения xsl. Можно ли создать xsl на основе этого html. Если я создал этот xsl-файл, то я передаю этот xsl-файл в вышеуказанную java-программу (я прокомментировал эту строку в основной java-программе). Поэтому мне нужно создать этот xsl-файл.
Пожалуйста, помогите мне .. Мне нужна ваша помощь ..
Заранее спасибо