Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / XSLT: ошибка при загрузке xslt / 17 сообщений из 17, страница 1 из 1
27.04.2012, 14:27:09
    #37774269
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: ошибка при загрузке xslt
Код: 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
27.04.2012, 14:30:00
    #37774280
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: ошибка при загрузке xslt
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
27.04.2012, 14:44:16
    #37774319
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: ошибка при загрузке xslt
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
27.04.2012, 14:48:22
    #37774333
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: ошибка при загрузке xslt
roseindia это идиотский аргегатор всякого говна. очень жаль что его никак не забанят на гугле и у него всё ещё не плохие позиции в рейтинге. Не используйте примеры с этого сайта.
Хороший сайт с примерами, например, вот:
http://www.exampledepot.com/egs/javax.xml.transform/pkg.html

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

Простоя при написании поста забыл строчку скопировать )
Код: java
1.
StreamSource xslStream = new StreamSource(xslt);
...
Рейтинг: 0 / 0
27.04.2012, 14:49:43
    #37774342
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: ошибка при загрузке xslt
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
27.04.2012, 14:58:33
    #37774378
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: ошибка при загрузке xslt
в других тулзах трансформация с этими данными работает нормально, а в java - не пойму почему такая ошибка вылетает!
...
Рейтинг: 0 / 0
27.04.2012, 14:58:49
    #37774379
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: ошибка при загрузке xslt
spПростоя при написании поста забыл строчку скопировать )
Код: java
1.
StreamSource xslStream = new StreamSource(xslt);


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


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

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

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



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



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

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

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


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