The work reported here was initiated by an idea of Tim Berners-Lee, who also first used the phrase "functional XML" in my hearing. The basic direction was first suggested by Richard Tobin.
xsi:schemaLocation
attribute on a document
elementxml-stylesheet
processing instructionhttp://www.w3.org/2001/04/xmlenc#
namespacepurchaseOrder
element.λ:sic
element for this
purpose
xi:include
) document.λ:result
(XSLT) we allow a stylesheet
attribute
or a second child to name or directly provide the stylesheet.λ:PSVI
we allow a
schemaDocuments
attribute and/or multiple children
λ:valid | Validated W3C XML |
λ:PSVI | W3C XML Schema |
λ:result | W3C XSLT (v.1 or v.2, depending on stylesheet) |
λ:queryResult | W3C XML Query |
λ:encrypted | W3C XML Encryption |
λ:decrypted | W3C XML Encryption |
λ:signed | W3C XML Signature |
λ:verified | W3C XML Signature |
λ:transcluded | W3C XML Include |
λ:gMeta | GRDDL |
<xi:include href=S>
(λ:decrypted <EncryptedData ... </EncryptedData> ) (λ:PSVI <purchaseOrder . . . </purchaseOrder> ) (λ:PSVI (λ:decrypted <EncryptedData ... </EncryptedData> )) (λ:decrypted (λ:PSVI <EncryptedData ... </EncryptedData> )) (λ:PSVI (λ:decrypted "encrypted.xml"))
xi:include
d
material the compact notation wins big
(λ:result (λ:PSVI "po.xml" "address.xsd" "po.xsd") "po.xsl"))
λ:test
expression: (cond ((λ:test "po.xml" [/root/@version > 3]) (PSVI "po.xml" "current.xsd")) (true (PSVI "po.xml" "stale.xsd")))
"po.xml"
document twice(let ((doc "po.xml")) (cond ([$doc/root/@version > 3] (PSVI $doc "current.xsd")) ([true] (PSVI $doc "stale.xsd"))))
let
-bound variableslet
and
cond
, not λ:let
and λ:cond
mapcar
, is another
attractive feature(λ:mapped [item/price] (λ (subdoc) <amount currency="USD"> <xi:include href="#subdoc"/> </amount>) "po.xml")
λ
form in the usual waylet
or
λ
can be accessed
xi:include
λ:result
is a bit heavyweight
for many purposes(λ:templateApplied <xsl:template match="item/price"> <amount currency="USD"> <xsl:apply-templates/> </amount> </xsl:template> "po.xml")
try
/catch
.let
and cond
are a bit trickier. . .