Я только что начал переключать свой старый DTD на XSD, когда узнал об этом, и мне интересно, как я могу применить XSD к моим XML-файлам? Я видел валидатор W3C там, но я хотел бы, чтобы был способ сделать программу не запущенной в браузере, если была обнаружена ошибка XSD. Это возможно?Как вы можете применять XSD?
ответ
Обеспечение выполнения правил XSD не может быть сделано непосредственно в XML, так как это формат текстовый файл и не имеет внутренней логики или способа проверить себя на достоверность.
Для обеспечения соблюдения правил необходимо использовать проверочный синтаксический анализатор - этот анализатор может загружать XML и XSD и проверять XML на предмет соответствия действительности XSD. Это справедливо и для DTD.
Итак, если это так ... Есть ли причина ссылаться на файл .xsd из XML-файла? – Metropolis
@Metropolis - Это удобно, как ссылка, если ничего другого. Вы можете использовать синтаксический анализатор для извлечения ссылки XSD, чтобы найти/получить XSD и подтвердить его. – Oded
Да, это возможно с использованием проверки парсеров 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/>";
}
?>
Любые предложения по этому поводу? – Metropolis
уверен, как только вы сообщите нам, какой язык/среда вы разрабатываете для – unbeli
Мне не сильно понравилось использование парсера .... Я уже знал, что это можно сделать. Я действительно задавался вопросом, может ли это быть сделано напрямую, когда страница загружается в браузере. Но большое спасибо за пример :) +1. Я также не очень оценил «первый хит Google», как будто я его еще не искал. Меня бы здесь не было, если бы я этого не сделал. – Metropolis
- 1. Асинхронно применять ASP.NET WebMethod, если вы можете распараллелить?
- 2. вы можете проверить xsd против xml в vs 2010?
- 3. Можете ли вы связать внешний XSD в своей XML-схеме?
- 4. Можете ли вы пропустить HashMap, как вы можете, в ArrayList?
- 5. Как вы можете использовать Getter?
- 6. Как вы можете прокручивать LinearLayout?
- 7. Как вы можете использовать TTStyledTextLabel?
- 8. Как вы можете «избежать» SIGSEGV?
- 9. Как вы можете POST JSON?
- 10. Как вы можете проверить сайт?
- 11. Как вы можете распаковать Color.PackedValue
- 12. Как вы можете рандомизировать заставку?
- 13. Как вы можете объединить данные?
- 14. Как вы можете наследовать общий заводский метод?
- 15. Должен ли XML Parser применять ограничения XSD-схемы для CDATA?
- 16. Как вы можете захватывать элементы в dom и применять разные css без id?
- 17. Как вы можете применять привязки knockoutjs к модели, хранящейся в локальном хранилище html5? Использование jStorage
- 18. Как вы связываете XML с XSD?
- 19. Как вы вставляете элементы complexType в xsd?
- 20. Как вы определяете содержимое элемента в XSD?
- 21. Run, когда вы можете
- 22. Можете ли вы удалить фильтры ответа?
- 23. вы можете вернуть b2Fixture?
- 24. Вы можете ввести UILabel
- 25. Когда вы можете плавать?
- 26. Как вы можете переписать это как Linq?
- 27. Как вы можете определить свой собственный псевдо-элемент в JavaScript?
- 28. Вы можете иметь, если вы прав
- 29. Нокаут: ошибка: вы не можете применять привязки несколько раз к тому же элементу при обновлении страницы
- 30. Как применять тип глобальной переменной?
какой язык вы используете? – code4life
Снова, на каком языке написана «программа»? – CaffGeek
Нет, вы не редактировали. После редактирования вы должны нажать «Сохранить»;) – unbeli