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

📄 namespacenodetest.groovy

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 GROOVY
字号:
package groovy.xml/** * Test the building of namespaced XML using GroovyMarkup */class NamespaceNodeTest extends TestXmlSupport {        void testTree_FAILS() { if (notYetImplemented()) return        def builder = NodeBuilder.newInstance()        def xmlns = new NamespaceBuilder(builder)                def xsd = xmlns.namespace('http://www.w3.org/2001/XMLSchema', 'xsd')                def root = xsd.schema(xmlns:['foo':'http://someOtherNamespace']) {          annotation {              documentation("Purchase order schema for Example.com.")              //documentation(xmlns=[xml.lang:'en']) ["Purchase order schema for Example.com."]          }          element(name:'purchaseOrder', type:'PurchaseOrderType')          element(name:'comment', type:'xsd:string')          complexType(name:'PurchaseOrderType') {            sequence {              element(name:'shipTo', type:'USAddress')              element(name:'billTo', type:'USAddress')              element(minOccurs:'0', ref:'comment')              element(name:'items', type:'Items')            }            attribute(name:'orderDate', type:'xsd:date')          }          complexType(name:'USAddress') {            sequence {              element(name:'name', type:'xsd:string')              element(name:'street', type:'xsd:string')              element(name:'city', type:'xsd:string')              element(name:'state', type:'xsd:string')              element(name:'zip', type:'xsd:decimal')            }            attribute(fixed:'US', name:'country', type:'xsd:NMTOKEN')          }          complexType(name:'Items') {            sequence {              element(maxOccurs:'unbounded', minOccurs:'0', name:'item') {                complexType {                  sequence {                    element(name:'productName', type:'xsd:string')                    element(name:'quantity') {                      simpleType {                        restriction(base:'xsd:positiveInteger') {                          maxExclusive(value:'100')                        }                      }                    }                    element(name:'USPrice', type:'xsd:decimal')                    element(minOccurs:'0', ref:'comment')                    element(minOccurs:'0', name:'shipDate', type:'xsd:date')                  }                  attribute(name:'partNum', type:'SKU', use:'required')                }              }            }          }          /* Stock Keeping Unit, a code for identifying products */          simpleType(name:'SKU') {            restriction(base:'xsd:string') {              pattern(value:'\\d{3}-[A-Z]{2}')            }          }        }                assert root != null                assertGPaths(root)    }        void assertGPaths(Node root) {    		Namespace xsd = new Namespace('http://www.w3.org/2001/XMLSchema', 'xsd')	    def children = root.children()	    println "has children $children"	        		    		def name = root.name()    		println "name is of type ${name.getClass()} with value $name"		root.children().each { println "has a child with name ${it.name()} and content $it" }		    		    		def foo = xsd.annotation    		println "qname is $foo"    		println "qname url is $foo.namespaceURI"    		println "qname prefix is $foo.prefix"    		println "qname localPart is $foo.localPart"    		    		def a = root[xsd.annotation]    		println "Found results $a"    		    		    		def e = root[xsd.annotation][xsd.documentation]    		    		String text = e.text()    		println "Found element: $e with text: $text"    		assert text == "Purchase order schema for Example.com."    }}

⌨️ 快捷键说明

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