Announcement

Collapse
No announcement yet.

XQuery FLWOR return

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XQuery FLWOR return

    Hallo, ich habe folgenden FLWOR Ausdruck:

    let $a := //Test
    for $v in $a
    where $v/a:Name = "blub"
    return $v

    Das geht soweit. Nun hat "Test" jedoch auch ein Attribut id. Wenn ich nun jedoch
    return $v/@id angebe meckert die XQuery Engine (hier von XML Spy):

    XQuery Serialisierungsfehler!
    Ein Dokument-Node darf keinen Attribut-Node oder Namespace Node als Child haben.

    return <bla>{$v/@id}</bla> funktioniert jedoch. Wie kann ich nur die ID zurückgeben?

  • #2
    Code:
    return string($v/@id)

    Comment


    • #3
      Hallo Thomas, besten Dank. Ja, das funktioniert. Kannst du mir erklären warum bei meiner Lösung die o.g. Fehlermeldung kommt? Danke und nen schönen Tag

      Comment


      • #4
        Vermutlich, weil die jeweiligen Attribut-Knoten (also nicht die Value-Strings) ohne Elementkontext in die Ausgabe geschrieben werden.

        Comment


        • #5
          OK, Danke. D.h. ohne Knoten (den ich über <tagname> erstelle) geht es nicht

          Comment


          • #6
            Mit string() geht es doch, das war doch offenbar das Ziel.

            Comment


            • #7
              Hi, ist richtig. War nur zum Verständniss die Frage :-) Danke.

              Comment

              Working...
              X