如果没有,是否有任何方法来检查XML文档对它的XSD?如果XMLHttpRequest存在,是否针对其XSD检查XML文档?
2
A
回答
3
XMLHttpRequet是否针对其XSD检查XML文档(如果存在)?
号
XMLHttpRequest只是一个方法名称,内容不必是XML(这就是为什么它通常与JSON,系列化的形式使用)。 XML解析器通常只会检查XML是否有效,而不是它是否符合特定的模式或DTD。我怀疑任何浏览器XML解析器都没有。
如果要检查模式或DTD,则需要XML验证程序,如XMLSpy中的验证程序。正如Harun发布的那样,您可能能够访问将进行验证的主机对象,但很可能不会跨浏览器。
2
JavaScript代码来验证对XSD的XML文件,
<SCRIPT LANGUAGE="JavaScript">
var strFile=path of xml file;
function validateFile(strFile)
{
// Create a schema cache and add books.xsd to it.
var xs = new ActiveXObject("MSXML2.XMLSchemaCache.4.0");
xs.add("urn:books", "xsd path");
// Create an XML DOMDocument object.
var xd = new ActiveXObject("MSXML2.DOMDocument.4.0");
// Assign the schema cache to the DOMDocument's
// schemas collection.
xd.schemas = xs;
// Load books.xml as the DOM document.
xd.async = false;
xd.validateOnParse = true;
xd.resolveExternals = true;
xd.load(strFile);
// Return validation results in message to the user.
if (xd.parseError.errorCode != 0)
{
return("Validation failed on " + strFile +
"\n=====================" +
"\nReason: " + xd.parseError.reason +
"\nSource: " + xd.parseError.srcText +
"\nLine: " + xd.parseError.line + "\n");
}
else
return("Validation succeeded for " + strFile +
"\n======================\n" +
xd.xml + "\n");
}
</SCRIPT>
XML文件,
<?xml version="1.0"?>
<bookstore xmlns="generic">
<book genre="autobiography">
<title>The Autobiography of Benjamin Franklin</title>
<price>89.88</price>
</book>
<book genre="novel">
<title>The Confidence Man</title>
<price>11.99</price>
</book>
</bookstore>
XSD文件(模式文件),
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="generic" elementFormDefault="qualified" targetNamespace="generic">
<xsd:element name="bookstore" type="bookstoreType"/>
<xsd:complexType name="bookstoreType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="book" type="bookType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="price" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="genre" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>
希望这有助于。 。
相关问题
- 1. 如何判断XML文档是否针对DTD或XSD进行验证?
- 2. xslt - 检查文档是否存在
- 3. CouchRest - 检查文档ID是否存在
- 4. xml文档对应于XSD
- 5. 检查集合中是否存在文档,如果不添加新文档
- 6. 如何检查XML值是否存在?
- 7. 针对XSD测试XML文档,但允许某些部分不能被检查,也不需要XSD
- 8. mongoDB:检查文档中是否存在嵌套对象
- 9. 检查对象(文档)是否存在于MongoDB中(使用Jongo)
- 10. 如果存在另一个xml节点,检查是否存在xml节点
- 11. 如何检查Swift文档目录中是否存在文件?
- 12. 是否可以在Silverlight 3中针对XSD验证XML?
- 13. 检查文件是否存在,如果存在则将其删除
- 14. 如何在XML中检查XMLHttpRequest对象是否支持W3C Progress Events?
- 15. 如何检查给定节点是否存在于XML文档中
- 16. 如何在运行时验证xml是否针对xsd,而不将文件保存在本地文件夹中?
- 17. 针对XSD的XML验证
- 18. xml针对cs中的xsd#
- 19. 针对XSD的XML无效
- 20. 检查如果一个字符串是一个XML文档
- 21. 如何检查对象是否存在?
- 22. 如何检查是否存在多个文档
- 23. 如何检查Html文档中是否存在HtmlElement
- 24. 我如何检查文档是否存在使用Mongodb和JAVA?
- 25. 如何检查文档是否存在于lucene索引中?
- 26. 检查是否存在串在文本文档
- 27. MongoDB和C# - 检查文档是否存在,如果它没有插入它
- 28. 检查是否存在XML(不工作)
- 29. 检查xml节点是否存在?
- 30. as3 xml检查元素是否存在