<?xml version="1.0"?>
<!--
  Copyright 2002-2004 The Apache Software Foundation

  Licensed 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.
-->
<j:jelly xmlns:j="jelly:core" xmlns:v="jelly:validate">

Loading the verifier for Relax NG scheam

<v:verifier uri="address.rng" var="addressSchema"/>

Attempting to validate a valid address ...

<v:validate var="flag" verifier="${addressSchema}">
  <addressBook>
    <card>
      <name>John Smith</name>
      <email>js@example.com</email>
    </card>
    <card>
      <name>Fred Bloggs</name>
      <email>fb@example.net</email>
    </card>
  </addressBook>
</v:validate>

Validation returned: ${flag}

Attempting to validate a wrong address

<v:validate var="flag" verifier="${addressSchema}">
  <addressBook>
    <card>
      <email>js@example.com</email>
    </card>
    <card>
      <name>Fred Bloggs</name>
    </card>
    <card>
      <wrongname>Fred Bloggs</wrongname>
    </card>
    <card>
    </card>
  </addressBook>
</v:validate>

Validation returned: ${flag}
    
</j:jelly>
