AntaniXml
AntaniXml Namespace
Type | Description |
CustomGenerators | |
IXmlElementGenerator | Random generator of xml elements based on a schema definition |
Schema | This is the public API of AntaniXml. It provides random generators for global elements defined in the given Xml Schema. |
Module | Description |
AtomicGenerators | This module provides generators for simple (atomic) data types.
Generation of random values is mainly based on FsCheck generators.
Each simple datatype is mapped to a suitable CLR type (e.g. |
ConstrainedGenerators | This module provides support for simple types featuring multiple facets. For example when a simple type has both a Length facet and a pattern. |
Customization | |
FacetBasedGenerators | This module provides generators supporting the facets defined in XML schema. |
LexicalMappings | This module contains whitespace handling and also parse and format functions for simple datatypes.
In W3C terms, parse is a map from the lexical space to the value space of a given datatype.
Usually we implement it relying on |
XmlGenerator | This is where elements and types (simple and complex) defined in a schema are mapped to random generators. Complex generators are composed using FsCheck combinators. |
XsdDomain | This module provides types to represent a schema. F# data types like discriminated unions allow for very clear definitions. The W3C XML Schema specification http://www.w3.org/XML/Schema is rich and complex, so this module provides a simplified view. Nevertheless, we cover a few specific (and sometimes tricky) concepts, like nillable values, fixed values, union and list for simple types, whitespace handling etc. |
XsdFactory | This module is in charge of parsing xsd and creating models according to XsdDomain data types.
Parsing xsd is a complex task, and for this we rely on the .NET BCL library (namespace |