本文整理汇总了Java中com.intellij.xml.util.XmlUtil.XML_NAMESPACE_URI属性的典型用法代码示例。如果您正苦于以下问题:Java XmlUtil.XML_NAMESPACE_URI属性的具体用法?Java XmlUtil.XML_NAMESPACE_URI怎么用?Java XmlUtil.XML_NAMESPACE_URI使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类com.intellij.xml.util.XmlUtil
的用法示例。
在下文中一共展示了XmlUtil.XML_NAMESPACE_URI属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getNamespaceByPrefix
@Override
@NotNull
public String getNamespaceByPrefix(String prefix) {
final PsiElement parent = getParent();
if (!parent.isValid()) {
LOG.error(this.isValid());
}
BidirectionalMap<String, String> map = initNamespaceMaps(parent);
if (map != null) {
final String ns = map.get(prefix);
if (ns != null) return ns;
}
if (parent instanceof XmlTag) return ((XmlTag)parent).getNamespaceByPrefix(prefix);
//The prefix 'xml' is by definition bound to the namespace name http://www.w3.org/XML/1998/namespace. It MAY, but need not, be declared
if (XML_NS_PREFIX.equals(prefix)) return XmlUtil.XML_NAMESPACE_URI;
if (!prefix.isEmpty() &&
!hasNamespaceDeclarations() &&
getNamespacePrefix().equals(prefix)) {
// When there is no namespace declarations then qualified names should be just used in dtds
// this implies that we may have "" namespace prefix ! (see last paragraph in Namespaces in Xml, Section 5)
String result = ourGuard.doPreventingRecursion("getNsByPrefix", true, new Computable<String>() {
@Override
public String compute() {
final String nsFromEmptyPrefix = getNamespaceByPrefix("");
final XmlNSDescriptor nsDescriptor = getNSDescriptor(nsFromEmptyPrefix, false);
final XmlElementDescriptor descriptor = nsDescriptor != null ? nsDescriptor.getElementDescriptor(XmlTagImpl.this) : null;
final String nameFromRealDescriptor =
descriptor != null && descriptor.getDeclaration() != null && descriptor.getDeclaration().isPhysical()
? descriptor.getName()
: "";
if (nameFromRealDescriptor.equals(getName())) return nsFromEmptyPrefix;
return XmlUtil.EMPTY_URI;
}
});
if (result != null) {
return result;
}
}
return XmlUtil.EMPTY_URI;
}