parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Janek 22.09.2009 13:54 / 22.09.2009 13:55

Извините - я несколько раза исправлял код. Это код с @find'ом
$tree[
	$.[/fullpath][/_admin/]
	$.index[
		$.[/fullpath][/_admin/index/]
		$.content[$.[/fullpath][/_admin/index/content/]]
		$.test[$.[/fullpath][/_admin/index/test/]]
	]
	$.help[$.[/fullpath][/_admin/help/]]
]

$found[^find[/_admin/index/content/;$tree]]
<h2>$found.[/fullpath]</h2>
<p>$sLog</p>

@find[fullpath;XMLTree;level][found]
$result[$.[/fullpath][Not found]]
^log[$level начинаем пойск]

^XMLTree.foreach[key;value]{
	^if($key ne "/fullpath"){
		^log[$level пойск в $key]
		^if($value.[/fullpath] eq $fullpath){
			$result[
				$.key[$key]
				^value.foreach[this_key;this_value]{
					^if(^this_key.match[^^/[.]*]){
						$.[$this_key][$this_value]
					}
				}
			]
			^log[$level нейдёться в $key, определаем result]
			^break[]
		}{
			^log[$level пойск глубее]
			$result[^find[$fullpath;$value;${level}.]]
			^log[$level определаем result]
		}
	}
}
^log[$level конец пойска]


@log[string]
$sLog[${sLog}$string<br/>]