1 /*
   2  * reserved comment block
   3  * DO NOT REMOVE OR ALTER!
   4  */
   5 /*
   6  * Licensed to the Apache Software Foundation (ASF) under one or more
   7  * contributor license agreements.  See the NOTICE file distributed with
   8  * this work for additional information regarding copyright ownership.
   9  * The ASF licenses this file to You under the Apache License, Version 2.0
  10  * (the "License"); you may not use this file except in compliance with
  11  * the License.  You may obtain a copy of the License at
  12  *
  13  *      http://www.apache.org/licenses/LICENSE-2.0
  14  *
  15  * Unless required by applicable law or agreed to in writing, software
  16  * distributed under the License is distributed on an "AS IS" BASIS,
  17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  18  * See the License for the specific language governing permissions and
  19  * limitations under the License.
  20  */
  21 
  22 package com.sun.org.apache.xerces.internal.xs;
  23 
  24 /**
  25  * This interface represents the Wildcard schema component.
  26  */
  27 public interface XSWildcard extends XSTerm {
  28     // Namespace Constraint
  29     /**
  30      * Namespace Constraint: any namespace is allowed.
  31      */
  32     public static final short NSCONSTRAINT_ANY          = 1;
  33     /**
  34      * Namespace Constraint: namespaces in the list are not allowed.
  35      */
  36     public static final short NSCONSTRAINT_NOT          = 2;
  37     /**
  38      * Namespace Constraint: namespaces in the list are allowed.
  39      */
  40     public static final short NSCONSTRAINT_LIST         = 3;
  41 
  42     // Process contents
  43     /**
  44      * There must be a top-level declaration for the item available, or the
  45      * item must have an xsi:type, and the item must be valid as appropriate.
  46      */
  47     public static final short PC_STRICT                 = 1;
  48     /**
  49      * No constraints at all: the item must simply be well-formed XML.
  50      */
  51     public static final short PC_SKIP                   = 2;
  52     /**
  53      * If the item, or any items among its [children] is an element
  54      * information item, has a uniquely determined declaration available, it
  55      * must be valid with respect to that definition, that is, validate
  56      * where you can and do not worry when you cannot.
  57      */
  58     public static final short PC_LAX                    = 3;
  59 
  60     /**
  61      * Namespace constraint: A constraint type: any, not, list.
  62      */
  63     public short getConstraintType();
  64 
  65     /**
  66      * Namespace constraint: For <code>constraintType</code>
  67      * <code>NSCONSTRAINT_LIST</code>, the list contains allowed namespaces.
  68      * For <code>constraintType</code> <code>NSCONSTRAINT_NOT</code>, the
  69      * list contains disallowed namespaces. For <code>constraintType</code>
  70      * <code>NSCONSTRAINT_ANY</code>, the <code>StringList</code> is empty.
  71      */
  72     public StringList getNsConstraintList();
  73 
  74     /**
  75      * [process contents]: one of skip, lax or strict. Valid constants values
  76      * are: <code>PC_LAX</code>, <code>PC_SKIP</code> and
  77      * <code>PC_STRICT</code>.
  78      */
  79     public short getProcessContents();
  80 
  81     /**
  82      * An annotation if it exists, otherwise <code>null</code>. If not null
  83      * then the first [annotation] from the sequence of annotations.
  84      */
  85     public XSAnnotation getAnnotation();
  86 
  87     /**
  88      * A sequence of [annotations] or an empty <code>XSObjectList</code>.
  89      */
  90     public XSObjectList getAnnotations();
  91 }