|
|
|
Как сформулировать запрос?
|
|||
|---|---|---|---|
|
#18+
Добрый день, столкнулся с проблемой как выполнить запрос для такого случая, существует XML файл следующего формата : <root> <Entity> <EntityID>1</EntityID> </Entity> .... .... <objects> <object> <EntityID>1</EntityID> <object> <object> <EntityID>1</EntityID> <object> ..... ..... </objects> </root> нужно написать выражение которое выводит количество "<object>" у которых EntityID совпадает с "Entity.EntityID", может у кого то уже возникала подобная проблема? Заранее благодарен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 21:02 |
|
||
|
Как сформулировать запрос?
|
|||
|---|---|---|---|
|
#18+
Написал, токо немного подругому выглядит, до ума доводи сам, как тебе надо: xml: <?xml version="1.0" encoding="UTF-8"?> <root> <Entity> <EntityID>3</EntityID> </Entity> <objects> <object> <EntityID>2</EntityID> </object> <object> <EntityID>3</EntityID> </object> </objects> </root> xsl: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:sch="http://www.ascc.net/xml/schematron"> <xsl:template match="/"> <xsl:apply-templates select="//objects/object"/> </xsl:template> <xsl:template match="object"> <xsl:message>zahel</xsl:message> <xsl:text> </xsl:text> <xsl:value-of select="position()"/>)=<xsl:value-of select="EntityID/text()"/>; <xsl:variable name="filter"> <xsl:apply-templates select="preceding-sibling::object" mode="inner"> <xsl:with-param name="foo" select="EntityID/text()"/> </xsl:apply-templates> </xsl:variable> <xsl:choose> <xsl:when test="current()/EntityID/text() != //Entity/EntityID/text()">не совпал </xsl:when> <xsl:otherwise> совпал </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="object" mode="inner"> <xsl:param name="foo"/> <xsl:if test="$foo = //Entity/EntityID/text()"> <xsl:value-of select="position()"/>, </xsl:if> </xsl:template> </xsl:stylesheet> результат: <?xml version="1.0" encoding="UTF-8"?> 1) =2; не совпал 2) =3; совпал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 10:16 |
|
||
|
|

start [/forum/topic.php?fid=14&fpage=66&tid=1334452]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 306ms |

| 0 / 0 |
