Как вы можете применять XSD? - PullRequest
2 голосов
/ 22 сентября 2010

Я только начал переключать свой старый DTD на XSD, когда узнал об этом, и мне интересно, как я могу применить XSD с моими файлами XML? Я видел там валидатор W3C, но хотелось бы, чтобы был способ заставить программу не запускаться в браузере, если была обнаружена ошибка XSD. Это возможно?

Ответы [ 2 ]

4 голосов
/ 22 сентября 2010

Да, это возможно с помощью проверяющих синтаксических анализаторов XML, которые доступны для большинства языков общего назначения.

ОК, так что это PHP, а затем прямо из первого попадания Google в «Проверка XML PHP»:

<?php

$xml = new DOMDocument(); 
$xml->load('./lures.xml');

if (!$xml->schemaValidate('./lures.xsd')) { 
   echo "invalid<p/>";
} 
else { 
   echo "validated<p/>"; 
} 

?>
2 голосов
/ 22 сентября 2010

Применение правил XSD не может быть выполнено непосредственно в XML, так как это текстовый формат файла и не имеет внутренней логики или способа проверить себя на достоверность.

Для обеспечения соблюдения правил вам необходимо использовать проверяющий синтаксический анализатор - этот анализатор может загружать XML и XSD и проверять его на соответствие XSD. Это также верно для DTD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...