<?xml version="1.0"?>
<!DOCTYPE j:jelly [

  <!-- document is not valid -->
  <!ELEMENT j:jelly (j:set)>
  <!ATTLIST j:jelly xmlns:j CDATA 'jelly:core'>
  
  <!ELEMENT j:set EMPTY>
  <!ATTLIST j:set varicose   CDATA #REQUIRED
                  value CDATA #REQUIRED>

]>
<!--
  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.
-->
<j:jelly 
    xmlns:j="jelly:core">
  
  <j:set var="foo" value="bar"/>
  
</j:jelly>
