HaXml-1.24.1: Utilities for manipulating XML documents

Safe HaskellSafe-Inferred

Text.XML.HaXml.Schema.Environment

Contents

Synopsis

Build Maps from :

XSD types become top-level types in Haskell.

XSD element decls also become top-level types in Haskell.

Element groups get their own Haskell types too.

Attributes and attribute groups do not become types, they are

Resolve element/attribute references by inlining their names.

data Environment Source

Constructors

Environment 

Fields

env_type :: Map QName (Either SimpleType ComplexType)

type definitions in scope

env_allTypes :: Map QName (Either SimpleType ComplexType)

all type definitions, regardless of scope

env_element :: Map QName ElementDecl
 
env_attribute :: Map QName AttributeDecl
 
env_group :: Map QName Group
 
env_attrgroup :: Map QName AttrGroup
 
env_namespace :: Map String String
 
env_extendty :: Map QName [(QName, FilePath)]

supertype -> subtypes

env_substGrp :: Map QName [(QName, FilePath)]

substitution groups

env_typeloc :: Map QName FilePath

where type is defined

emptyEnv :: EnvironmentSource

An empty environment of XSD type mappings.

combineEnv :: Environment -> Environment -> EnvironmentSource

Combine two environments (e.g. read from different interface files)

mkEnvironment :: FilePath -> Schema -> Environment -> EnvironmentSource

Build an environment of XSD type mappings from a schema module.

gatherImports :: Schema -> [(FilePath, Maybe String)]Source

Find all direct module dependencies.