我正在解析下一份文档,涉及Oracle WebLogic Server版本12.1.2.0.0 MbeanMaker实用程序(用于在Oracle WebLogic Server 12.1.2.0.0中创建自定义身份验证提供程序的实用程序)。这是文档:

<?xml version="1.0" ?>
<!DOCTYPE MBeanType SYSTEM "commo.dtd">
<MbeanType Name = "DevicesAuthentication" DisplayName = "DevicesAuthentication"
  Package = "fr.telecom.ws.security.iap"
  Extends = "weblogic.management.security.authentication.Authenticator"
  PersistPolicy = "OnUpdate">

    <MbeanAttribute Name = "ProviderClassName" Type = "java.lang.String"
      Writeable = "false"
      Default ="&quot;fr.telecom.ws.security.iap.DevicesAuthenticationProviderImpl&quot;"
      />

    <MbeanAttribute Name = "Description" Type = "java.lang.String"
      Writeable = "false"
      Default = "&quot;Traces Authentication Provider&quot;"
      />

    <MBeanAttribute Name = "Version" Type = "java.lang.String"
      Writeable = "false" Default = "&quot;1.0&quot;"
      />

    </MBeanType>


这是文件commo.dtd

<!--
This is the DTD for the definition of MBeans as defined by the
Common MBean Model (Commo).

Copyright (c) 2001-2002 by BEA Systems, Inc. All Rights Reserved.
-->

<!ELEMENT MBeanType (MBeanImport | MBeanAttribute | MBeanNotification | MBeanConstructor | MBeanOperation)*>
<!ATTLIST MBeanType
          Abstract                    NMTOKEN     #IMPLIED
          Category                    NMTOKEN     #IMPLIED
          CachingDisabled             NMTOKEN     #IMPLIED
          Classification              NMTOKEN     #IMPLIED
          CurrencyTimeLimit           NMTOKEN     #IMPLIED
          Deprecated                  NMTOKEN     #IMPLIED
          Description                 CDATA       #IMPLIED
          DisplayMessage              CDATA       #IMPLIED
          DisplayName                 CDATA       #IMPLIED
          Export                      NMTOKEN     #IMPLIED
          Extends                     NMTOKEN     #IMPLIED
          GenerateExtendedAccessors   NMTOKEN     #IMPLIED
          Implements              CDATA       #IMPLIED
          InstanceExtent              NMTOKEN     #IMPLIED
          LanguageMap                 NMTOKEN     #IMPLIED
          Listen                      NMTOKEN     #IMPLIED
          Locality                    NMTOKEN     #IMPLIED
          Log                         NMTOKEN     #IMPLIED
          LogFile                     CDATA       #IMPLIED
          MessageID                   NMTOKEN     #IMPLIED
          MBeanClassName              CDATA       #IMPLIED
          Name                        NMTOKEN     #REQUIRED
          NoDoc                       NMTOKEN     #IMPLIED
          Package                     NMTOKEN     #IMPLIED
          PersistLocation             CDATA       #IMPLIED
          PersistName                 CDATA       #IMPLIED
          PersistPeriod               NMTOKEN     #IMPLIED
          PersistPolicy               NMTOKEN     #IMPLIED
          PresentationString          CDATA       #IMPLIED
          Readable                    NMTOKEN     #IMPLIED
          Servers                     CDATA       #IMPLIED
          VersionID                   NMTOKEN     #IMPLIED
          Visibility                  NMTOKEN     #IMPLIED
          Writeable                   NMTOKEN     #IMPLIED>

