SaxonC 12.7.0
Saxon Processor library for C/C++, PHP and Python
Loading...
Searching...
No Matches
DocumentBuilder.h
1
2// Copyright (c) 2022 - 2024 Saxonica Limited.
3// This Source Code Form is subject to the terms of the Mozilla Public License,
4// v. 2.0. If a copy of the MPL was not distributed with this file, You can
5// obtain one at http://mozilla.org/MPL/2.0/. This Source Code Form is
6// "Incompatible With Secondary Licenses", as defined by the Mozilla Public
7// License, v. 2.0.
9
10#ifndef DOCUMENT_BUILDER_H
11#define DOCUMENT_BUILDER_H
12
13#include "saxonc_export.h"
14#include "saxonc/SaxonProcessor.h"
15#include <string>
16
17class SaxonProcessor;
19class XdmNode;
20class SchemaValidator;
21
35class SAXONC_EXPORT DocumentBuilder {
36
37 friend class SaxonProcessor;
38
39public:
44
62 void setLineNumbering(bool option);
63
73 bool isLineNumbering();
74
88 void setSchemaValidator(SchemaValidator *validator);
89
96 SchemaValidator *getSchemaValidator();
97
106 void setDTDValidation(bool option);
107
115 bool isDTDValidation();
116
130 void setBaseUri(const char *uri);
131
139 const char *getBaseUri();
140
154 XdmNode *parseXmlFromString(const char *content,
155 const char *encoding = nullptr);
156
166 XdmNode *parseXmlFromFile(const char *filename);
167
178 XdmNode *parseXmlFromUri(const char *source);
179
186 bool exceptionOccurred();
187
192 void exceptionClear();
193
199 const char *getErrorMessage();
200
206 const char *getErrorCode();
207
213 SaxonApiException *getException();
214
215private:
223
230 DocumentBuilder(SaxonProcessor *p, int64_t docBuilderObject, std::string cwd);
231
236 DocumentBuilder(const DocumentBuilder &other);
237
238 void createException(const char *message = nullptr);
239
240 SchemaValidator *schemaValidator;
241 SaxonProcessor *proc;
242 SaxonApiException *exception;
243 int64_t docBuilderObject;
244 // jclass docBuilderClass, procClass;
245 // jclass saxonCAPIClass;
246 std::string baseURI;
247 std::string cwdDB;
248 bool lineNumbering, dtdVal;
249};
250
251#endif /* DOCUMENT_BUILDER_H */
A document builder holds properties controlling how a Saxon document tree should be built,...
Definition DocumentBuilder.h:35
SaxonApiException.
Definition SaxonApiException.h:24
The SaxonProcessor class acts as a factory for generating XQuery, XPath, Schema and XSLT compilers.
Definition SaxonProcessor.h:117
Definition SchemaValidator.h:26
This class represents a node in the XDM data model.
Definition XdmNode.h:57