PhoenixmlDb.Core

SchemaCompileOptions

Limits on what one schema compilation reads, and how it reads it.

#SchemaCompileOptions

Namespace: PhoenixmlDb.Core.Schema

Limits on what one schema compilation reads, and how it reads it.

#Properties

Name Description
Catalog A catalog that says where the documents a schema names are really read from. Null, the default, for none. It is asked about each root, about each schemaLocation (as it is written, then as the absolute URI it resolves to), and, for an xs:import that gives no location, about the namespace. What it maps a name to is then read from a source or through the gate like any other document.
Default The options used when none are given.
MaxDocumentBytes The largest single schema document, in bytes. Reading stops there: no more than this is taken from any one stream. 16 MiB by default.
MaxDocuments The most documents one compilation may read, roots included. 1,024 by default.
MaxTotalBytes The most all the documents of one compilation may come to, in bytes. 64 MiB by default.
PatternMatchTimeout The most time one match of an xs:pattern facet may take: while the schema compiles (which matches the schema's own enumeration, default and fixed values against its patterns) and in every validation against the compiled schema. Null, the default, sets no limit of the layer's own and leaves .NET's process-wide default, which is infinite unless the host sets it.
Xsd11Compatibility Whether a schema document written for XSD 1.1 is made loadable by the XSD 1.0 processor the layer uses. True by default. The parts a document marks as 1.1-only with the vc: versioning attributes are left out, as XSD 1.1 §4.2.2 says a 1.0 processor is to, and a reference to a built-in type that 1.1 added (xs:dayTimeDuration, xs:yearMonthDuration, xs:dateTimeStamp) is read as the 1.0 type it restricts. With false such a schema fails to compile.