packages feed

ogma-language-xmlspec 1.6.0 → 1.7.0

raw patch · 3 files changed

+68/−36 lines, 3 filesdep ~ogma-specPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ogma-spec

API changes (from Hackage documentation)

+ Language.XMLSpec.Parser: [specRequirementResultExpr] :: XMLFormat -> Maybe (String, Maybe (String, String))
+ Language.XMLSpec.Parser: [specRequirementResultType] :: XMLFormat -> Maybe (String, Maybe (String, String))
+ Language.XMLSpec.Parser: [xfiRequirementResultExpr] :: XMLFormatInternal -> Maybe XPathExpr
+ Language.XMLSpec.Parser: [xfiRequirementResultType] :: XMLFormatInternal -> Maybe XPathExpr
- Language.XMLSpec.Parser: XMLFormat :: Maybe String -> (String, Maybe (String, String)) -> (String, Maybe (String, String)) -> Maybe (String, Maybe (String, String)) -> Maybe String -> (String, Maybe (String, String)) -> Maybe (String, Maybe (String, String)) -> (String, Maybe (String, String)) -> (String, Maybe (String, String)) -> Maybe (String, Maybe (String, String)) -> (String, Maybe (String, String)) -> XMLFormat
+ Language.XMLSpec.Parser: XMLFormat :: Maybe String -> (String, Maybe (String, String)) -> (String, Maybe (String, String)) -> Maybe (String, Maybe (String, String)) -> Maybe String -> (String, Maybe (String, String)) -> Maybe (String, Maybe (String, String)) -> (String, Maybe (String, String)) -> (String, Maybe (String, String)) -> Maybe (String, Maybe (String, String)) -> (String, Maybe (String, String)) -> Maybe (String, Maybe (String, String)) -> Maybe (String, Maybe (String, String)) -> XMLFormat
- Language.XMLSpec.Parser: XMLFormatInternal :: Maybe XPathExpr -> XPathExpr -> XPathExpr -> Maybe XPathExpr -> Maybe XPathExpr -> XPathExpr -> Maybe XPathExpr -> XPathExpr -> XPathExpr -> Maybe XPathExpr -> [XPathExpr] -> XMLFormatInternal
+ Language.XMLSpec.Parser: XMLFormatInternal :: Maybe XPathExpr -> XPathExpr -> XPathExpr -> Maybe XPathExpr -> Maybe XPathExpr -> XPathExpr -> Maybe XPathExpr -> XPathExpr -> XPathExpr -> Maybe XPathExpr -> [XPathExpr] -> Maybe XPathExpr -> Maybe XPathExpr -> XMLFormatInternal

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for ogma-language-xmlspec +## [1.7.0] - 2025-03-21++* Version bump 1.7.0 (#269).+* Remove extraneous EOL character (#224).+* Extend XMLSpec with additional data associated with results (#219).+ ## [1.6.0] - 2025-01-21  * Version bump 1.6.0 (#208).
ogma-language-xmlspec.cabal view
@@ -15,7 +15,7 @@ -- ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER, -- GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING -- THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES--- IT "AS IS."
+-- IT "AS IS." -- -- Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST -- THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS@@ -32,7 +32,7 @@ build-type:          Simple  name:                ogma-language-xmlspec-version:             1.6.0+version:             1.7.0 homepage:            http://nasa.gov license:             OtherLicense license-file:        LICENSE.pdf@@ -71,7 +71,7 @@     , hxt-xpath           >= 8.5      && < 9.2     , pretty              >= 1.1      && < 1.2 -    , ogma-spec           >= 1.6.0 && < 1.7+    , ogma-spec           >= 1.7.0 && < 1.8    hs-source-dirs:     src
src/Language/XMLSpec/Parser.hs view
@@ -66,17 +66,19 @@ -- must be found in the first string of the three and replaced with the result -- of evaluating the expression. data XMLFormat = XMLFormat-    { specInternalVars    :: Maybe String-    , specInternalVarId   :: (String, Maybe (String, String))-    , specInternalVarExpr :: (String, Maybe (String, String))-    , specInternalVarType :: Maybe (String, Maybe (String, String))-    , specExternalVars    :: Maybe String-    , specExternalVarId   :: (String, Maybe (String, String))-    , specExternalVarType :: Maybe (String, Maybe (String, String))-    , specRequirements    :: (String, Maybe (String, String))-    , specRequirementId   :: (String, Maybe (String, String))-    , specRequirementDesc :: Maybe (String, Maybe (String, String))-    , specRequirementExpr :: (String, Maybe (String, String))+    { specInternalVars          :: Maybe String+    , specInternalVarId         :: (String, Maybe (String, String))+    , specInternalVarExpr       :: (String, Maybe (String, String))+    , specInternalVarType       :: Maybe (String, Maybe (String, String))+    , specExternalVars          :: Maybe String+    , specExternalVarId         :: (String, Maybe (String, String))+    , specExternalVarType       :: Maybe (String, Maybe (String, String))+    , specRequirements          :: (String, Maybe (String, String))+    , specRequirementId         :: (String, Maybe (String, String))+    , specRequirementDesc       :: Maybe (String, Maybe (String, String))+    , specRequirementExpr       :: (String, Maybe (String, String))+    , specRequirementResultType :: Maybe (String, Maybe (String, String))+    , specRequirementResultExpr :: Maybe (String, Maybe (String, String))     }   deriving (Show, Read) @@ -185,10 +187,24 @@                      (\e -> liftIO $ fromMaybe "" . listToMaybe <$> executeXPath e def)                      (xfiRequirementDesc xmlFormatInternal) +        reqResType <- case xfiRequirementResultType xmlFormatInternal of+                        Nothing -> return Nothing+                        Just e  -> liftIO $ listToMaybe <$> executeXPath e def++        reqResExpr <- case xfiRequirementResultExpr xmlFormatInternal of+                        Nothing -> return Nothing+                        Just e  -> liftIO $ listToMaybe <$> executeXPath e def++        reqResExpr' <- maybe (return Nothing)+                         (fmap Just . ExceptT . parseExpr . textUnescape)+                         reqResExpr+         return $ Requirement                    { requirementName        = reqId                    , requirementExpr        = reqExpr'                    , requirementDescription = reqDesc+                   , requirementResultType  = reqResType+                   , requirementResultExpr  = reqResExpr'                    }    requirements <- mapM requirementDef reqStrings@@ -198,17 +214,19 @@  -- | Internal representation of an XML Format specification. data XMLFormatInternal = XMLFormatInternal-  { xfiInternalVars    :: Maybe XPathExpr-  , xfiInternalVarId   :: XPathExpr-  , xfiInternalVarExpr :: XPathExpr-  , xfiInternalVarType :: Maybe XPathExpr-  , xfiExternalVars    :: Maybe XPathExpr-  , xfiExternalVarId   :: XPathExpr-  , xfiExternalVarType :: Maybe XPathExpr-  , xfiRequirements    :: XPathExpr-  , xfiRequirementId   :: XPathExpr-  , xfiRequirementDesc :: Maybe XPathExpr-  , xfiRequirementExpr :: [XPathExpr]+  { xfiInternalVars          :: Maybe XPathExpr+  , xfiInternalVarId         :: XPathExpr+  , xfiInternalVarExpr       :: XPathExpr+  , xfiInternalVarType       :: Maybe XPathExpr+  , xfiExternalVars          :: Maybe XPathExpr+  , xfiExternalVarId         :: XPathExpr+  , xfiExternalVarType       :: Maybe XPathExpr+  , xfiRequirements          :: XPathExpr+  , xfiRequirementId         :: XPathExpr+  , xfiRequirementDesc       :: Maybe XPathExpr+  , xfiRequirementExpr       :: [XPathExpr]+  , xfiRequirementResultType :: Maybe XPathExpr+  , xfiRequirementResultExpr :: Maybe XPathExpr   }  -- | Internal representation of an XPath expression.@@ -286,18 +304,26 @@    xfi12 <- resolveIndirectly' file $ specRequirementExpr xmlFormat +  xfi13 <- swapMaybeExceptT $+             resolveIndirectly file <$> specRequirementResultType xmlFormat++  xfi14 <- swapMaybeExceptT $+             resolveIndirectly file <$> specRequirementResultExpr xmlFormat+   return $ XMLFormatInternal-             { xfiInternalVars    = xfi2-             , xfiInternalVarId   = xfi3-             , xfiInternalVarExpr = xfi4-             , xfiInternalVarType = xfi5-             , xfiExternalVars    = xfi6-             , xfiExternalVarId   = xfi7-             , xfiExternalVarType = xfi8-             , xfiRequirements    = xfi9-             , xfiRequirementId   = xfi10-             , xfiRequirementDesc = xfi11-             , xfiRequirementExpr = xfi12+             { xfiInternalVars          = xfi2+             , xfiInternalVarId         = xfi3+             , xfiInternalVarExpr       = xfi4+             , xfiInternalVarType       = xfi5+             , xfiExternalVars          = xfi6+             , xfiExternalVarId         = xfi7+             , xfiExternalVarType       = xfi8+             , xfiRequirements          = xfi9+             , xfiRequirementId         = xfi10+             , xfiRequirementDesc       = xfi11+             , xfiRequirementExpr       = xfi12+             , xfiRequirementResultType = xfi13+             , xfiRequirementResultExpr = xfi14              }  -- | Execute an XPath query in an XML string, returning the list of strings