Semantics : XmlStatement

XmlStatement  ::=  do Expr ( in Expr )? ( < IDENTIFIER > )? ( systemID Expr )? as xml ( XmlInitList )? {
( BEFORE | AFTER | < > | ( < | </ )+ IDENTIFIER ( : IDENTIFIER )+ >
| TEXT ( < IDENTIFIER ( : IDENTIFIER )+ > ( + | - )? )?
| WARNING | ERROR | START_DOC | END_DOC | START_NS_MAP | END_NS_MAP
| PI | WHITESPACE | COMMENT | START_CDATA | END_CDATA
| START_DTD | END_DTD | START_ENTITY | END_ENTITY | ELEMENT_DECL
| ATTR_DECL | ENTITY_DECL | EXT_ENTITY_DECL | SKIPPED_ENTITY
) : ( Statement )+
)+ }

Used by:  

This statement provides a straightforward way of SAX2-compatible XML programming. The XML SAX2 parser issues an event for tags, text segments and a number of other SAX2 events; JudoScript has added two more events, BEFORE and AFTER . Each event becomes a label in this statement, which is followed by statements that handle the event, with $_ being the event object; see XmlTag.

In addition, this statement also supports a text event that is enclosed between a pair of open and close tags, with the TEXT < ... > ; see XmlTextTag. It is likely to have other tags embedded in the text between a pair of open/close tags; you have to options to copy them into the text or ignore these embedded tags by the + or - following the tag (before : ). By default it copies embedded tags (that is, + ).

The source can be a file, a URL or a file within a zip archive. The text encoding can be specified in lt; and gt; .