Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Как лучше (с точки зрения производительности) можно сделать

1 view
Skip to first unread message

Orlovsky Alexander

unread,
Feb 15, 2007, 12:22:47 PM2/15/07
to
Есть бааальшой xml файл, вида
<Tag att="VALUE">

....много-много xml-я....

</Tag>

Мне нужно достать из него VALUE, сейчас выдираю его с помощью
команды:
$ xsltproc getvalue.xsl

где getvalue.xsl:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="text"/>
<xsl:template match="/Tag"><xsl:value-of select="@att" /></xsl:template>
</xsl:stylesheet>

Все, вобщем-то работает... Но жрет довольно много памяти и процессора в
процессе парзинга.
Можно как нибудь сэконочить память, ведь в данном случае мне не нужно дерева
практически, т.к. нужно взять все-го лишь один атрибут из корневого элемента
(его потомки меня не интересуют).
И еще... Можно как-нибудь переписать xsl файл (xpath запрос), чтобы
xsltproc не жрал столько памяти?
(пробовал указать --maxparserdepth 0 но это не помогло)

З.Ы.
Конечно можно написать простенький perl-скрипт с SAX парзером и прерывать
его выполнение при получении искомого атрибута, но хочется знать как можно
добиться подобного результата "штатными" xml процессорами (или нельзя?)


0 new messages