文章
· 七月 8, 2021 阅读大约需 2 分钟

第三十一章 检查命名空间和类

第三十一章 检查命名空间和类

%XML.Namespaces提供了两个类方法,可用于检查XML命名空间及其包含的类:

GetNextClass()

classmethod GetNextClass(namespace As %String, 
            class As %String) as %String

返回给定XML命名空间中给定类之后的下一个类(按字母顺序)。当没有更多的类时,此方法返回NULL

GetNextNamespace()

classmethod GetNextNamespace(namespace As %String) as %String

返回给定命名空间之后的下一个命名空间(按字母顺序)。当没有更多的命名空间时,此方法返回NULL

在这两种情况下,只考虑当前的InterSystems IRIS命名空间。此外,映射的类也会被忽略。

例如,以下方法列出当前InterSystems IRIS命名空间的XML命名空间及其类:

ClassMethod WriteNamespacesAndClasses()
{
  Set ns=""
  Set ns=##class(%XML.Namespaces).GetNextNamespace(ns)

  While ns '=""
  {
    Write !, "The namespace ",ns, " contains these classes:"
    Set cls=""
    Set cls=##class(%XML.Namespaces).GetNextClass(ns,cls)

    While cls '=""
    {
      Write !, "   ",cls
      Set cls=##class(%XML.Namespaces).GetNextClass(ns,cls)
      }

      Set ns=##class(%XML.Namespaces).GetNextNamespace(ns)
      }
}

在终端中执行时,此方法会生成如下所示的输出:


The namespace http://www.address.org contains these classes: ElRef.NS.Address GXML.AddressNS MyApp4.Obj.Address MyAppNS.AddressNS Obj.Attr.Address Obj.Ns.Address Obj.Ns.AddressClass The namespace http://www.doctor.com contains these classes: GXML.DoctorNS The namespace http://www.one.org contains these classes: GXML.AddressNSOne GXML.DoctorNSOne GXML.PersonNSOne ...
讨论 (0)1
登录或注册以继续