Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / сохранить части xml (Google Scholar) в отдельные файлы / 3 сообщений из 3, страница 1 из 1
18.06.2012, 22:49
    #37843380
Sergii1950
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранить части xml (Google Scholar) в отдельные файлы
Имеем журнал в виде мета тегов Google Scholar.
file.xml
Код: xml
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.
<?xml version="1.0" encoding="UTF-8"?>
<articles>
	<article>
		<meta name="citation_title" content="Determination of power and power descriptions at walking with auxiliary facilities of pushing (by sticks) away from lower support">
		<meta name="citation_author" content="Adashevskiy V.M.">
		<meta name="citation_author" content="Iermakov S.S.">
		<meta name="citation_author" content="Zielinski Ewa.">
		<meta name="citation_publication_date" content="2012/04/27">
		<meta name="citation_journal_title" content="Physical education of students">
		<meta name="citation_volume" content="4">
		<meta name="citation_firstpage" content="5">
		<meta name="citation_lastpage" content="8">
		<meta name="citation_pdf_url" content="http:www.sport/12avmfls.pdf">
	</article>
	<article>
		<meta name="citation_title" content="The formation of modern concepts of physical education in Western Europe in the II half of XX - beginning XXI century">
		<meta name="citation_author" content="Anikeyev D.M.">
		<meta name="citation_publication_date" content="2012/04/27">
		<meta name="citation_journal_title" content="Physical education of students">
		<meta name="citation_volume" content="4">
		<meta name="citation_firstpage" content="9">
		<meta name="citation_lastpage" content="12">
		<meta name="citation_pdf_url" content="http:www.sport/12admbxc.pdf">
	</article>
...................
</articles>


Как можно сохранить части xml <article>...</article> в отдельные файлы?
Можно ли имена файлов указать аналогично как в строках по типу: <meta name="citation_pdf_url" content="http:www.sport/ 12avmfls .pdf">, т.е. с именем 12avmfls .xml?
Составил файл xsl. Однако, не работает. Что выполнено не так?
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 

<xsl:strip-space elements="*"/>
<xsl:template match="article"> 
<xsl:variable name="outFile" select="concat(‘article.’,translate(@12avmfls,’ ‘,’_'),’.xml’)"/> 
<xsl:document href="{$outFile}"> 
<xsl:copy>
<xsl:copy-of select="@*"/> 
<xsl:apply-templates/> 
</xsl:copy> 
</xsl:document> 
</xsl:template>
<xsl:template match="file.xml">
<xsl:apply-templates/> </xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
19.06.2012, 01:09
    #37843463
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранить части xml (Google Scholar) в отдельные файлы
Sergii1950
Код: xml
1.
2.
<xsl:template match="article"> 
<xsl:variable name="outFile" select="concat(‘article.’,translate(@12avmfls,’ ‘,’_'),’.xml’)"/> 

А где у Вас в элементе article атрибут @12avmfls?

Для начала попробуйте так
Код: xml
1.
<xsl:variable name="outFile" select="concat('file_', position(), ’.xml’)"/> 

если получится, тогда нужно будет думать как сформировать правильное имя

P.S. И все это справедливо исключительно для процессора Saxon
...
Рейтинг: 0 / 0
20.06.2012, 09:38
    #37845659
Sergii1950
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранить части xml (Google Scholar) в отдельные файлы
Vasilisk_ , спасибо.
Нашел более удобное решение для дальнейшего практического использования:
файл xml разбивается на части <article>...</article>, а результаты автоматически записываются в отдельные файлы в папку C:\\database. Имена файлом начинаются с 1.xml и т.д.
Желаю успехов.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
  <xsl:template match="/">
    <xsl:for-each select="articles/article">
      <xsl:result-document href="C:\\database\\{position()}.xml">
      <articles>
        <xsl:copy>
          <xsl:apply-templates select="@*"/>
          <xsl:apply-templates select="node()"/>
        </xsl:copy>
        </articles>
      </xsl:result-document>
    </xsl:for-each> 
  </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / сохранить части xml (Google Scholar) в отдельные файлы / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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