本文整理汇总了Java中com.intellij.util.xml.NanoXmlUtil类的典型用法代码示例。如果您正苦于以下问题:Java NanoXmlUtil类的具体用法?Java NanoXmlUtil怎么用?Java NanoXmlUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NanoXmlUtil类属于com.intellij.util.xml包,在下文中一共展示了NanoXmlUtil类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parse
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
public static MultiMap<SchemaTypeInfo, SchemaTypeInfo> parse(final Reader reader) {
try {
final XsdComplexTypeInfoBuilder builder = new XsdComplexTypeInfoBuilder();
final NameSpaceHelper helper = new NameSpaceHelper();
builder.setNameSpaceHelper(helper);
NanoXmlUtil.parse(reader, builder, helper);
final MultiMap<SchemaTypeInfo,SchemaTypeInfo> map = builder.getMap();
return map;
} finally {
try {
if (reader != null) {
reader.close();
}
}
catch (IOException e) {
// can never happen
}
}
}
示例2: computeNamespace
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
public static XsdNamespaceBuilder computeNamespace(final Reader reader) {
try {
final XsdNamespaceBuilder builder = new XsdNamespaceBuilder();
NanoXmlUtil.parse(reader, builder);
HashSet<String> tags = new HashSet<String>(builder.getTags());
tags.removeAll(builder.myReferencedTags);
builder.getRootTags().addAll(tags);
return builder;
}
finally {
try {
if (reader != null) {
reader.close();
}
}
catch (IOException e) {
// can never happen
}
}
}
示例3: computeTagNames
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
@NotNull
public static Collection<String> computeTagNames(final Reader reader) {
try {
final XsdTagNameBuilder builder = new XsdTagNameBuilder();
NanoXmlUtil.parse(reader, builder);
return builder.myTagNames;
}
finally {
try {
if (reader != null) {
reader.close();
}
}
catch (IOException e) {
// can never happen
}
}
}
示例4: isSimilarFile
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
private static boolean isSimilarFile(FileContent inputData) {
if (CharArrayUtil.indexOf(inputData.getContentAsText(), "<" + RESOURCES_ROOT_TAG, 0) < 0) {
return false;
}
final boolean[] ourRootTag = {false};
NanoXmlUtil.parse(CharArrayUtil.readerFromCharSequence(inputData.getContentAsText()), new NanoXmlUtil.IXMLBuilderAdapter() {
@Override
public void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr)
throws Exception {
ourRootTag[0] = RESOURCES_ROOT_TAG.equals(name) && nsPrefix == null;
stop();
}
});
return ourRootTag[0];
}
示例5: parsePublicResCache
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
@Nullable
private void parsePublicResCache() {
final String resDirPath = myTarget.getPath(IAndroidTarget.RESOURCES);
final String publicXmlPath = resDirPath + '/' + SdkConstants.FD_RES_VALUES + "/public.xml";
final VirtualFile publicXml = LocalFileSystem.getInstance().findFileByPath(FileUtil.toSystemIndependentName(publicXmlPath));
if (publicXml != null) {
try {
final MyPublicResourceCacheBuilder builder = new MyPublicResourceCacheBuilder();
NanoXmlUtil.parse(publicXml.getInputStream(), builder);
synchronized (myPublicResourceCacheLock) {
myPublicResourceCache = builder.getPublicResourceCache();
myPublicResourceIdMap = builder.getIdMap();
}
}
catch (IOException e) {
LOG.error(e);
}
}
}
示例6: getIds
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
@Nullable
protected Map<String, Set<String>> getIds(String content, final VirtualFile file, Project project) {
if (!content.contains(JavaFXNamespaceProvider.JAVAFX_NAMESPACE)) {
return null;
}
final Map<String, Set<String>> map = new HashMap<String, Set<String>>();
final String path = file.getPath();
final IXMLBuilder handler = createParseHandler(path, map);
try {
NanoXmlUtil.parse(new StringReader(content), handler);
}
catch (StopException ignore) {}
final VirtualFile sourceRoot = ProjectRootManager.getInstance(project).getFileIndex().getSourceRootForFile(file);
endDocument(path, sourceRoot, map, handler);
return map;
}
示例7: computeNamespace
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
public static XsdNamespaceBuilder computeNamespace(final Reader reader) {
try {
final XsdNamespaceBuilder builder = new XsdNamespaceBuilder();
NanoXmlUtil.parse(reader, builder);
return builder;
}
finally {
try {
if (reader != null) {
reader.close();
}
}
catch (IOException e) {
// can never happen
}
}
}
示例8: computeTagNames
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
@Nullable
public static Collection<String> computeTagNames(final Reader reader) {
try {
final XsdTagNameBuilder builder = new XsdTagNameBuilder();
NanoXmlUtil.parse(reader, builder);
return builder.myTagNames;
}
finally {
try {
if (reader != null) {
reader.close();
}
}
catch (IOException e) {
// can never happen
}
}
}
示例9: testXsdHeader
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
@Test
public void testXsdHeader() throws Exception {
XmlFileHeader xmlFileHeader = NanoXmlUtil.parseHeaderWithException(new StringReader("<?xml version=\"1.0\"?>\n" +
"\n" +
"<note\n" +
"xmlns=\"https://www.w3schools.com\"\n" +
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
"xsi:schemaLocation=\"https://www.w3schools.com/xml/note.xsd\">\n" +
" <to>Tove</to>\n" +
" <from>Jani</from>\n" +
" <heading>Reminder</heading>\n" +
" <body>Don't forget me this weekend!</body>\n" +
"</note>"));
assertEquals("note", xmlFileHeader.getRootTagLocalName());
assertEquals("https://www.w3schools.com", xmlFileHeader.getRootTagNamespace());
}
示例10: computeNamespace
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
public static XsdNamespaceBuilder computeNamespace(final Reader reader)
{
try
{
final XsdNamespaceBuilder builder = new XsdNamespaceBuilder();
NanoXmlUtil.parse(reader, builder);
HashSet<String> tags = new HashSet<String>(builder.getTags());
tags.removeAll(builder.myReferencedTags);
builder.getRootTags().addAll(tags);
return builder;
}
finally
{
try
{
if(reader != null)
{
reader.close();
}
}
catch(IOException e)
{
// can never happen
}
}
}
示例11: getIncludeInfos
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
@NotNull
@Override
public FileIncludeInfo[] getIncludeInfos(FileContent content) {
final ArrayList<FileIncludeInfo> infos;
if (content.getFileType() == XmlFileType.INSTANCE) {
CharSequence inputDataContentAsText = content.getContentAsText();
if (CharArrayUtil.indexOf(inputDataContentAsText, ApplicationLoader.RNG_NAMESPACE, 0) == -1) return FileIncludeInfo.EMPTY;
infos = new ArrayList<FileIncludeInfo>();
NanoXmlUtil.parse(CharArrayUtil.readerFromCharSequence(content.getContentAsText()), new RngBuilderAdapter(infos));
} else if (content.getFileType() == RncFileType.getInstance()) {
infos = new ArrayList<FileIncludeInfo>();
content.getPsiFile().acceptChildren(new RncElementVisitor() {
@Override
public void visitElement(RncElement element) {
element.acceptChildren(this);
}
@Override
public void visitInclude(RncInclude include) {
final String path = include.getFileReference();
if (path != null) {
infos.add(new FileIncludeInfo(path));
}
}
});
} else {
return FileIncludeInfo.EMPTY;
}
return infos.toArray(new FileIncludeInfo[infos.size()]);
}
示例12: isTestngXML
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
public static boolean isTestngXML(final VirtualFile virtualFile) {
if ("xml".equalsIgnoreCase(virtualFile.getExtension()) && virtualFile.isValid()) {
final String result = NanoXmlUtil.parseHeader(virtualFile).getRootTagLocalName();
if (result != null && result.equals(SUITE_TAG_NAME)) {
return true;
}
}
return false;
}
示例13: parse
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
@Nullable
private static MyIXMLBuilderAdapter parse(CharSequence text, boolean stopIfAccepted) {
StdXMLReader reader = new StdXMLReader(CharArrayUtil.readerFromCharSequence(text)) {
@Override
public Reader openStream(String publicID, String systemID) throws IOException {
if (!HTTP_JAVA_SUN_COM_DTD_PROPERTIES_DTD.equals(systemID)) throw new IOException();
return new StringReader(" ");
}
};
MyIXMLBuilderAdapter builder = new MyIXMLBuilderAdapter(stopIfAccepted);
NanoXmlUtil.parse(reader, builder);
return builder;
}
示例14: startElement
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
@Override
public void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr)
throws Exception {
if (!accepted) {
if ("properties".equals(name)) {
accepted = true;
}
else throw NanoXmlUtil.ParserStoppedXmlException.INSTANCE;
}
else {
insideEntry = "entry".equals(name);
}
if (myStopIfAccepted) throw NanoXmlUtil.ParserStoppedXmlException.INSTANCE;
}
示例15: compute
import com.intellij.util.xml.NanoXmlUtil; //导入依赖的package包/类
public CachedValueProvider.Result<XsltChecker.LanguageLevel> compute(PsiFile psiFile) {
if (!(psiFile instanceof XmlFile)) {
return CachedValueProvider.Result.create(XsltChecker.LanguageLevel.NONE, PsiModificationTracker.MODIFICATION_COUNT);
}
final XmlFile xmlFile = (XmlFile)psiFile;
if (psiFile instanceof PsiFileEx) {
if (((PsiFileEx)psiFile).isContentsLoaded()) {
final XmlDocument doc = xmlFile.getDocument();
if (doc != null) {
final XmlTag rootTag = doc.getRootTag();
if (rootTag != null) {
XmlAttribute v;
XsltChecker.LanguageLevel level;
if (isXsltRootTag(rootTag)) {
v = rootTag.getAttribute("version");
level = v != null ? XsltChecker.getLanguageLevel(v.getValue()) : XsltChecker.LanguageLevel.NONE;
}
else {
v = rootTag.getAttribute("version", XSLT_NS);
level = v != null ? XsltChecker.getLanguageLevel(v.getValue()) : XsltChecker.LanguageLevel.NONE;
}
return CachedValueProvider.Result.create(level, rootTag);
}
}
}
}
final XsltChecker xsltChecker = new XsltChecker();
NanoXmlUtil.parseFile(psiFile, xsltChecker);
return CachedValueProvider.Result.create(xsltChecker.getLanguageLevel(), psiFile);
}