powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / XSLT: ошибка при загрузке xslt
17 сообщений из 17, страница 1 из 1
XSLT: ошибка при загрузке xslt
    #37774269
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
String xslt = "...."; //корректная таблица преобразования
TransformerFactory factory = TransformerFactory.newInstance();
StreamSource xslStream = new StreamSource(xslt);
Transformer transformer = factory.newTransformer(xslStream); //<-вылетает ошибка 
...



ERROR: 'no protocol: <xml version=.....'
FATAL ERROR: 'Could not compile stylesheet'

что за ошибка? какого протокола нет?
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774280
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JavaDoc пробовали открывать?


RTFMpublic StreamSource(String systemId)

Construct a StreamSource from a URL.

Parameters:
systemId - Must be a String that conforms to the URI syntax.
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774319
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczJavaDoc пробовали открывать?

RTFMpublic StreamSource(String systemId)
Construct a StreamSource from a URL.
Parameters:
systemId - Must be a String that conforms to the URI syntax.


я не пробовал, но пример взял в инете - где вумные показывают как делать трансформацию тынц
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774333
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roseindia это идиотский аргегатор всякого говна. очень жаль что его никак не забанят на гугле и у него всё ещё не плохие позиции в рейтинге. Не используйте примеры с этого сайта.
Хороший сайт с примерами, например, вот:
http://www.exampledepot.com/egs/javax.xml.transform/pkg.html

Ну, и, читайте, иногда документацию. Примеры это хорошо. Но своей головой тоже думать нужно.
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774336
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Простоя при написании поста забыл строчку скопировать )
Код: java
1.
StreamSource xslStream = new StreamSource(xslt);
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774342
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

вот полный код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
		private File DoXsltTransform(String data, String xslt, String ext) {
		File resfile = null;
		String outStr = ""; 
	
		xslt = xslt.trim().replaceFirst("^([\\W]+)<", "<");
		
		TransformerFactory factory = TransformerFactory.newInstance();
		try {
			StreamSource in = new StreamSource(data);
		  StreamResult out = new StreamResult(outStr);
		  
		  StreamSource xslStream = new StreamSource(xslt);
		  Transformer transformer = factory.newTransformer(xslStream);
	
		  transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
		  
		  transformer.transform(in, out);
	  	if (outStr.isEmpty() == false) outStr.replace("UTF-16", "UTF-8");
		  resfile = TempFileManager.createTempFile("res", "." + ext);
		  
		  BufferedWriter outF = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(resfile.getPath()), "UTF-8"));
      outF.write(outStr);
      outF.close();

			return resfile;
		} catch (Exception e) {
			System.out.println("Ошибка DoXsltTransform: " + e.getLocalizedMessage());
			resfile.delete();
			return null;
		}
	}
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774378
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в других тулзах трансформация с этими данными работает нормально, а в java - не пойму почему такая ошибка вылетает!
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774379
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spПростоя при написании поста забыл строчку скопировать )
Код: java
1.
StreamSource xslStream = new StreamSource(xslt);


ОК. Если вы по буржусйки не понимаете - переведу. Конструктор StreamSource(String) ждет от вас URL адрес где находятся данные. А вы туде пихаете сами данные.
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774400
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczspПростоя при написании поста забыл строчку скопировать )
Код: java
1.
StreamSource xslStream = new StreamSource(xslt);


ОК. Если вы по буржусйки не понимаете - переведу. Конструктор StreamSource(String) ждет от вас URL адрес где находятся данные. А вы туде пихаете сами данные.

ну а какой я ему дам урл если данные у меня уже в строке есть!?
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774402
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spв других тулзах трансформация с этими данными работает нормально, а в java - не пойму почему такая ошибка вылетает!
Дело не в данных, а в идиотском проектировании некоторых API в Java. Возможно в вашей библиотеке есть такой класс как StringSource. Используете его вместо StreamSource. Потому что ваша строка, это не совсем Stream.
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774425
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczspв других тулзах трансформация с этими данными работает нормально, а в java - не пойму почему такая ошибка вылетает!
Дело не в данных, а в идиотском проектировании некоторых API в Java. Возможно в вашей библиотеке есть такой класс как StringSource. Используете его вместо StreamSource. Потому что ваша строка, это не совсем Stream.

Но эти же строки корректно отрабатываются!?
Код: java
1.
2.
StreamSource in = new StreamSource(data);
StreamResult out = new StreamResult(outStr);



почему тут StreamSource корректно работает а для xslt - нет?
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774426
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spну а какой я ему дам урл если данные у меня уже в строке есть!?
Т.е. вот окно и мы в него будет биться головой вместо того чтобы зайти через дверь? Есть другие конструкторы у StreamSource.
Есть другие реализации Source... хотя нет. В этом API, наверное, нет.
Возможно что-то типа new StreamSource(new StringReader(data))
В самом худшем случае
new StreamSource(new ByteArrayInputStream(data.getBytes()))
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774432
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp
Код: java
1.
2.
StreamSource in = new StreamSource(data);
StreamResult out = new StreamResult(outStr);



почему тут StreamSource корректно работает а для xslt - нет?
Потому что здесь только создаётся Source без всякой валидации что вы ему там запхали.
А когда трансформер позже пытается его использовать, то Source пытается вытянуть данные. Зачем их вытягивать раньше, когда они ещё не нужны?
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774438
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczspну а какой я ему дам урл если данные у меня уже в строке есть!?
Т.е. вот окно и мы в него будет биться головой вместо того чтобы зайти через дверь? Есть другие конструкторы у StreamSource.
Есть другие реализации Source... хотя нет. В этом API, наверное, нет.
Возможно что-то типа new StreamSource(new StringReader(data))
В самом худшем случае
new StreamSource(new ByteArrayInputStream(data.getBytes()))

в обоих вариантах отваливается с ошибкой - Could not load the translet class 'GregorSamsa'.
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774591
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спросил инет - вроде пишут что если xslt больше 64кбайт - отваливает (((
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774607
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spспросил инет - вроде пишут что если xslt больше 64кбайт - отваливает (((
Не xslt, а размер Java метода, сгенерированого для xslt. В JRE кривой XSLT транслятор. Вы можете скачать какой-нибудь свежий Xalan и подключить его.
...
Рейтинг: 0 / 0
XSLT: ошибка при загрузке xslt
    #37774617
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczspспросил инет - вроде пишут что если xslt больше 64кбайт - отваливает (((
Не xslt, а размер Java метода, сгенерированого для xslt. В JRE кривой XSLT транслятор. Вы можете скачать какой-нибудь свежий Xalan и подключить его.

обидно (
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / XSLT: ошибка при загрузке xslt
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]