Here you can find the source of getQName(String text, String defaultNamespace, NamespaceContext context)
Parameter | Description |
---|---|
text | the text of an XML QName; if null or "" then null will be returned |
defaultNamespace | the default namespace to use if none is defined |
context | the context for resolving namespace prefixes |
public static QName getQName(String text, String defaultNamespace, NamespaceContext context)
//package com.java2s; /*/*from w ww . j ava 2 s .co m*/ * Fabric3 * Copyright (c) 2009-2013 Metaform Systems * * Fabric3 is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version, with the * following exception: * * Linking this software statically or dynamically with other * modules is making a combined work based on this software. * Thus, the terms and conditions of the GNU General Public * License cover the whole combination. * * As a special exception, the copyright holders of this software * give you permission to link this software with independent * modules to produce an executable, regardless of the license * terms of these independent modules, and to copy and distribute * the resulting executable under terms of your choice, provided * that you also meet, for each linked independent module, the * terms and conditions of the license of that module. An * independent module is a module which is not derived from or * based on this software. If you modify this software, you may * extend this exception to your version of the software, but * you are not obligated to do so. If you do not wish to do so, * delete this exception statement from your version. * * Fabric3 is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the * GNU General Public License along with Fabric3. * If not, see <http://www.gnu.org/licenses/>. * * ---------------------------------------------------- * * Portions originally based on Apache Tuscany 2007 * licensed under the Apache 2.0 license. * */ import javax.xml.namespace.NamespaceContext; import javax.xml.namespace.QName; public class Main { /** * Construct a QName from an XML value. * * @param text the text of an XML QName; if null or "" then null will be returned * @param defaultNamespace the default namespace to use if none is defined * @param context the context for resolving namespace prefixes * @return a QName with the appropriate namespace set */ public static QName getQName(String text, String defaultNamespace, NamespaceContext context) { if (text == null || text.length() == 0) { return null; } int index = text.indexOf(':'); if (index < 1 || index == text.length() - 1) { // unqualified form - use the default supplied return new QName(defaultNamespace, text); } else { String prefix = text.substring(0, index); String uri = context.getNamespaceURI(prefix); String localPart = text.substring(index + 1); return new QName(uri, localPart, prefix); } } }