diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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).
diff --git a/ogma-language-xmlspec.cabal b/ogma-language-xmlspec.cabal
--- a/ogma-language-xmlspec.cabal
+++ b/ogma-language-xmlspec.cabal
@@ -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
diff --git a/src/Language/XMLSpec/Parser.hs b/src/Language/XMLSpec/Parser.hs
--- a/src/Language/XMLSpec/Parser.hs
+++ b/src/Language/XMLSpec/Parser.hs
@@ -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
