Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy does XML Validation fail?
    primarykey
    data
    text
    <p>I have the following XML content:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;success&gt; &lt;accessedResource&gt;/bioportal/provisional&lt;/accessedResource&gt; &lt;accessDate&gt;2013-04-23 20:50:58.139 PDT&lt;/accessDate&gt; &lt;data&gt; &lt;classBean&gt; &lt;id&gt;http://purl.bioontology.org/ontology/provisional/9cc8b147-e193-4d23-a3a1-9da34eeeb5a9&lt;/id&gt; &lt;fullId&gt;http://purl.bioontology.org/ontology/provisional/9cc8b147-e193-4d23-a3a1-9da34eeeb5a9&lt;/fullId&gt; &lt;label&gt;OzbbBugGbIINcdpSY&lt;/label&gt; &lt;synonyms&gt; &lt;string&gt;ux0fBN http://www.ggiodpc.com/www.6shpFpANPwYnffbs9P5rsRN67oJWDZuQ.com.php&lt;/string&gt; &lt;/synonyms&gt; &lt;definitions&gt; &lt;string&gt;ux0fBN http://www.ggiodpc.com/www.6shpFpANPwYnffbs9P5rsRN67oJWDZuQ.com.php&lt;/string&gt; &lt;/definitions&gt; &lt;relations&gt; &lt;entry&gt; &lt;string&gt;provisionalRelatedNoteId&lt;/string&gt; &lt;string&gt;Note_3df7809d-aac8-4cf8-b320-f3eecceacd4e&lt;/string&gt; &lt;/entry&gt; &lt;entry&gt; &lt;string&gt;provisionalTermStatus&lt;/string&gt; &lt;null/&gt; &lt;/entry&gt; &lt;entry&gt; &lt;string&gt;provisionalCreated&lt;/string&gt; &lt;date&gt;2013-04-09 20:06:23.79 PDT&lt;/date&gt; &lt;/entry&gt; &lt;entry&gt; &lt;string&gt;provisionalPermanentId&lt;/string&gt; &lt;null/&gt; &lt;/entry&gt; &lt;entry&gt; &lt;string&gt;provisionalRelatedOntologyIds&lt;/string&gt; &lt;list&gt; &lt;int&gt;1057&lt;/int&gt; &lt;/list&gt; &lt;/entry&gt; &lt;entry&gt; &lt;string&gt;provisionalSubmittedBy&lt;/string&gt; &lt;int&gt;38382&lt;/int&gt; &lt;/entry&gt; &lt;entry&gt; &lt;string&gt;provisionalUpdated&lt;/string&gt; &lt;null/&gt; &lt;/entry&gt; &lt;entry&gt; &lt;string&gt;provisionalSubclassOf&lt;/string&gt; &lt;org.openrdf.model.URI&gt; &lt;uriString&gt;http://purl.bioontology.org/ontology/RID/RID0&lt;/uriString&gt; &lt;localNameIdx&gt;-1&lt;/localNameIdx&gt; &lt;/org.openrdf.model.URI&gt; &lt;/entry&gt; &lt;/relations&gt; &lt;/classBean&gt; &lt;/data&gt; &lt;/success&gt; </code></pre> <p>I want to validate it using the following XML Schema:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://bioontology.org/bioportal/classBeanSchema#" xmlns:c="http://bioontology.org/bioportal/classBeanSchema#"&gt; &lt;xs:element name="success"&gt; &lt;xs:complexType&gt; &lt;xs:sequence&gt; &lt;xs:element ref="c:accessedResource"/&gt; &lt;xs:element ref="c:accessDate"/&gt; &lt;xs:element ref="c:data"/&gt; &lt;/xs:sequence&gt; &lt;/xs:complexType&gt; &lt;/xs:element&gt; &lt;xs:element name="accessedResource" type="xs:string"/&gt; &lt;xs:element name="accessDate" type="xs:string"/&gt; &lt;xs:element name="data"&gt; &lt;xs:complexType&gt; &lt;xs:all&gt; &lt;xs:element ref="c:list" minOccurs="0" maxOccurs="1"/&gt; &lt;xs:element ref="c:classBean" minOccurs="0" maxOccurs="1"/&gt; &lt;/xs:all&gt; &lt;/xs:complexType&gt; &lt;/xs:element&gt; &lt;xs:element name="classBean"&gt; &lt;xs:complexType&gt; &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt; &lt;xs:element ref="c:fullId" maxOccurs="1" minOccurs="0"/&gt; &lt;xs:element ref="c:id" maxOccurs="1" minOccurs="0"/&gt; &lt;xs:element ref="c:label" maxOccurs="1" minOccurs="0"/&gt; &lt;xs:element ref="c:relations" maxOccurs="1" minOccurs="0"/&gt; &lt;xs:element name="type" type="xs:string" maxOccurs="1" minOccurs="0"/&gt; &lt;/xs:choice&gt; &lt;/xs:complexType&gt; &lt;/xs:element&gt; &lt;xs:element name="fullId" type="xs:string"/&gt; &lt;xs:element name="id" type="xs:string"/&gt; &lt;xs:element name="label" type="xs:string"/&gt; &lt;xs:element name="relations"&gt; &lt;xs:complexType&gt; &lt;xs:sequence&gt; &lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="c:entry"/&gt; &lt;/xs:sequence&gt; &lt;/xs:complexType&gt; &lt;/xs:element&gt; &lt;xs:element name="entry"&gt; &lt;xs:complexType&gt; &lt;xs:sequence&gt; &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt; &lt;xs:element name="string" type="xs:string"/&gt; &lt;xs:element ref="c:list"/&gt; &lt;/xs:choice&gt; &lt;xs:element minOccurs="0" ref="c:int"/&gt; &lt;/xs:sequence&gt; &lt;/xs:complexType&gt; &lt;/xs:element&gt; &lt;xs:element name="list"&gt; &lt;xs:complexType&gt; &lt;xs:sequence&gt; &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt; &lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="c:classBean"/&gt; &lt;xs:element minOccurs="0" maxOccurs="unbounded" name="string" type="xs:string"/&gt; &lt;/xs:choice&gt; &lt;/xs:sequence&gt; &lt;/xs:complexType&gt; &lt;/xs:element&gt; &lt;xs:element name="int" type="xs:integer"/&gt; &lt;/xs:schema&gt; </code></pre> <p>For the validation I use the following code snippet:</p> <pre><code>SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = schemaFactory.newSchema(schemaFile); Validator validator = schema.newValidator(); validator.validate(xmlFile); </code></pre> <p>The following Exception is thrown, which indicates to me that the XML file is not valid given the Schema:</p> <pre><code>org.xml.sax.SAXParseException; systemId: file:/C:/xml.xml; lineNumber: 2; columnNumber: 10; cvc-elt.1: Cannot find the declaration of element 'success'. </code></pre> <p>I do not understand the message, since in line 2 i can find the 'success' element. Can somebody help?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload