Im Wesentlichen möchte ich einige XHTML in ein XML-Dokument einbetten, die gegen ein benutzerdefiniertes Schema validieren müssen.Embedded XHTML-Snippet in XML-Dokument, und validieren gegen ein Schema
Voll Hintergrund:
Ich habe einen Webservice, die ein XML-Dokument verbraucht. Dieses XML-Dokument wird anhand eines benutzerdefinierten Schemas überprüft. Die Daten im XML werden analysiert und in einer Datenbank gespeichert und in einem nützlichen Format auf einer Website angezeigt.
Der Kunde, der den XML-Code an meinem Webservice absetzt, hat seinen eigenen internen "IT-/Programmierer-Typ". Er möchte einige benutzerdefinierte XHMTL in einigen Platzhaltern auf einigen der Websiteseiten anzeigen können.
Wir haben zugestimmt, dass er das XML, das er auf meinem Webservice auslöst, um 3 neue Elemente erweitern kann, die den HTML enthalten werden, und ich werde mein Schema entsprechend anpassen. Ich mache auch die Verarbeitung, um sein XHTML aus dem XML-Dokument zu den Webseiten zu bekommen. Ich habe versucht, eine <xs:any>
im Schema verwenden
Ich will nicht cdata verwenden, wie das ziemlich unsicher sein könnte (man denke ich!), So:
<xs:element name="SomeXhtmlStuff" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Ich dachte, dies würde bedeuten, dass irgendein gültiges XML wäre in dem Element OK, z Alle XHTML-Tags wären in Ordnung, aber ich habe es versucht:
<SomeXhtmlStuff>
<p>This is a test HTML output for Job Details</p>
</SomeXhtmlStuff>
und das XML wird nicht validieren dagegen. Edit: Visual Studio 2008 darin automatische Validator gibt den Fehler "das 'p' Element ist nicht deklariert"
Ich habe nicht viel Erfahrung mit XML/Schema und ich erbte dieses Projekt, irgendwelche Vorschläge wäre mehr als herzlich willkommen!
Vielen Dank im Voraus!
danke dafür! Was soll ich dann "gemischt" ändern? – bplus
Entschuldigung; späte Antwort durch hospitalisiertes Kind verursacht. Ich sollte klarer sein. Ich meinte, dass Sie mixed = 'false' haben sollten, es sei denn, Sie möchten ein gemischtes Inhaltsmodell (Text und Elemente) innerhalb des SomeXhtmlStuff-Elements. Ich vermute, dass du es nicht tust. "False" ist der Standardwert für "Mixed", sodass Sie ihn trotzdem weglassen können. –
Das Hinzufügen von 'Namespace' macht Eclipse wütend auf mein XHTML-Markup. Ist es möglich, Schemas zu kaskadieren? Ich habe das W3C xhtml-strict-Schema für gute Maßnahme heruntergeladen. – RandomInsano