Potrzebuję prostego programu wiersza poleceń do przekształcania XML za pomocą arkusza stylów XSL [zamknięty]
Jestem na OSX Snow Leopard (10.6.2) mogę zainstalować wszystko, czego potrzebuję. Wolałbym rozwiązanie Pythona lub Javy. Szukałem w Google i znalazłem wiele informacji na temat pisania własnego programu, aby to zrobić, ale jest to tylko szybki i brudny eksperyment, więc nie chcę inwestować dużo czasu na pisanie kodu, aby to zrobić, jestem pewien, że ktoś inny już to zrobił.
to jest teraz off-topic, nie używaj tego pytania jako przykładu, Dlaczego Twój Prośba o rekomendacje jest na temat, nie jest. Przepraszam, ale moje Google-Foo zawodziło mnie w dniu, w którym zapytałem o to 4 lata temu!
8 answers
Próbowałeś ' xsltproc '? Prawdopodobnie jest już zainstalowany.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-27 05:23:42
Polecam Saxon, który można uruchomić z linii poleceń tak:
java -jar /path/to/saxon.jar xmlfile xslfile
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-26 21:02:38
Użycie lxml
. Jest bardzo łatwy w użyciu i bardzo szybki. Może współpracować z XPath i zawiera transformator XSLT.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-26 20:58:30
Jeśli poprawnie zakładam, że chcesz podać arkusz stylów i dokument XML, to Xalan-J ma funkcję wiersza poleceń, której możesz użyć do tego:
Http://xml.apache.org/xalan-j/commandline.html
Które można wywołać za pomocą:
java org.apache.xalan.xslt.Process -IN foo.xml -XSL foo.xsl -OUT foo.out
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-26 20:59:52
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-26 20:57:48
Czy widziałeś XMLStarlet (zestaw narzędzi wiersza poleceń XML) ? Wykonuje wiele transformacji zapytań związanych z XML, a w szczególności:
xml tr --help
XMLStarlet Toolkit: Transform XML document(s) using XSLT
Usage: xml tr [<options>] <xsl-file> {-p|-s <name>=<value>} [ <xml-file-or-uri> ... ]
where
<xsl-file> - main XSLT stylesheet for transformation
<xml-file> - input XML document file name (stdin is used if missing)
<name>=<value> - name and value of the parameter passed to XSLT processor
-p - parameter is XPATH expression ("'string'" to quote string)
-s - parameter is a string literal
Dalsza dokumentacja Tutaj .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-26 21:01:42
Używam Saxon 6.5 od lat do transformacji wiersza poleceń. (Java, XSLT 1)
Doskonałe rozwiązanie awaryjne, jeśli natywne rozwiązanie nie jest dostępne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-29 22:46:30
Zobacz to pytanie dla innego rozwiązania z com. sun. org. apache. Xalan. internal.xsltc.cmdline. Transform. ale zauważyłem pewne dziwactwa z przestrzeniami nazw w porównaniu do przetwarzania xalan. Należy pamiętać, zachowanie może być niestandardowe.
Również wiesz, wewnętrzne klasy java nie są dobre, aby polegać na.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:28