⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xsdnotationtraverser.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * Copyright 2001-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. */package com.sun.org.apache.xerces.internal.impl.xs.traversers;import com.sun.org.apache.xerces.internal.impl.xs.SchemaGrammar;import com.sun.org.apache.xerces.internal.impl.xs.SchemaSymbols;import com.sun.org.apache.xerces.internal.impl.xs.XSAnnotationImpl;import com.sun.org.apache.xerces.internal.impl.xs.XSNotationDecl;import com.sun.org.apache.xerces.internal.util.DOMUtil;import org.w3c.dom.Element;/** * The notation declaration schema component traverser. * * <notation *   id = ID *   name = NCName *   public = anyURI *   system = anyURI *   {any attributes with non-schema namespace . . .}> *   Content: (annotation?) * </notation> * * @xerces.internal  * * @author Rahul Srivastava, Sun Microsystems Inc. * @author Elena Litani, IBM * @version $Id: XSDNotationTraverser.java,v 1.2.6.1 2005/09/09 07:24:38 sunithareddy Exp $ */class  XSDNotationTraverser extends XSDAbstractTraverser {        XSDNotationTraverser (XSDHandler handler,            XSAttributeChecker gAttrCheck) {        super(handler, gAttrCheck);    }        XSNotationDecl traverse(Element elmNode,            XSDocumentInfo schemaDoc,            SchemaGrammar grammar) {                // General Attribute Checking for elmNode        Object[] attrValues = fAttrChecker.checkAttributes(elmNode, true, schemaDoc);        //get attributes        String  nameAttr   = (String) attrValues[XSAttributeChecker.ATTIDX_NAME];                String  publicAttr = (String) attrValues[XSAttributeChecker.ATTIDX_PUBLIC];        String  systemAttr = (String) attrValues[XSAttributeChecker.ATTIDX_SYSTEM];        if (nameAttr == null) {            reportSchemaError("s4s-att-must-appear", new Object[]{SchemaSymbols.ELT_NOTATION, SchemaSymbols.ATT_NAME}, elmNode);            fAttrChecker.returnAttrArray(attrValues, schemaDoc);            return null;        }                if (systemAttr == null && publicAttr == null)            reportSchemaError("PublicSystemOnNotation", null, elmNode);                XSNotationDecl notation = new XSNotationDecl();        notation.fName = nameAttr;        notation.fTargetNamespace = schemaDoc.fTargetNamespace;        notation.fPublicId = publicAttr;        notation.fSystemId = systemAttr;                //check content        Element content = DOMUtil.getFirstChildElement(elmNode);        XSAnnotationImpl annotation = null;                if (content != null && DOMUtil.getLocalName(content).equals(SchemaSymbols.ELT_ANNOTATION)) {            annotation = traverseAnnotationDecl(content, attrValues, false, schemaDoc);            content = DOMUtil.getNextSiblingElement(content);        }        else {            String text = DOMUtil.getSyntheticAnnotation(elmNode);            if (text != null) {                annotation = traverseSyntheticAnnotation(elmNode, text, attrValues, false, schemaDoc);            }        }        notation.fAnnotation = annotation;        if (content!=null){            Object[] args = new Object [] {SchemaSymbols.ELT_NOTATION, "(annotation?)", DOMUtil.getLocalName(content)};            reportSchemaError("s4s-elt-must-match.1", args, content);                    }        grammar.addGlobalNotationDecl(notation);        fAttrChecker.returnAttrArray(attrValues, schemaDoc);                return notation;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -