Пытаюсь прочитать схему с помощью QXmlSchema.
Если схема не содержит ссылок на другие схемы, то все ОК.
Но при чтении схемы, в которую входит <import ....>? например:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.company.org"
xmlns="http://www.company.org"
elementFormDefault="unqualified"
xmlns:per="http://www.person.org"
xmlns:pro="http://www.product.org">
<xsd:import namespace="http://www.person.org"
schemaLocation="Person.xsd"/>
<xsd:import namespace="http://www.product.org"
schemaLocation="Product.xsd"/>
<xsd:element name="Company">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Person" type="per:PersonType"
maxOccurs="unbounded"/>
<xsd:element name="Product" type="pro:ProductType"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
я получаю ошибки:
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
Schema is invalid
Error XSDError in Person.xsd, at line 1, column 0: Premature end of document.
вот собственно, сам код:
QString fileXSDSchema = "Company.xsd";
QFile fileXSD(fileXSDSchema);
if (fileXSD.open(QIODevice::ReadOnly))
{
QXmlSchema schema;
if (schema.load(&fileXSD,fileXSD.fileName()))
qDebug() << "Schema is valid";
else
qDebug() << "Schema is invalid";
}
Как прочитать такую "составную" схему?