Hello,
I would like to better understand the block function. First, is it a recursive function ? I have read the help but I didn't well understand the operation of this function.
Here a an example where a Block function is used and that I would like to understand.
XMLtest = {
XMLElement["YO", {}, 2],
XMLElement[ "BA", {}, {
XMLElement["YO", {}, {
XMLElement["BA", {}, 2]}], XMLElement["BA", {}, 2]}]
}
Here the use of the Block function
XMLtest =
Block[{XMLElement},
XMLElement[Except@"YO", _, {content__XMLElement}] := content;
XMLElement[Except@"YO", _, _] := Sequence[];
XMLtest]
The created function permits to suppress the XMLElements different from YO as I wanted.
Why a Block function is used here ? What is the element which stops the loop ?
Thank you for your help.