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.String
|
||||||
import Data.THGen.Compat
|
import Data.THGen.Compat
|
||||||
import Data.THGen.Enum
|
import Data.THGen.Enum
|
||||||
|
import Data.THGen.XML.Internal
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import GHC.Generics (Generic)
|
import GHC.Generics (Generic)
|
||||||
import qualified Language.Haskell.TH as TH
|
import qualified Language.Haskell.TH as TH
|
||||||
import Prelude hiding ((+), (*), (^))
|
import Prelude hiding ((+), (*), (^))
|
||||||
import qualified Text.XML as X
|
import qualified Text.XML as X
|
||||||
import Text.XML.DOM.Parser hiding (parseContent)
|
import Text.XML.DOM.Parser hiding (parseContent)
|
||||||
|
import Text.XML.DOM.Parser.Internal.Content
|
||||||
import Text.XML.ParentAttributes
|
import Text.XML.ParentAttributes
|
||||||
import qualified Text.XML.Writer as XW
|
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
|
appendField
|
||||||
:: XmlFieldPlural
|
:: XmlFieldPlural
|
||||||
-> IsoXmlDescRecord
|
-> IsoXmlDescRecord
|
||||||
|
@ -30,6 +30,7 @@ source-repository head
|
|||||||
library
|
library
|
||||||
exposed-modules: Data.THGen.Enum
|
exposed-modules: Data.THGen.Enum
|
||||||
, Data.THGen.XML
|
, Data.THGen.XML
|
||||||
|
, Data.THGen.XML.Internal
|
||||||
, Text.XML.ParentAttributes
|
, Text.XML.ParentAttributes
|
||||||
other-modules: Data.THGen.Compat
|
other-modules: Data.THGen.Compat
|
||||||
, Text.XML.DOM.Parser.Internal.Content
|
, Text.XML.DOM.Parser.Internal.Content
|
||||||
|
Loading…
Reference in New Issue
Block a user