diff options
Diffstat (limited to 'velocity-engine-examples/src/main/resources/xml.vm')
-rw-r--r-- | velocity-engine-examples/src/main/resources/xml.vm | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/velocity-engine-examples/src/main/resources/xml.vm b/velocity-engine-examples/src/main/resources/xml.vm new file mode 100644 index 00000000..366b79b1 --- /dev/null +++ b/velocity-engine-examples/src/main/resources/xml.vm @@ -0,0 +1,42 @@ +## Licensed to the Apache Software Foundation (ASF) under one +## or more contributor license agreements. See the NOTICE file +## distributed with this work for additional information +## regarding copyright ownership. The ASF licenses this file +## to you under the Apache License, Version 2.0 (the +## "License"); you may not use this file except in compliance +## with the License. You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, +## software distributed under the License is distributed on an +## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +## KIND, either express or implied. See the License for the +## specific language governing permissions and limitations +## under the License. +#macro ( recursive $e $indent ) +#if( $e.getChildren().size() > 0 ) +$indent <$e.getName()> +#foreach ($child in $e.getChildren() ) +#recursive( $child "$indent " ) +#end +$indent </$e.getName()> +#else +$indent <$e.getName()> +$indent $e.getTextTrim() +$indent </$e.getName()> +#end +#end + +#set($i = " ") + +First, we print out the document tree with a +recursive Velocimacro : + +#recursive( $root.getRootElement() $i ) + + +Next, we access pieces of data directly : + +email : $root.getRootElement().getChild("properties").getChild("author").getChild("email").getText() +last name : $root.getRootElement().getChild("properties").getChild("author").getChild("name").getChild("last").getChild("full").getText() |