SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




xml-code als Variablenwert in Elements.xml v. Visual Studio einfügen für caml-Abfrage

Geprüfte Antwort Dieser Beitrag hat 3 Antworten

Ohne Rang
242 Beiträge
Peter Oswald erstellt 16 Sept. 2013 11:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

in einem Feature-Element, das in Visual Studio definiert ist, möchte ich für eine caml-Abfrage mit jscript folgendes definieren

<CommandUIHandler Command="ShowAlert"
  CommandAction="javascript:
     var caml = '<View><Query> ... </Query></View>';

Das Problem ist nun aber, dass der Compiler trotz der String-Hochkommata die XML-tag-Signatur auf den geöffneten CommandUIHandler bezieht und nicht versteht, dass der XML-Code ab "View" ein Variablenwert / ein String für die Variable "caml" sein soll. Denn will ich so etwas bereitstellen, erhalte ich als Fehlermeldung:

  •  Fehler 1 Das Zeichen '<', Hexadezimalwert 0x3c, ist in XML-Attributwerten nicht zulässig.
  •  Endtag </CommandUIHandler> wird erwartet.

was macht man in so einem Fall?

VG

P.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 16 Sept. 2013 12:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn Du es so machst, mußt Du alle in einem Attribut nicht zulässigen Zeichen codieren. < wird zu &lt; > wird zu &gt; usw. Das Ganze wird dadurch aber sehr unleserlich...

Ich empfehle folgendes: Lege das ganze Script in eine eigene function und die in eine eigene Datei. Die separate Scriptdatei kannst Du mit einem zusätzlichen CustomAction ScriptLink verfügbar machen. Im XML rufst Du dann einfach nur die function auf.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
242 Beiträge
Peter Oswald Als Antwort am 16 Sept. 2013 12:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]Lege das ganze Script in eine eigene function und die in eine eigene Datei[/quote]

ok, und die Datei lege ich dorthin in hive wo die anderen js auch liegen? Oder besser in eine Bibliothek? Da liest man viel pro und contra....

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 16 Sept. 2013 12:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das kann man (wie so oft) nicht generell beantworten. Wenn die Anwendung nur an einer Stelle benötigt wird, lege die Datei in eine Bibliothek, z.B. in die immer vorhandene Style Library. Wenn die Anwendung an vielen Stellen (d.h. in vielen Websites) zum Einsatz kommt, lege die Datei in einen eigenen Unterordner von Layouts.

Viele Grüße
Andi
af @ evocom de
Blog