powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Ничего не могу понять!
15 сообщений из 15, страница 1 из 1
Ничего не могу понять!
    #33430032
efiml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо сформировать ХМL с русскими именами тэгов.
Использую ХМL - шаблон с XSL
<?xml version="1.0" encoding="windows-1251"?>
<КСвЗУВл xmlns:sql="urn:schemas-microsoft-com:xml-sql"
sql:xsl='land.xsl'>
<sql:header>
<sql:param name='flt'></sql:param>
</sql:header>
<sql:query>
select * from Служебная_инф_земля for xml auto, elements
</sql:query>
</КСвЗУВл>

XSL
<?xml version='1.0' encoding="windows-1251" ?>
<xsl:stylesheet xmlns:xsl= 'http://www.w3.org/1999/XSL/Transform'
version='1.0' >
<xsl:output method="xml"/>
<xsl:template match="/">
<?xml version="1.0" encoding="windows-1251" ?>
<КСвЗУВл>
<xsl:for-each select="/КСвЗУВл/Служебная_инф_земля">
<СлЧаст>
<ОбщСвСЧ>
<ИдФайл>
<ДатаФ>
<xsl:value-of select="ДатаФ"/>
</ДатаФ>
<Гуид>
<xsl:value-of select="Гуид"/>
</Гуид>
</ИдФайл>
<ТипИнф>
<xsl:value-of select="ТипИнф"/>
</ТипИнф>
<ВерсФор>
<xsl:value-of select="ВерсФор"/>
</ВерсФор>
<НаимПол>
<xsl:value-of select="НаимПол"/>
</НаимПол>
<ИдПол>
<xsl:value-of select="ИдПол"/>
</ИдПол>
<ВерсПрог>
<xsl:value-of select="ВерсПрог"/>
</ВерсПрог>
<ДатаСв>
<xsl:value-of select="ДатаСв"/>
</ДатаСв>
</ОбщСвСЧ>
</СлЧаст>
</xsl:for-each>
</КСвЗУВл>
</xsl:template>
</xsl:stylesheet>

При запуске в IE выходит сообщение:
The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
System does not support the specified encoding. Error processing resource 'http://halflife/virt/templ/land.xml?flt=41'. Li...

<?xml version="1.0" encoding="utf-8"?>

Откуда utf-8, когда у меня windows-1251?
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33430057
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
XSL
<?xml version='1.0' encoding="windows-1251" ?>
<xsl:stylesheet xmlns:xsl= 'http://www.w3.org/1999/XSL/Transform'
version='1.0' >
<xsl:output method="xml"/>
<xsl:template match="/">
<?xml version="1.0" encoding="windows-1251" ?>
...
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33430222
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по дефаулту SQLXML работает в кодировке UTF-8 (в том числе методы GET и POST).

как jimmers заметил
после строки
Код: plaintext
1.
<xsl:template match="/">
не нужно
Код: plaintext
<xsl:output method="xml"/>

в xsl поставьте
Код: plaintext
<xsl:output method="xml" encoding="windows-1251"/>

и еще... я конечно не уверен, и меня радуют названия tables на русском языке, но может быть лучше написать [Служебная_инф_земля] в квадратных скобках
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33431838
efiml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исправил все как советовали, но результат не изменился
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33432159
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 - попробуй кодировку utf-16

если не пройдет, то по шагам: отключи - xsl и проверь - возвращается ли без шаблона?
если да, то будем искать ошибку в xsl
иначе, - по ситуации...
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33432559
джиммерс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше привести XML и XSLT снова полностью в приложении (ZIP).
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33434721
efiml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Записал все в land.rar. Таблицу SQL перевел в dbf
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33436911
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый ночи

Вообще-то вопрос специфичен для SQL Server, поэтому лучше бы его в форуме SQL Server задать.

Удачи
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33437171
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь импортировать DBF файл - вылетает по ошибке, что таблица служебная_инф_земля не найдена. Как вы получили этот DBF?
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33437209
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот с такими XML и XSLT вроде работает, но ввиду отсутствия таблицы я не могу проверить полностью. Приведите DDL для создания таблицы.

XML
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<?xml version="1.0" encoding="windows-1251"?>
<КСвЗУВл xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl="land.xsl">
	<sql:header>
		<sql:param name="flt"/>
	</sql:header>
	<sql:query>select * from [Служебная_инф_земля] for xml auto, elements</sql:query>
</КСвЗУВл>

XSLT
Код: plaintext
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<?xml version='1.0' encoding="windows-1251" ?>
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' 
   version='1.0' >
   <xsl:output method="xml" encoding="windows-1251"/>
  <xsl:template match="/">
   <КСвЗУВл>
   <xsl:for-each select="/КСвЗУВл/Служебная_инф_земля"> 
    <СлЧаст>
     <ОбщСвСЧ>
      <ИдФайл>
       <ДатаФ>
         <xsl:value-of select="ДатаФ"/>  
       </ДатаФ>
       <Гуид>
         <xsl:value-of select="Гуид"/>  
       </Гуид>
      </ИдФайл>
      <ТипИнф>
        <xsl:value-of select="ТипИнф"/>   
      </ТипИнф>
      <ВерсФор>
        <xsl:value-of select="ВерсФор"/>   
      </ВерсФор>
      <НаимПол>
        <xsl:value-of select="НаимПол"/>   
      </НаимПол>
      <ИдПол>
        <xsl:value-of select="ИдПол"/>  
      </ИдПол>
      <ВерсПрог>
        <xsl:value-of select="ВерсПрог"/>   
      </ВерсПрог>
      <ДатаСв>
        <xsl:value-of select="ДатаСв"/>   
      </ДатаСв>
     </ОбщСвСЧ>
    </СлЧаст>
   </xsl:for-each> 
   </КСвЗУВл>
  </xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33439552
efiml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо, jimmers!
Все прошло.
Dbf я получил через SQLEXEC
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33440351
джиммерс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLEXEC - это как?
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33440417
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
джиммерс SQLEXEC - это как?

В среде VFP вызывает SQLEXEC, получает из него курсор и сохраняет на диске как dbf (насколько я понимаю).
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33442067
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я всё понимаю, но с Foxpro я последний раз работал году в 1998, в институте...
Так что недурно написать детали...
...
Рейтинг: 0 / 0
Ничего не могу понять!
    #33443234
efiml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nConnHand=SQLCONNECT('sqlserver') && Подключяюсь к базе (sqlserver -имя ODBC)
=SQLEXEC(nConnHand,"select * from [Служебная_инф_земля]",'cur_land') && перевожу таблицу Sql Server в курсор Visual FoxPro
select cur_land
copy to land && копирую курсор в dbf
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Ничего не могу понять!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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