© 2008 syncRO soft ltd. | The W3C XML specification states that a program should not continue to process an XML document if it finds a validation error. The reason is that XML software should be easy to write, and that all XML documents should be compatible. With HTML it was possible to create documents with lots of errors (like when you forget an end tag). One of the main reasons that HTML browsers are so big and incompatible, is that they have their own ways to figure out what a document should look like when they encounter an HTML error. With XML this should not be possible. However, when creating an XML document, errors are very easily introduced. When working with large projects or many files, the probability that errors will occur is even greater. Determining that your project is error free can be time consuming and even frustrating. For this reason <oXygen/> provides functions that enable easy error identification and rapid error location. A Well-Formed XML document is a document that conforms to the XML syntax rules. A Namespace Well-Formed XML document is a document that is Well-Formed XML and is also namespace-wellformed and namespace-valid. The XML Syntax rules for Well-Formed XML are:
The namespace-wellformed rules are:
The namespace-valid rules are:
If you select menu + → (Ctrl+Shift+W) or click the toolbar button <oXygen/> checks if your document is Namespace Well-Formed XML. If any error is found the result is returned to the Message Panel. Each error is one record in the Result List and is accompanied by an error message. Clicking the record will open the document containing the error and highlight the approximate location. Example 4.2. Document which is not Well-Formed XML <root><tag></root> When "Check document form" is performed the following error is raised: The element type "tag" must be terminated by the matching end-tag "</tag>" To resolve the error, click in the result list record which will locate and highlight the errors approximate position. Identify which start tag is missing an end tag and insert </tag>. Example 4.3. Document which is not namespace-wellformed <x::y></x::y> When "Check document form" is performed the following error is raised: Element or attribute do not match QName production: QName::=(NCName':')?NCName. Example 4.4. Document which is not namespace-valid <x:y></x:y> When "Check document form" is performed the following error is raised: The prefix "x" for element "x:y" is not bound. Also the files contained in the current project and selected with the mouse in the Project view can be checked for well-formedness with one action available on the popup menu of the Project view : © 2008 syncRO soft ltd. |