当前位置: 首页>>代码示例>>Java>>正文


Java XmlMarkupDecl类代码示例

本文整理汇总了Java中com.intellij.psi.xml.XmlMarkupDecl的典型用法代码示例。如果您正苦于以下问题:Java XmlMarkupDecl类的具体用法?Java XmlMarkupDecl怎么用?Java XmlMarkupDecl使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


XmlMarkupDecl类属于com.intellij.psi.xml包,在下文中一共展示了XmlMarkupDecl类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getNsDescriptor

import com.intellij.psi.xml.XmlMarkupDecl; //导入依赖的package包/类
@Nullable
static XmlNSDescriptor getNsDescriptor(XmlElement element) {
  final XmlElement parentThatProvidesMetaData = PsiTreeUtil
    .getParentOfType(CompletionUtilCoreImpl.getOriginalElement(element), XmlDocument.class, XmlMarkupDecl.class);

  if (parentThatProvidesMetaData instanceof XmlDocument) {
    final XmlDocument document = (XmlDocument)parentThatProvidesMetaData;
    XmlNSDescriptor rootTagNSDescriptor = document.getRootTagNSDescriptor();
    if (rootTagNSDescriptor == null) rootTagNSDescriptor = (XmlNSDescriptor)document.getMetaData();
    return rootTagNSDescriptor;
  } else if (parentThatProvidesMetaData instanceof XmlMarkupDecl) {
    final XmlMarkupDecl markupDecl = (XmlMarkupDecl)parentThatProvidesMetaData;
    final PsiMetaData psiMetaData = markupDecl.getMetaData();

    if (psiMetaData instanceof XmlNSDescriptor) {
      return (XmlNSDescriptor)psiMetaData;
    }
  }

  return null;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:22,代码来源:DtdResolveUtil.java

示例2: getNsDescriptor

import com.intellij.psi.xml.XmlMarkupDecl; //导入依赖的package包/类
@Nullable
static XmlNSDescriptor getNsDescriptor(XmlElement element)
{
	final XmlElement parentThatProvidesMetaData = PsiTreeUtil.getParentOfType(CompletionUtilCoreImpl.getOriginalElement(element), XmlDocument.class, XmlMarkupDecl.class);

	if(parentThatProvidesMetaData instanceof XmlDocument)
	{
		final XmlDocument document = (XmlDocument) parentThatProvidesMetaData;
		XmlNSDescriptor rootTagNSDescriptor = document.getRootTagNSDescriptor();
		if(rootTagNSDescriptor == null)
		{
			rootTagNSDescriptor = (XmlNSDescriptor) document.getMetaData();
		}
		return rootTagNSDescriptor;
	}
	else if(parentThatProvidesMetaData instanceof XmlMarkupDecl)
	{
		final XmlMarkupDecl markupDecl = (XmlMarkupDecl) parentThatProvidesMetaData;
		final PsiMetaData psiMetaData = markupDecl.getMetaData();

		if(psiMetaData instanceof XmlNSDescriptor)
		{
			return (XmlNSDescriptor) psiMetaData;
		}
	}

	return null;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:29,代码来源:DtdResolveUtil.java

示例3: getChildrenBase

import com.intellij.psi.xml.XmlMarkupDecl; //导入依赖的package包/类
@NotNull
public Collection<StructureViewTreeElement> getChildrenBase() {
  final XmlDocument document = getElement().getDocument();
  List<XmlTag> rootTags = new ArrayList<XmlTag>();
  if (document != null) {
    for (PsiElement element : document.getChildren())
      if (element instanceof XmlTag) rootTags.add((XmlTag)element);
  }

  Collection<StructureViewTreeElement> structureViewTreeElements =
    AbstractXmlTagTreeElement.getStructureViewTreeElements(rootTags.toArray(new XmlTag[rootTags.size()]));

  Collection<StructureViewTreeElement> dtdStructureViewTreeElements = null;
  final XmlProlog prolog = document != null ? document.getProlog():null;
  if (prolog != null) {
    final XmlDoctype doctype = prolog.getDoctype();

    if (doctype != null) {
      final XmlMarkupDecl xmlMarkupDecl = doctype.getMarkupDecl();
      if (xmlMarkupDecl != null) {
        dtdStructureViewTreeElements = DtdFileTreeElement.collectElements(xmlMarkupDecl);
      }
    }
  }

  if (dtdStructureViewTreeElements != null) {
    final ArrayList<StructureViewTreeElement> result = new ArrayList<StructureViewTreeElement>(
      dtdStructureViewTreeElements.size() + structureViewTreeElements.size()
    );

    result.addAll(dtdStructureViewTreeElements);
    result.addAll(structureViewTreeElements);
    structureViewTreeElements = result;
  }
  return structureViewTreeElements;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:37,代码来源:XmlFileTreeElement.java

示例4: contributeMetaData

import com.intellij.psi.xml.XmlMarkupDecl; //导入依赖的package包/类
@Override
public void contributeMetaData(final MetaDataRegistrar registrar)
{
	{
		registrar.registerMetaData(new AndFilter(new NamespaceFilter(XmlUtil.SCHEMA_URIS), new ClassFilter(XmlDocument.class)), SchemaNSDescriptor.class);

		registrar.registerMetaData(new AndFilter(XmlTagFilter.INSTANCE, new NamespaceFilter(XmlUtil.SCHEMA_URIS), new XmlTextFilter("schema")), SchemaNSDescriptor.class);
	}
	{
		registrar.registerMetaData(new OrFilter(new AndFilter(new ContentFilter(new OrFilter(new ClassFilter(XmlElementDecl.class), new ClassFilter(XmlEntityDecl.class), new ClassFilter
				(XmlConditionalSection.class), new ClassFilter(XmlEntityRef.class))), new ClassFilter(XmlDocument.class)), new ClassFilter(XmlMarkupDecl.class)), XmlNSDescriptorImpl.class);
	}

	{
		registrar.registerMetaData(new AndFilter(XmlTagFilter.INSTANCE, new NamespaceFilter(XmlUtil.SCHEMA_URIS), new XmlTextFilter("element")), XmlElementDescriptorImpl.class);
	}

	{
		registrar.registerMetaData(new AndFilter(XmlTagFilter.INSTANCE, new NamespaceFilter(XmlUtil.SCHEMA_URIS), new XmlTextFilter("attribute")), XmlAttributeDescriptorImpl.class);
	}

	{
		registrar.registerMetaData(new ClassFilter(XmlElementDecl.class), com.intellij.xml.impl.dtd.XmlElementDescriptorImpl.class);
	}

	{
		registrar.registerMetaData(new ClassFilter(XmlAttributeDecl.class), com.intellij.xml.impl.dtd.XmlAttributeDescriptorImpl.class);
	}

	{
		registrar.registerMetaData(new AndFilter(new ClassFilter(XmlDocument.class), new TargetNamespaceFilter(XmlUtil.XHTML_URI), new NamespaceFilter(XmlUtil.SCHEMA_URIS)),
				RelaxedHtmlFromSchemaNSDescriptor.class);
	}

	{
		registrar.registerMetaData(new AndFilter(XmlTagFilter.INSTANCE, new NamespaceFilter(XmlUtil.SCHEMA_URIS), new XmlTextFilter("complexType", "simpleType", "group", "attributeGroup")),
				NamedObjectDescriptor.class);
	}
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:40,代码来源:XmlApplicationComponent.java


注:本文中的com.intellij.psi.xml.XmlMarkupDecl类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。