Hi France,
Did you alreaady try validate:dtd-info [1]?
Hope this helps,
Christian
[1] http://docs.basex.org/wiki/Validation_Module#validate:dtd-info
On Wed, Feb 18, 2015 at 1:05 AM, France Baril
<france.baril@architextus.com> wrote:
> Hi,
>
> Since my last upgrade to BaseX 8.0 beta 9cb3a37 (also just tried BaseX 8.0.1
> beta 161c4fd), I noticed that the dtd validation errors are cut when to
> long, so I'm getting messages like this one, that don't help my users much:
>
> File 'html-review/dh4/device-help/3338/50/global/en-us/T1401261601.html'
> doesn't validate against BaseX-DTDs/xhtml/xhtml1-transitional.dtd. Error
> [bxerr:BXVA0001]: Validation failed. "Error:archie, 5:28: Attribute "...
>
> Plus, in previous versions, I was removing some errors that we don't care
> about, which I can't do anymore.
>
> Is there a new option to get the full messages like I used to with
> $err:description?
>
> Here is my code snippet (sorry for the ugly color coding in there... never
> had time to upgrade them to @class):
>
> let $errors := <ul>{
> for $file in $files
> return try{
> let $validate := validate:dtd($file, $dtd-file-path)
> return <li style="color:green">Ye!</li>
> }
> catch * {
> let $error-description := $err:description
> return if (contains
> (normalize-space($error-description),
> normalize-space('Attribute ""xmlns"" must
> be declared for element type'))
> or contains
> (normalize-space($error-description),
> normalize-space('Attribute ""xmlns:xsi""
> must be declared for element type')))
> (: The 'xmlns' error is introduced by BaseX,
> and does not get exported to static content, so we ignore it :)
> then ()
> else if (contains
> (normalize-space($error-description),
> normalize-space('Attribute ""content""
> is required and must be specified for element type ""meta""')))
> then () (: No longer true in HTML5 :)
> else <li style="color:red;">
> <p>File '{$file/base-uri()}' doesn't
> validate against {$dtd-file-path}.</p>
> <p>{'Error [' || $err:code || ']: ' ||
> $err:description}</p>
> </li>
> }
> }</ul>
>
> (:let $debug := file:write('debug-in-fix-validation.xml', $errors):)
>
> return <ul>{$errors//li[contains(@style, 'color:red;')]}</ul>
>
>
>
>
> --
> France Baril
> Architecte documentaire / Documentation architect
> france.baril@architextus.com