-2
在我最近的項目中,我遇到了一種需要將XSLt轉換爲XML的情況 - 我可以這樣做嗎?這可能如何?我可以將XSLT轉換爲XML嗎?
在我最近的項目中,我遇到了一種需要將XSLt轉換爲XML的情況 - 我可以這樣做嗎?這可能如何?我可以將XSLT轉換爲XML嗎?
XSLT(可擴展樣式表語言轉換)是 XML(可擴展標記語言),它用於將其他XML轉換爲基本上任何類型的文本,通常是更多的XML。
大多數情況下,xml文檔中的某些數據通過使用xslt文檔應用轉換來轉換以生成輸出。
例如;人們可以在xml數據文件中找到適合使用計算機軟件的書籍列表,以及能夠將該書目列表轉換爲更適合於人類的html(或xhtml或...)文檔的xslt樣式表消費。
這裏是一些示例代碼,與XSLT的良好措施的工作原理:
#!/usr/bin/php -q
<?php
namespace XSLTProcessorTool
{
use DOMDocument;
use XSLTProcessor;
/**
* Class Processor: Process an xml file according to a stylesheet
*/
class Program
{
static function main(array $args)
{
if(count($args) >= 3)
{
/** @noinspection PhpUnusedLocalVariableInspection Intentionally ignoring the first element here */
$programFile = array_shift($args);
$xmlFile = array_shift($args);
$xslFile = array_shift($args);
$xml = new DOMDocument();
if (false != ($xml->load($xmlFile)))
{
$xsl = new DOMDocument();
if (false != ($xsl->load($xslFile)))
{
$transformer = new XSLTProcessor();
$transformer->importStylesheet($xsl);
$result = $transformer->transformToXml($xml);
fputs(STDOUT, $result);
}
else
{
self::reportFatalError(sprintf('Unable to read XSL from %s', $xslFile));
}
}
else
{
self::reportFatalError(sprintf('Unable to read XML from %s', $xmlFile));
}
}
else
{
self::reportFatalError('Need at 2 parameters representing an xml file and the xsl sheet to transform it with.');
}
}
/**
* Log an error message and exit.
*
* @param $message
*/
private static function reportFatalError($message)
{
fputs(STDERR, $message);
die(1);
}
}
// usage: php -q xslt.php data.xml stylesheet.xslt > output.xml
/** @var $argv array containing commandline arguments */
Program::main($argv);
}
#EOF
這是一個命令行工具,它有兩個參數;一個xml數據文件的路徑和一個xslt文件的路徑。輸出轉儲到標準輸出(控制檯,你開始它,或重定向到一個文件等)
xslt已經是xml – Kris
我必須將該XSLT轉換爲XML,我該怎麼做? – Muhammad
你**不需要**來轉換任何東西。 –