mirror of
https://github.com/ilyakooo0/xml-isogen.git
synced 2024-10-05 19:07:41 +03:00
Export Internal structures for code generation in xsd-isogen
This commit is contained in:
parent
3336f05c19
commit
ce1fd04d7f
@ -131,62 +131,18 @@ import Data.Maybe (maybeToList, mapMaybe)
|
||||
import Data.String
|
||||
import Data.THGen.Compat
|
||||
import Data.THGen.Enum
|
||||
import Data.THGen.XML.Internal
|
||||
import qualified Data.Text as T
|
||||
import GHC.Generics (Generic)
|
||||
import qualified Language.Haskell.TH as TH
|
||||
import Prelude hiding ((+), (*), (^))
|
||||
import qualified Text.XML as X
|
||||
import Text.XML.DOM.Parser hiding (parseContent)
|
||||
import Text.XML.DOM.Parser.Internal.Content
|
||||
import Text.XML.ParentAttributes
|
||||
import qualified Text.XML.Writer as XW
|
||||
import Text.XML.DOM.Parser.Internal.Content
|
||||
|
||||
|
||||
data XmlFieldPlural
|
||||
= XmlFieldPluralMandatory -- Occurs exactly 1 time (Identity)
|
||||
| XmlFieldPluralOptional -- Occurs 0 or 1 times (Maybe)
|
||||
| XmlFieldPluralRepeated -- Occurs 0 or more times (List)
|
||||
| XmlFieldPluralMultiplied -- Occurs 1 or more times (NonEmpty)
|
||||
|
||||
data XmlAttributePlural
|
||||
= XmlAttributePluralMandatory -- Occurs exactly 1 time (Identity)
|
||||
| XmlAttributePluralOptional -- Occurs 0 or 1 times (Maybe)
|
||||
|
||||
data PrefixName = PrefixName String String
|
||||
|
||||
data IsoXmlDescPreField = IsoXmlDescPreField String TH.TypeQ
|
||||
|
||||
data IsoXmlDescPreAttribute = IsoXmlDescPreAttribute String TH.TypeQ
|
||||
|
||||
data IsoXmlDescPreContent = IsoXmlDescPreContent String TH.TypeQ
|
||||
|
||||
data IsoXmlDescField = IsoXmlDescField XmlFieldPlural String TH.TypeQ
|
||||
|
||||
data IsoXmlDescAttribute = IsoXmlDescAttribute XmlAttributePlural String TH.TypeQ
|
||||
|
||||
data IsoXmlDescContent = IsoXmlDescContent String TH.TypeQ
|
||||
|
||||
data IsoXmlDescRecordPart
|
||||
= IsoXmlDescRecordField IsoXmlDescField
|
||||
| IsoXmlDescRecordAttribute IsoXmlDescAttribute
|
||||
| IsoXmlDescRecordContent IsoXmlDescContent
|
||||
|
||||
newtype IsoXmlDescRecord = IsoXmlDescRecord [IsoXmlDescRecordPart]
|
||||
|
||||
makePrisms ''IsoXmlDescRecord
|
||||
|
||||
data ExhaustivenessName = ExhaustivenessName String Exhaustiveness
|
||||
|
||||
newtype IsoXmlDescEnumCon
|
||||
= IsoXmlDescEnumCon { unIsoXmlDescEnumCon :: String }
|
||||
|
||||
instance IsString IsoXmlDescEnumCon where
|
||||
fromString = IsoXmlDescEnumCon
|
||||
|
||||
data IsoXmlDescEnum = IsoXmlDescEnum [IsoXmlDescEnumCon]
|
||||
|
||||
makePrisms ''IsoXmlDescEnum
|
||||
|
||||
appendField
|
||||
:: XmlFieldPlural
|
||||
-> IsoXmlDescRecord
|
||||
|
@ -30,6 +30,7 @@ source-repository head
|
||||
library
|
||||
exposed-modules: Data.THGen.Enum
|
||||
, Data.THGen.XML
|
||||
, Data.THGen.XML.Internal
|
||||
, Text.XML.ParentAttributes
|
||||
other-modules: Data.THGen.Compat
|
||||
, Text.XML.DOM.Parser.Internal.Content
|
||||
|
Loading…
Reference in New Issue
Block a user