dataset
DESCRIPTION
Active sheet. . XCL module. Unmarshaling phase. Separated data sets (thread safe). DataSet. DataSet. DataSet. DataSet. ForEachAction. Linked classes. Runtime phase. run(). ForEachAction. run(). ParseAction. run(). ParseAction. run(). Module - PowerPoint PPT PresentationTRANSCRIPT
DataSetDataSetDataSet
Unmarshaling phase
Linked classes Runtime phase
Separated data sets (thread safe)
Active sheet
run()
run()
<xcl:for-each …> <xcl:parse …>
ParseActionrun()
run()
DataSet
ForEachAction
ParseAction
ForEachAction
XCL module
Modulerequest <exp:module target="exp" …
<exp:module target="cat" …
<exp:module target="asl" …
<asl:active-schema target="exp" …
<asl:active-schema target="cat" …
<asl:active-schema target="asl" …
<cat:uri name="http://www.inria.fr/xml/active-tags/xcl"> <cat:entry key="exp:module" value="xcl/module.exp"/> <cat:entry key="asl:schema" value="xcl/schema.asl"/></cat:uri><cat:uri name="http://www.inria.fr/xml/active-tags/exp"> <cat:entry key="exp:module" value="exp/module.exp"/> <cat:entry key="asl:schema" value="exp/schema.asl"/></cat:uri><cat:uri name="http://www.inria.fr/xml/active-schema"> <cat:entry key="exp:module" value="asl/module.exp"/> <cat:entry key="asl:schema" value="asl/schema.asl"/> <cat:entry key="asl:schema" value="asl/messages.asl"/></cat:uri><cat:uri name="http://www.inria.fr/xml/active-catalog"> <cat:entry key="exp:module" value="catalog/module.exp"/> <cat:entry key="asl:schema" value="catalog/schema.asl"/></cat:uri>
PI <xcl:active-sheet …
<exp:module target="xcl" …
<asl:active-schema target="xcl" …
Catalog lookup
Modulerequest
PI
Catalog lookup
Bootstrap sequence :•minimal EXP (internal)•full EXP module•Catalog module location
Modulerequest
<cat:catalog xmlns:cat="http://www.inria.fr/xml/active-catalog" xmlns:exp="http://www.inria.fr/xml/active-tags/exp" xmlns:asl="http://www.inria.fr/xml/active-schema"> <cat:group xml:base="file:///path/to/active-tags/core/"> <cat:uri name="http://www.inria.fr/xml/active-tags/xcl"> <cat:entry key="exp:module" value="xcl/module.exp"/> <cat:entry key="asl:schema" value="xcl/schema.asl"/> </cat:uri> <cat:uri name="http://www.inria.fr/xml/active-tags/exp"> <cat:entry key="exp:module" value="exp/module.exp"/> <cat:entry key="asl:schema" value="exp/schema.asl"/> </cat:uri> <cat:uri name="http://www.inria.fr/xml/active-schema"> <cat:entry key="exp:module" value="asl/module.exp"/> <cat:entry key="asl:schema" value="asl/schema.asl"/> <cat:entry key="asl:schema" value="asl/messages.asl"/> </cat:uri> <cat:uri name="http://www.inria.fr/xml/active-datatypes"> <cat:entry key="exp:module" value="asl/types/adt/module.exp"/> </cat:uri> <cat:uri name="http://www.w3.org/2001/XMLSchema-datatypes"> <cat:entry key="exp:module" value="asl/types/xs/module.exp"/> </cat:uri> <cat:uri name="http://www.w3.org/XML/1998/namespace"> <cat:entry key="exp:module" value="asl/types/xml/module.exp"/> </cat:uri> <cat:uri name="http://www.inria.fr/xml/active-catalog"> <cat:entry key="exp:module" value="catalog/module.exp"/> <cat:entry key="asl:schema" value="catalog/schema.asl"/> </cat:uri> <cat:uri name="urn:oasis:names:tc:entity:xmlns:xml:catalog"> <cat:entry key="exp:module" value="catalog/oasis-module.exp"/> <cat:entry key="asl:schema" value="catalog/oasis-schema.asl"/> </cat:uri> </cat:group> <cat:group xml:base="file:///path/to/active-tags/modules/"> <cat:uri name="http://www.inria.fr/xml/active-tags/io"> <cat:entry key="exp:module" value="io/module.exp"/> <cat:entry key="asl:schema" value="io/schema.asl"/> </cat:uri> <cat:uri name="http://www.inria.fr/xml/active-tags/serialize"> <cat:entry key="exp:module" value="serialize/module.exp"/> <cat:entry key="asl:schema" value="serialize/schema.asl"/> </cat:uri> <cat:uri name="http://www.inria.fr/xml/active-tags/sys"> <cat:entry key="exp:module" value="sys/module.exp"/> <cat:entry key="asl:schema" value="sys/schema.asl"/> </cat:uri> <cat:uri name="http://www.inria.fr/xml/active-tags/rdbms"> <cat:entry key="exp:module" value="rdbms/module.exp"/> <cat:entry key="asl:schema" value="rdbms/schema.asl"/> </cat:uri> </cat:group></cat:catalog>
Active Schema
Active Catalog
Module Extensibility
validate
validate
bind
bindsupplysupply
<asl:schema target="acme"> <asl:element name="foo"...
<cat:catalog> <cat:uri name="http://acme.com"...
<exp:module target="acme"> <exp:element name="foo"...
<acme:foo>Active tag