Validierung von XML: Keine passende globale Deklaration für den Validierungsstamm verfügbar

8

Ich versuche, das folgende XML anhand eines Ruby-XSD-Schemas zu validieren. Es wird einfach nicht funktionieren, stoppt mit einer Fehlermeldung, die mir sagt

  

Fehler: Element 'request': Keine passende globale Deklaration für den Validierungsstamm verfügbar.

Vielleicht ist es der Namensraum? Irgendwelche Ideen?

XML

%Vor%

XSD

%Vor%

Ruby-Code

%Vor%     
Matt 17.06.2009, 14:37
quelle

3 Antworten

10

Es ist ein kryptischer Fehler, aber wahrscheinlich liegt es daran, dass Ihr XSD fehlerhaft ist. Zum Beispiel sollten die Inhalte der Channels, hotel (sowohl die inneren und äußeren Elemente) als auch der Tags room und request xsd:element alle in xsd:complexType -Tags eingeschlossen sein. Außerdem ist use nur für xsd:attribute gültig, nicht für xsd:element . Verwenden Sie für Elemente minOccurs und maxOccurs (obwohl beide standardmäßig auf 1 festgelegt sind, sodass sie in diesem Fall nicht unbedingt erforderlich sind). Zusätzlich enthält Ihr äußeres Hotelelement ein Raumelement, das ein Hotelelement enthalten muss, um eine Endlosschleife zu erzeugen. Außerdem benennen Sie Ihren Benutzernamen und Ihr Passwort nicht richtig. Schließlich sollte dieses innere Hotelelement wahrscheinlich Datum sein. Hier ist, was ich denke, dass Sie suchen:

%Vor%     
Pesto 17.06.2009, 15:20
quelle
2

Sie haben hier nur aus der Hüfte geschossen, aber haben Sie versucht, das XML :: Document, das das Schema enthält, in ein XML :: Schema zu konvertieren?

Ссылка

Ich weiß nicht, dass es einen Unterschied machen würde, aber es ist einen Versuch wert.

    
Ben Hughes 17.06.2009 15:15
quelle
1

Ich habe die gleiche kryptische Fehlermeldung aus einem anderen Grund erhalten.

Die erste Zeile meiner Schemadatei hatte einen Namespace ohne Präfix:

%Vor%

Beachten Sie das Attribut 'xmlns ='. Dadurch wurden alle im Schema deklarierten Elemente in den Namespace http://www.sec.gov/edgar/document/thirteenf/informationtable platziert (sofern nicht anders mit einem Namespace-Präfix angegeben). Aber die XML-Datei, die ich zu validieren versuchte, hatte keinen übereinstimmenden Namespace ohne Präfix / Standard:

%Vor%

Die Elemente stimmen also nicht mit dem Schema überein, da sie sich in "verschiedenen" Namespaces befinden. Ich hoffe, das ist nützlich für andere.

    
qris 12.02.2015 17:08
quelle

Tags und Links