QXmlSchema Class Reference

[QtXmlPatterns module]

该QXmlSchema类提供了一个W3C XML模式的加载和验证。More…

Methods

  • __init__ (self)
  • QUrl documentUri (self)
  • bool isValid (self)
  • bool load (self, QUrl source)
  • bool load (self, QIODevice source, QUrl documentUri = QUrl())
  • bool load (self, QByteArray data, QUrl documentUri = QUrl())
  • QAbstractMessageHandler messageHandler (self)
  • QXmlNamePool namePool (self)
  • QNetworkAccessManager networkAccessManager (self)
  • setMessageHandler (self, QAbstractMessageHandler handler)
  • setNetworkAccessManager (self, QNetworkAccessManager networkmanager)
  • setUriResolver (self, QAbstractUriResolver resolver)
  • QAbstractUriResolver uriResolver (self)

Detailed Description

该QXmlSchema类提供了一个W3C XML模式的加载和验证。

该QXmlSchema类加载,编译和验证,可以进一步通过用于XML实例文档验证的W3C XML Schema文件QXmlSchemaValidator

下面的示例演示如何从网络加载一个XML Schema文件,并测试它是否是一个有效的架构文档:

  1. [QUrl]($docs-qurl.html) url("http://www.schema-example.org/myschema.xsd");
  2. QXmlSchema schema;
  3. if (schema.load(url) == true)
  4. qDebug() << "schema is valid";
  5. else
  6. qDebug() << "schema is invalid";

XML Schema Version

这个类是用来表示符合的模式XML Schema1.0规范。


Method Documentation

  1. QXmlSchema.__init__ (self)

构造不能使用,直到无效,空架构load()被调用。

  1. QUrl QXmlSchema.documentUri (self)

[

返回架构的文档URI或空的URI ,如果没有模式已定。

  1. bool QXmlSchema.isValid (self)

返回True如果这个模式是有效的。失效模式的例子是那些包含语法错误或不符合W3C的XML Schema规范。

  1. bool QXmlSchema.load (self, QUrl source)

]($docs-qurl.html)

此套QXmlSchema以从加载的模式_source_URI。

如果架构is invalidfalse返回和行为是未定义的。

例如:

  1. [QUrl]($docs-qurl.html) url("http://www.schema-example.org/myschema.xsd");
  2. [QXmlSchema]($docs-qxmlschema.html) schema;
  3. if (schema.load(url) == true)
  4. qDebug() << "schema is valid";
  5. else
  6. qDebug() << "schema is invalid";

See also isValid( ) 。

  1. bool QXmlSchema.load (self, QIODevice source, QUrl documentUri = QUrl())

此套QXmlSchema从读取架构source设备。该设备必须已经打开了至少QIODevice.ReadOnly

documentUri表示从所获得的模式source设备。它是架构的基础URI,它在内部使用,以解决出现在架构相对URI ,以及消息的报告。

If source is null或无法读取,或者如果documentUri是不是一个有效的URI ,行为是未定义的。

如果架构is invalidfalse返回和行为是未定义的。

例如:

  1. [QFile](qfile.html) file("myschema.xsd");
  2. file.open([QIODevice](qiodevice.html).ReadOnly);
  3. [QXmlSchema]($docs-qxmlschema.html) schema;
  4. schema.load(&file, [QUrl]($docs-qurl.html).fromLocalFile(file.fileName()));
  5. if (schema.isValid())
  6. qDebug() << "schema is valid";
  7. else
  8. qDebug() << "schema is invalid";

See also isValid( ) 。

  1. bool QXmlSchema.load (self, QByteArray data, QUrl documentUri = QUrl())

此套QXmlSchema从读取架构data

documentUri表示从所获得的模式data。它是架构的基础URI,它在内部使用,以解决出现在架构相对URI ,以及消息的报告。

If documentUri是不是一个有效的URI ,行为是未定义的。

如果架构is invalidfalse返回和行为是未定义的。

例如:

  1. [QByteArray](qbytearray.html) data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
  2. "<xsd:schema"
  3. " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
  4. " xmlns=\"http://qt.nokia.com/xmlschematest\""
  5. " targetNamespace=\"http://qt.nokia.com/xmlschematest\""
  6. " version=\"1.0\""
  7. " elementFormDefault=\"qualified\">"
  8. "</xsd:schema>" );
  9. [QXmlSchema]($docs-qxmlschema.html) schema;
  10. schema.load(data);
  11. if (schema.isValid())
  12. qDebug() << "schema is valid";
  13. else
  14. qDebug() << "schema is invalid";

See also isValid()和isValid( ) 。

  1. QAbstractMessageHandler QXmlSchema.messageHandler (self)

返回处理这个编译和验证消息的消息处理程序QXmlSchema

See also setMessageHandler( ) 。

  1. QXmlNamePool QXmlSchema.namePool (self)

返回此名称池QXmlSchema构建names。有没有setter的名字池,因为混合池的名称会导致错误,由于名称的混乱。

  1. QNetworkAccessManager QXmlSchema.networkAccessManager (self)

[

返回该网络管理器,或0 ,如果它没有被设置。

]($docs-qnetworkaccessmanager.html)

See also setNetworkAccessManager( ) 。

  1. QXmlSchema.setMessageHandler (self, QAbstractMessageHandler handler)

更改message handlerQXmlSchemahandler。该架构将所有的编译和验证消息,此消息处理程序。QXmlSchema不采取所有权handler

通常情况下,默认的消息处理就足够了。它写的编译和验证消息的stderr。默认的消息处理程序,包括颜色代码,如果stderr可以使色彩。

When QXmlSchema电话QAbstractMessageHandler.message( ) ,参数如下:

message() argument Semantics
QtMsgType type Only QtWarningMsg and QtFatalMsg are used. The former identifies a warning, while the latter identifies an error.
const QString & description An XHTML document which is the actual message. It is translated into the current language.
const QUrl &identifier Identifies the error with a URI, where the fragment is the error code, and the rest of the URI is the error namespace.
const QSourceLocation & sourceLocation Identifies where the error occurred.

See also messageHandler( ) 。

  1. QXmlSchema.setNetworkAccessManager (self, QNetworkAccessManager networkmanager)

设置网络管理员managerQXmlSchema不采取所有权manager

See also networkAccessManager( ) 。

  1. QXmlSchema.setUriResolver (self, QAbstractUriResolver resolver)

设置的URI解析器resolverQXmlSchema不采取所有权resolver

See also uriResolver( ) 。

  1. QAbstractUriResolver QXmlSchema.uriResolver (self)

返回架构的URI解析器。如果没有的URI解析器已定,QtXmlPatterns将使用的URI的模式,因为它们。

这个URI解析器提供了一个抽象层,或polymorphic URIs。解析器可以重写_logical_URI与物理的,或者它可以翻译过时的或无效的URI来有效的。

When QtXmlPatterns电话QAbstractUriResolver.resolve( )的绝对URI是由架构规范规定的URI和相对URI是由用户指定的URI。

See also setUriResolver( ) 。