File:  [parser3project] / parser3 / src / www / htdocs / Attic / index.html
Revision 1.319: download - view: text, annotated - select for diffs - revision graph
Thu Sep 20 08:48:35 2001 UTC (24 years, 9 months ago) by parser
Branches: MAIN
CVS tags: HEAD
    !$elementnode.attributes = hash of dnodes
    !$attributenode.specified = boolean
	    true if the attribute received its value explicitly in the XML document,
	    or if a value was assigned programatically with the setValue function.
        false if the attribute value came from the default value declared in the document's DTD.
    !$pinode.target = target of this processing instruction
    	XML defines this as being the first token following the markup
    	that begins the processing instruction.
   	XPath:
    !^node.select[xpath/query/expression] = hash of 0->node0 1->node1
    !^node.select-single[xpath/query/expression] = first node if any

@main[]
^xslt[]
OK

@xslt[]
$dom[^dom::set{<?xml version="1.0" encoding="windows-1251"?>

<people>
	<man id="1">
		<name>PAF</name>
	</man>
	<man id="2">
		<name>دبش</name>
	</man>
</people>
}]

#^show-dnode1[$dom]<hr>
#^show-dnode2[$dom]<hr>
$people[^dom.select[*/man]]
#^show1[]
^show-dnodes1[$people]<hr>
#^people.0.owner.hren[]

#^show-dnode1[^dom.select-single[*/man];0;1]<hr>

@show1[]
^for[i](0;^people._count[]-1){
    $node[$people.$i]
	$node.first-child.value: 
		$pattributes[$node.parent.attributes]
		^if(^pattributes._count[]){
			$pattributes.id.name=$pattributes.id.value
		}
	<br>
}
<hr>
	
@show-dnodes1[array][i]
^for[i](0;^array._count[]-1){
	^show-dnode1[$array.$i;0;1]
}

@show-dnode1[dnode;level;single][l]
^if(def $dnode){
    ^for[l](0;$level-1){&nbsp^;&nbsp^;&nbsp^;&nbsp^;}
    ^if($dnode.type eq element){
    	&lt^;$dnode.name
	    $pairs[$dnode.attributes]
	    ^if(def $pairs){
	    	$names[^pairs._keys[]]
	    	^names.menu{$names.key=$pairs.[$names.key].value }
	    }
	    &gt^;
    }{
    	$dnode.name
    }
    
    ^if(def $dnode.value){$dnode.value}<br>
    ^show-dnode1[$dnode.first-child]($level+1)
    ^if(!$single){
	    ^show-dnode1[$dnode.next-sibling]($level)
    }

    ^if($dnode.type eq element){
    ^for[l](0;$level-1){&nbsp^;&nbsp^;&nbsp^;&nbsp^;}&lt^;/$dnode.name&gt^;<br>
    }
}

E-mail: