А можно ли искать в XML с помощью XPath по маске, а то я нашел только одну * и то она работает только когда одна.
Есть какие-нибудь втроенные методы поиска по маске?
Здравствуйте, Return, Вы писали:
R>А можно ли искать в XML с помощью XPath по маске, а то я нашел только одну * и то она работает только когда одна.
R>Есть какие-нибудь втроенные методы поиска по маске?
в XPath-выражениях можно использовать строковые функции, например:
contains — аналог маски *sample*
starts-with — аналог маски sample*
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, Return, Вы писали:
R>>и надо выбрать от сюда элементы которые бы удовлетворяли бы маске (накладываться будет на id или другой элемент <row>).
R>>Маски должны быть примерно следующего вида:
R>>- *44*
R>>- *5*ч*
R>>и т.д. будет хорошо если будет поддерживаться и ?(для одного символа)
L>Для чего тебе это надо?
L>Если чисто академический интерес, то напрямую нельзя, только с использованием функций расширения.
L>Если практический — опиши задачу, возможно, ее м. будет решить имеющимися средствами.
Страница получает данные и выводит их с помощью JavaScript, а выборка нужна чтобы создать фильтр для выводимых данных.. Да тут уже сказали, что есть ф-ции для этого. Только вот я не знаю, является ли мое решение оптимальным:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="no" encoding="UTF-8"/>
<xsl:template match="resultset">
<resultset>
<xsl:for-each select="row">
<xsl:copy-of select="."/>
</xsl:for-each>
</resultset>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="data_mask.xsl"?>
<resultset>
<row>
<id>1</id>
<english>1</english>
<russian>20</russian>
<german>13</german>
</row>
<row>
<id>2</id>
<english>2</english>
<russian>15</russian>
<german>23</german>
</row>
<row>
<id>3</id>
<english>3</english>
<russian>10</russian>
<german>8</german>
</row>
<row>
<id>4</id>
<english>4</english>
<russian>3</russian>
<german>44</german>
</row>
<row>
<id>5</id>
<english>5</english>
<russian>1</russian>
<german>3</german>
</row>
</resultset>