Hallo !
Frage:
Ist es möglich Knotennamen dynamisch zu vergeben ?
Konkret: mod:Elementname1 soll dynamisch erzeugt werden.
Abstrakt: <{$nodename}>
Statische Vergabe von Knotenamen:
declare function Model:Fkt ( $classes as xs:string) as node()*
{
for $class in $classes
return
<mod:Elementname1 rdf:about="{$class}">
</mod:Elementname1>
};
Mit freundlichen Grüßen
Michael B
Hi Michael,
ja das ist möglich:
return element {$nodeName} element child {$content}
Die computed Element constructors helfen dir hier weiter:
let $name:= "Element1" let $class := "hi" let $contents := <foo ><br />Bar!</foo> return element {$name}{ attribute {"about"}{$class},$contents }
Du kannst dir in BaseX diese Constructors anzeigen lassen wenn du in der GUI das InfoPanel aktivierst und eine beliebige Anfrage der Form: let $foo := <a><b /></a> return $foo ausführst. Das InfoPanel zeigt dann folgenden Konstruktor an: Result: element { "a" } { element { "b" } { } }
Hope this helps!
Viele Grüße Michael
Am 08.12.2010 um 14:38 schrieb Burkert, Michael:
Hallo !
Frage: Ist es möglich Knotennamen dynamisch zu vergeben ? Konkret: mod:Elementname1 soll dynamisch erzeugt werden.
Abstrakt: <{$nodename}>
Statische Vergabe von Knotenamen:
declare function Model:Fkt ( $classes as xs:string) as node()* { for $class in $classes return <mod:Elementname1 rdf:about="{$class}"> </mod:Elementname1> };
Mit freundlichen Grüßen Michael B _______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
Hi Michael,
als kurzes Beispiel noch folgendes:
for $i in 1 to 10 return element {concat("a", 1 + $i) } { "x" }
hier werden 10 Elemente mit den Elementnamen a1 bis a10 und dem Elementinhalt "x" erstellt.
Grüße Andreas
Am 08.12.2010 16:17, schrieb Michael Seiferle:
Hi Michael,
ja das ist möglich:
return element {$nodeName} element child {$content}
Die computed Element constructors helfen dir hier weiter:
let $name:= "Element1" let $class := "hi" let $contents :=<foo><br />Bar!</foo> return element {$name}{ attribute {"about"}{$class},$contents }
Du kannst dir in BaseX diese Constructors anzeigen lassen wenn du in der GUI das InfoPanel aktivierst und eine beliebige Anfrage der Form: let $foo :=<a><b /></a> return $foo ausführst. Das InfoPanel zeigt dann folgenden Konstruktor an: Result: element { "a" } { element { "b" } { } }
Hope this helps!
Viele Grüße Michael
Am 08.12.2010 um 14:38 schrieb Burkert, Michael:
Hallo !
Frage: Ist es möglich Knotennamen dynamisch zu vergeben ? Konkret:mod:Elementname1 soll dynamisch erzeugt werden.
Abstrakt:<{$nodename}>
Statische Vergabe von Knotenamen:
declare function Model:Fkt ( $classes as xs:string) as node()* { for $class in $classes return <mod:Elementname1 rdf:about="{$class}"> </mod:Elementname1> };
Mit freundlichen Grüßen Michael B _______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
Oh sorry ich meinte von a2 bis a11...
hier noch das XQuery Update dazu...
for $i in 1 to 10 return insert nodes element {concat("a", 1 + $i) } { "x" } into root()
Andreas
Am 08.12.2010 17:33, schrieb Andreas Weiler:
Hi Michael,
als kurzes Beispiel noch folgendes:
for $i in 1 to 10 return element {concat("a", 1 + $i) } { "x" }
hier werden 10 Elemente mit den Elementnamen a1 bis a10 und dem Elementinhalt "x" erstellt.
Grüße Andreas
Am 08.12.2010 16:17, schrieb Michael Seiferle:
Hi Michael,
ja das ist möglich:
return element {$nodeName} element child {$content}
Die computed Element constructors helfen dir hier weiter:
let $name:= "Element1" let $class := "hi" let $contents :=<foo><br />Bar!</foo> return element {$name}{ attribute {"about"}{$class},$contents }
Du kannst dir in BaseX diese Constructors anzeigen lassen wenn du in der GUI das InfoPanel aktivierst und eine beliebige Anfrage der Form: let $foo :=<a><b /></a> return $foo ausführst. Das InfoPanel zeigt dann folgenden Konstruktor an: Result: element { "a" } { element { "b" } { } }
Hope this helps!
Viele Grüße Michael
Am 08.12.2010 um 14:38 schrieb Burkert, Michael:
Hallo !
Frage: Ist es möglich Knotennamen dynamisch zu vergeben ? Konkret:mod:Elementname1 soll dynamisch erzeugt werden.
Abstrakt:<{$nodename}>
Statische Vergabe von Knotenamen:
declare function Model:Fkt ( $classes as xs:string) as node()* { for $class in $classes return <mod:Elementname1 rdf:about="{$class}"> </mod:Elementname1> };
Mit freundlichen Grüßen Michael B _______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
basex-talk@mailman.uni-konstanz.de