<!ELEMENT MBeanImport (#PCDATA)>

<!ELEMENT MBeanAttribute EMPTY>
<!ATTLIST MBeanAttribute
          AllowsSubTypes              CDATA       #IMPLIED
          CachingDisabled             NMTOKEN     #IMPLIED
          CurrencyTimeLimit           NMTOKEN     #IMPLIED
          Default                     CDATA       #IMPLIED
          DefaultString               CDATA       #IMPLIED
          Deprecated                  NMTOKEN     #IMPLIED
          Description                 CDATA       #IMPLIED
          DisplayMessage              CDATA       #IMPLIED
          DisplayName                 CDATA       #IMPLIED
          Dynamic                     NMTOKEN     #IMPLIED
          Encrypted                   NMTOKEN     #IMPLIED
          Export                      CDATA       #IMPLIED
          GenerateExtendedAccessors   NMTOKEN     #IMPLIED
          GetMethod                   NMTOKEN     #IMPLIED
          IsIs                        NMTOKEN     #IMPLIED
          Iterable                    NMTOKEN     #IMPLIED
          LanguageMap                 NMTOKEN     #IMPLIED
          LegalNull                   NMTOKEN     #IMPLIED
          LegalValues                 CDATA       #IMPLIED
          Listen                      NMTOKEN     #IMPLIED
          Log                         NMTOKEN     #IMPLIED
          LogFile                     CDATA       #IMPLIED
          Max                         NMTOKEN     #IMPLIED
          MessageID                   NMTOKEN     #IMPLIED
          Min                         NMTOKEN     #IMPLIED
          Name                        NMTOKEN     #REQUIRED
          NoDoc                       NMTOKEN     #IMPLIED
          NoDump                      NMTOKEN     #IMPLIED
          Obsolete                    CDATA       #IMPLIED
          PersistLocation             CDATA       #IMPLIED
          PersistName                 CDATA       #IMPLIED
          PersistPeriod               NMTOKEN     #IMPLIED
          PersistPolicy               NMTOKEN     #IMPLIED
          PresentationString          CDATA       #IMPLIED
          PreviouslyPersisted         NMTOKEN     #IMPLIED
          ProtocolMap                 NMTOKEN     #IMPLIED
          Readable                    NMTOKEN     #IMPLIED
          InterfaceType               CDATA       #IMPLIED
          SetMethod                   NMTOKEN     #IMPLIED
          Type                        CDATA       #IMPLIED
          Validator                   NMTOKEN     #IMPLIED
          Visibility                  NMTOKEN     #IMPLIED
          Writeable                   NMTOKEN     #IMPLIED>

<!ELEMENT MBeanNotification EMPTY>
<!ATTLIST MBeanNotification
          ClassName                   NMTOKEN     #IMPLIED
          Deprecated                  NMTOKEN     #IMPLIED
          Description                 CDATA       #IMPLIED
          DisplayMessage              CDATA       #IMPLIED
          DisplayName                 CDATA       #IMPLIED
          LanguageMap                 NMTOKEN     #IMPLIED
          Listen                      NMTOKEN     #IMPLIED
          Log                         NMTOKEN     #IMPLIED
          LogFile                     CDATA       #IMPLIED
          MessageID                   NMTOKEN     #IMPLIED
          NoDoc                       NMTOKEN     #IMPLIED
          NotificationTypes           CDATA       #REQUIRED
          PresentationString          CDATA       #IMPLIED
          Severity                    NMTOKEN     #IMPLIED
          Visibility                  NMTOKEN     #IMPLIED>

<!ELEMENT MBeanConstructor (MBeanException | MBeanOperationArg)*>
<!ATTLIST MBeanConstructor
          Deprecated                  NMTOKEN     #IMPLIED
          Description                 CDATA       #IMPLIED
          DisplayMessage              CDATA       #IMPLIED
          DisplayName                 CDATA       #IMPLIED
          LanguageMap                 NMTOKEN     #IMPLIED
          Listen                      NMTOKEN     #IMPLIED
          MessageID                   NMTOKEN     #IMPLIED
          Name                        NMTOKEN     #IMPLIED
          NoDoc                       NMTOKEN     #IMPLIED
          PresentationString          CDATA       #IMPLIED
          Visibility                  NMTOKEN     #IMPLIED>

<!ELEMENT MBeanOperation (MBeanException | MBeanOperationArg)*>
<!ATTLIST MBeanOperation
          CurrencyTimeLimit           NMTOKEN    #IMPLIED
          Deprecated                  NMTOKEN    #IMPLIED
          Description                 CDATA      #IMPLIED
          DisplayMessage              CDATA      #IMPLIED
          DisplayName                 CDATA      #IMPLIED
          GenerateImplementation      CDATA      #IMPLIED
          Impact                      NMTOKEN    #IMPLIED
          LanguageMap                 NMTOKEN    #IMPLIED
          Listen                      NMTOKEN    #IMPLIED
          MessageID                   NMTOKEN    #IMPLIED
          Name                        NMTOKEN    #REQUIRED
          NoDoc                       NMTOKEN    #IMPLIED
          PresentationString          CDATA      #IMPLIED
          ReturnType                  CDATA      #IMPLIED
          ReturnTypeDescription       CDATA      #IMPLIED
          Visibility                  NMTOKEN    #IMPLIED>

<!ELEMENT MBeanException (#PCDATA)>

<!ELEMENT MBeanOperationArg EMPTY>
<!ATTLIST MBeanOperationArg
          Name                        NMTOKEN    #REQUIRED
          Type                        CDATA      "java.lang.String"
          InterfaceType               CDATA      #IMPLIED
          Description                 CDATA      #IMPLIED>


但是当我执行实用程序来解析XML文件时,我得到了一个奇怪的错误:

MyAuthentication.xml; lineNumber: 22; columnNumber: 3; The element type "MbeanType" must be terminated by the matching end-tag "</MbeanType>".


但是文件仅以第22行的标记结尾

最佳答案

关闭标签和打开标签之间的mBeanType标签中存在大写不匹配的情况。一个说MbeanType,另一个说MBeanType

根据dtd,开始标签应为MBeanType

10-05 17:44