.push_back(
"#");
86 stringnode_id(
m_URI.front());
144 boolis_object =
false;
145 boolhas_additional_prop =
false;
147 boolexcl_min =
false, excl_max =
false;
155 if(
key==
"$schema") {
156}
else if(
key==
"title") {
161}
else if(
key==
"type") {
162 if(
Value() ==
"string") {
164}
else if(
Value() ==
"integer") {
166}
else if(
Value() ==
"number") {
168}
else if(
Value() ==
"boolean") {
170}
else if(
Value() ==
"null") {
172}
else if(
Value() ==
"object") {
174}
else if(
Value() ==
"array") {
177}
else if(
key==
"default") {
180}
else if(
key==
"description") {
182}
else if(
key==
"$ref") {
185}
else if(
key==
"pattern") {
191 if(
key==
"minItems") {
193}
else if(
key==
"maxItems") {
195}
else if(
key==
"minLength") {
197}
else if(
key==
"maxLength") {
199}
else if(
key==
"minimum") {
201}
else if(
key==
"maximum") {
202max_value =
Value();
203}
else if(
key==
"exclusiveMinimum") {
206}
else if(
key==
"exclusiveMaximum") {
207max_value =
Value();
209}
else if(
key==
"multipleOf") {
211}
else if(
key==
"default") {
218 if(
key==
"minimum") {
220}
else if(
key==
"maximum") {
222}
else if(
key==
"exclusiveMinimum") {
225}
else if(
key==
"exclusiveMaximum") {
226max_value =
Value();
228}
else if(
key==
"default") {
235 if(
key==
"exclusiveMinimum") {
237}
else if(
key==
"exclusiveMaximum") {
239}
else if(
key==
"uniqueItems") {
241}
else if(
key==
"additionalProperties") {
247 if(
key==
"properties") {
251}
else if(
key==
"items") {
255}
else if(
key==
"definitions") {
259}
else if(
key==
"dependencies") {
266 if(
key==
"required") {
268}
else if(
key==
"enum") {
270}
else if(
key==
"oneOf") {
272}
else if(
key==
"anyOf") {
274}
else if(
key==
"allOf") {
276}
else if(
key==
"type") {
277 ParseError(
"type arrays not supported",
"string");
278}
else if(
key==
"items") {
279 ParseError(
"tuple validation not supported",
"{");
280}
else if(
key==
"examples") {
294 if(!max_value.empty()) {
297 if(is_object && has_additional_prop) {
348 string key, node_id;
396 ParseError(
"Invalid schema",
"element name");
404 boolisknown =
true;
414 ParseError(
"enum restriction not supported",
"string or integer type");
433 ParseError(
"enum restriction not supported", isint?
"integer":
"string");
443vector<DTDElement> contents;
455 boolhasnil =
false;
485item_id = c.GetTypeName();
487 if(!c.IsNamed() && c.GetContent().size() == 1) {
488item_id = c.GetContent().front();
514vector<DTDElement> contents;
534 for(
const string& ref : e.
GetContent()) {
550}
else if(tok ==
T_EOF) {
const AbstractToken & NextToken(void) const
AbstractLexer & Lexer(void)
virtual void ParseError(const char *error, const char *expected, const AbstractToken &token)
string GetText(void) const
void SetName(const string &name)
void SetNillable(bool nil)
void AddContent(const string &ref_name)
void SetTypeName(const string &name)
void AddFacet(const CMemberFacet &c)
void ResetType(EType type)
void SetDefault(const string &value)
const list< CMemberFacet > & GetRestrictions(void) const
void SetDefaultRefsOccurence(EOccurrence occ)
void SetSourceLine(int line)
void SetOccurrence(const string &ref_name, EOccurrence occ)
void SetGlobalType(bool def)
EOccurrence GetOccurrence(const string &ref_name) const
CComments & Comments(void)
void SetNamed(bool named=true)
const string & GetName(void) const
const list< string > & GetContent(void) const
bool RemoveContent(const string &ref_name)
void SetEmbedded(bool set=true)
EType GetType(void) const
string CreateEmbeddedName(const DTDElement &node, int depth) const
void FixEmbeddedNames(DTDElement &node)
map< string, DTDElement > m_MapElement
virtual string GetLocation(void) override
void AddElementContent(DTDElement &node, string &id_name, char separator=0)
void ParseObjectContent(DTDElement *owner)
void AdjustMinOccurence(DTDElement &node, int occ)
const string & Value(void)
void ParseOneOf(DTDElement &node)
void ParseNode(DTDElement &node)
void SkipUnknown(TToken tokend)
void ParseDependencies(DTDElement &node)
void ParseArrayContent(DTDElement &node)
void ParseAllOf(DTDElement &node)
JSDParser(JSDLexer &lexer)
virtual void BuildDocumentTree(CDataTypeModule &module) override
void ParseEnumeration(DTDElement &node)
void ParseMemberDefinition(DTDElement *owner)
virtual void BeginDocumentTree(void) override
void ParseAnyOf(DTDElement &node)
TToken GetNextToken(void)
void ParseRequired(DTDElement &node)
#define ERR_POST_X(err_subcode, message)
Error posting with default error code and given error subcode.
void Warning(CExceptionArgs_Base &args)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
Definition of all error codes used in serial libraries (xser.lib, xcser.lib).
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::KEY key
const GenericPointer< typename T::ValueType > T2 value
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4