XML-Validierung

cancel
Showing results for 
Search instead for 
Did you mean: 
dmc
Active Member

XML-Validierung

Hallo.
Ist es Out of the Box möglich, bei der Eingabe eines XML-Schemas dieses gegen ein vorgegebenes Muster (Knotenzahl etc.) validieren zu lassen? Wir möchten nicht die JCR-Funktion nutzen, falls es sich vermeiden lässt.
Gibt es, falls dies OotB nicht möglich ist, eine Möglichkeit, einen Validator aufzusetzen?

Danke für Antworten.
13 Replies
dmc
Active Member

Re: XML-Validierung

…bei der Eingabe eines XML-Schemas dieses gegen ein vorgegebenes Muster (Knotenzahl etc.) validieren zu lassen?

Hi Claudius,

kannst Du Deinen Anwendungsfall etwas genauer spezifizieren? Handelt es sich um das WCM von Alfresco? Wie soll das XML-Schema eingegeben werden, - Upload als XSD-Datei?

drhilarius
dmc
Active Member

Re: XML-Validierung

Hi Dr.Hilarius,
wir möchten die XML-Datei aus den Properties hochladen. Sie besteht bereits komplett als solche und soll beim Upload validiert werden. Es handelt sich aber um das "normale" Content-Management, nicht um WCM, es soll also keine Webseite o.ä. erstellt werden.

Gruß,
Claudius
dmc
Active Member

Re: XML-Validierung

Hallo Claudius,

dann verstehe ich das so:
Eine Action oder Regel kann mittels eines XSD das XML überprüfen. Die Action hätte den Vorteil, dass man manuell das XSD auswählen könnte. Eine Regel läuft dafür automatisch ab. Dazu muss dann natürlich im einfachsten Fall das XSD fest hinterlegt werden und man muss sich überlegen was im Fehlerfall denn passieren soll.

Grüße,
knutella
dmc
Active Member

Re: XML-Validierung

Also, wir möchten folgendes machen:
Wir legen für unsere Kunden .xsd-dateien an, die bestimmte Attribute und auszufüllende Felder festlegen (unsere Schemata). z.B. Reise/Gutschein/Bahnfahrt.
Wenn nun der Kunde seine xml-datei hochladen möchte, sieht er ja zunächst das Fenster "Durchsuchen" und unten den Button Upload. Er klickt upload.
Er kommt in das nächste Fenster.
Hier möchten wir eine Art "Check-Button" generieren, der zusätzlich mit einem Scroll-Menü, ähnlich dem jetzigen "Content", versehen ist, wo die .xsd-dateien sortiert als Bezeichnungen für die Schemen "Reise/Gutschein/Bahnfahrt etc." hinterlegt sind und gegen die dann das xml-schema validiert wird.
Also Alfresco feststellt: "Du hast die xml gemäß dem Schema "Reise" angelegt, wie du es wolltest, deshalb lade ich die jetzt hoch.Falls nicht, mag ich nicht

Falls das Schema nicht erfüllt wird, soll einfach gesagt werden: "XML entspricht nicht Schema xy".
wie man das per Rule machen kann, hat sich mir noch nicht eröffnet, wie man das als Action machen kann, ist mir auch unklar, aber dass die manuelle Auswahl des Schemas ein Vorteil ist, sehe ich auch so.
Danke für eure Antworten…
dmc
Active Member

Re: XML-Validierung

Actions können erst greifen, wenn die XML-Datei schon hochgeladen, also in Alfresco drin ist, damit funktioniert das oben gewollte also nicht.

Eine Regel kann zumindest das Hochladen erfolgreich verhindern. Damit man das richtige Schema verwendet, könnte man das über das Content-DropDown steuern. Also ein neuer Content-Typ für jedes Schema.

knutella
dmc
Active Member

Re: XML-Validierung

Welchen Zeitpunkt meinst du mit "in Alfresco drin"? Ich denke, du meinst, dass der Content als Content im Ordner angezeigt wird, also der upload-prozess komplett abgeschlossen ist. Das wäre auch i.O., man müsste dann nur den Kunden nahe legen, nach dem Upload die Validierung vorzunehmen. Das würde den Nutzen auch erfüllen.

Die andere Möglichkeit, für alle Schemen Content-Typen anzulegen ist halt sehr aufwendig, würde aber auch funktionieren. Vielen Dank, jetzt haben wir schon zwei Lösungen.
Kannst du mir noch kurz erklären, wie das mit der Action funktionieren würde?
Oder wo ich mir Infos holen kann, wäre auch ok.
Danke…
dmc
Active Member

Re: XML-Validierung

Eine Frage habe ich noch:
Wo kann man die Content-Typen um die. gemäß dem xsd-schema benannten Typen, erweitern, also das Drop-Down-Menü im Upload-Fenster bearbeiten?
dmc
Active Member

Re: XML-Validierung

Eine Frage habe ich noch:
Eine Frage habe ich noch:
Wo kann man die Content-Typen um die. gemäß dem xsd-schema benannten Typen, erweitern, also das Drop-Down-Menü im Upload-Fenster bearbeiten?

Das geht in der web-client-custom.xml im Extension-Ordner shared/classes/alfresco/extensions. In diesen Ordner müsste man dann auch die customModel.xml unterbringen, in der die neuen Content-Typen definiert sind. Lookilook: http://wiki.alfresco.com/wiki/Develo...Content_Models

Welchen Zeitpunkt meinst du mit "in Alfresco drin"? Ich denke, du meinst, dass der Content als Content im Ordner angezeigt wird, also der upload-prozess komplett abgeschlossen ist. Das wäre auch i.O., man müsste dann nur den Kunden nahe legen, nach dem Upload die Validierung vorzunehmen. Das würde den Nutzen auch erfüllen.

Ja, so habe ich "drin" gemeint.

Die andere Möglichkeit, für alle Schemen Content-Typen anzulegen ist halt sehr aufwendig, würde aber auch funktionieren. Vielen Dank, jetzt haben wir schon zwei Lösungen.
Kannst du mir noch kurz erklären, wie das mit der Action funktionieren würde?
Oder wo ich mir Infos holen kann, wäre auch ok.
Danke…

Gerne  Smiley Happy Eine Action realisiert man entweder mittels der Programmierung einer Java-Klasse, oder durch die Nutzung einer JavaScript-Action(da gibt es schon in Alfresco Beispiele für andere Sachen, einfach unter Data-Dictionary schauen). Aber afaikt muß man eine XML-Schema Validierung programmieren.
Zur Programmierung einer Action kann hier etwas nachlesen:
http://wiki.alfresco.com/wiki/Custom_Actions

Writing Actions for fun,
kntuella
dmc
Active Member

Re: XML-Validierung

Vielen Dank, Knutella, für die gute und umfassende Antwort.
Jetzt weiss ich auch was AFAIK (As Far as I Know) bedeutet.
I kill hard-discs for fun
Die einzige Frage, die sich mir immer noch stellt ist folgende:
Habe gestern ein JPG hochgeladen und den Content-Typ auf XML eingestellt beim Upload, es konnte nicht dargestellt werden, bevor ich es wieder als JPG-Content deklariert habe, dann ging es, aber Alfresco hat sich auch nicht beschwert, als ich das JPG mit dem Content-Typ XML markiert habe. Wieso meckert das nicht, das wäre doch die Grundvorraussetzung für eine Validierung über verschiedene Content-Typen, oder?
Danke für den Support.
Gruß,
Claudius