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

📄 usagevisitortest.java

📁 对xml很好的java处理引擎,编译中绑定xml
💻 JAVA
字号:
package org.jibx.schema.codegen;import org.jibx.runtime.QName;import org.jibx.schema.SchemaTestBase;import org.jibx.schema.TreeWalker;import org.jibx.schema.elements.SchemaElement;/** * Test usage visitor operation for counting references. */public class UsageVisitorTest extends SchemaTestBase{    public static final String REFERENCE_SCHEMA =        "<schema targetNamespace='urn:anything'" +        "    xmlns='http://www.w3.org/2001/XMLSchema'" +        "    xmlns:tns='urn:anything'" +        "    elementFormDefault='qualified'>\n" +        "  <complexType name='simple1'>\n" +        "    <sequence>\n" +        "      <element name='name' type='string'/>\n" +        "      <element name='rated' type='tns:rating'/>\n" +        "    </sequence>\n" +        "    <attribute name='male' use='required' type='boolean'/>\n" +        "  </complexType>\n" +        "  <element name='simple1' type='tns:simple1'/>\n" +        "  <simpleType name='simple2'>\n" +        "    <list itemType='string'/>\n" +        "  </simpleType>\n" +        "  <complexType name='simple3'>\n" +        "    <sequence>\n" +        "      <element ref='tns:simple1'/>\n" +        "      <element name='mixed' type='tns:mixedUnion'/>\n" +        "    </sequence>\n" +        "    <attribute name='rated' type='tns:rating'/>\n" +        "  </complexType>\n" +        "  <simpleType name='rating'>\n" +        "    <restriction base='int'>\n" +        "      <minExclusive value='1'/>\n" +        "      <maxInclusive value='10' fixed='true'/>\n" +        "    </restriction>\n" +        "  </simpleType>\n" +        "  <simpleType name='mixedUnion'>\n" +        "    <union memberTypes='date dateTime tns:rating'/>\n" +        "  </simpleType>\n" +        "</schema>";        private void checkAttributeUsage(String name, ReferenceCountMap map,        int count) {        Object key =            m_nameRegister.findAttribute(new QName("urn:anything", name));        assertEquals("Usage count error on attribute '" + name + '\'', count,            map.getCount(key));    }        private void checkElementUsage(String name, ReferenceCountMap map,        int count) {        Object key =            m_nameRegister.findElement(new QName("urn:anything", name));        assertEquals("Usage count error on element '" + name + '\'', count,            map.getCount(key));    }        private void checkTypeUsage(String name, ReferenceCountMap map, int count) {        Object key = m_nameRegister.findType(new QName("urn:anything", name));        assertEquals("Usage count error on type '" + name + '\'', count,            map.getCount(key));    }        public void testComplexReferenced() throws Exception {        SchemaElement root = runNoErrors(REFERENCE_SCHEMA);        if (!hasProblem(m_validationContext)) {            UsageFinder usage = new UsageFinder();            usage.countSchemaTree(root);            ReferenceCountMap map = usage.getUsageMap();            checkTypeUsage("simple1", map, 1);            checkElementUsage("simple1", map, 1);            checkTypeUsage("simple2", map, 0);            checkTypeUsage("simple3", map, 0);            checkTypeUsage("rating", map, 3);            checkTypeUsage("mixedUnion", map, 1);        }    }}

⌨️ 快捷键说明

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