这是(onvif.xsd)我尝试使用 hisrc-higherjaxb 生成源代码的模式文件。
这是我的 pom.xml 配置的一部分,
<plugin>
<groupId>org.patrodyne.jvnet</groupId>
<artifactId>hisrc-higherjaxb-maven-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>onvif-onvif-xsd</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<args>
<arg>-no-header</arg>
<arg>-XautoNameResolution</arg>
</args>
<generatePackage></generatePackage>
<generateDirectory>${project.basedir}/src/main/java</generateDirectory>
<episode>true</episode>
<episodeFile>${project.basedir}/src/main/resources/episodes/onvif.episode
</episodeFile>
<forceRegenerate>true</forceRegenerate>
<extension>true</extension>
<enableExternalEntityProcessing>true</enableExternalEntityProcessing>
<bindings></bindings>
<strict>false</strict>
<verbose>true</verbose>
<disableXmlSecurity>true</disableXmlSecurity>
<schemas>
<schema>
<url>file://${project.basedir}/src/main/resources/wsdl/ver10/schema/onvif.xsd</url>
</schema>
</schemas>
</configuration>
</execution>
</executions>
</plugin>
代码可以很好地生成模式中声明的所有类型。生成的 ObjectFactory 为所有类型定义工厂方法,但仅使用 XmlElementDecl 注释某些方法。因此,当这些未注释的元素出现在 xs:any(with processContents="lax") 元素的位置时,我的编组器无法解组它们,并将它们保留为 dom 元素,因为它们尚未在命名空间中声明.
如何让它注释所有工厂方法?
XJC 工具 (JAXB RI) 负责生成
XmlElementDecl
注释,它符合 JAXB API。 hisrc-higherjaxb Maven 插件配置并调用 XJC 工具。
下面是 XJC 为
"http://www.onvif.org/ver10/schema"
模式生成的所有 Java 类的列表。其中两种 Java 类型是根元素 (XmlRootElement
)。其中 16 个类型包装在 JAXB 元素 (XmlElementDecl
) 中,其余 [452] 是复杂类型。 JAXB 和 Root Elements 有一篇很好的文章解释了 XJC 如何生成注释。
简而言之,该列表确定了这三个组:
ObjectFactory
不会为标有 XmlElementDecl
的类声明 JAXB 元素 (CT
)。例如, User
类型是从 XML 模式 complexType
生成的,没有相应的 element
绑定。如果添加此绑定:
onvif.xsd
<xs:element name="User" type="tt:User"/>
然后XJC会在
XmlElementDecl
中生成这个ObjectFactory
:
...
@XmlElementDecl(namespace = "http://www.onvif.org/ver10/schema", name = "User")
public JAXBElement<User> createUser(User value) {
return new JAXBElement<>(_User_QNAME, User.class, null, value);
}
...
ComplexType vs JAXBElement vs RootElement
|Group |Package: org.onvif.ver10.schema |
|:----:|----------------------------------------------|
| CT |AACDecOptions |
| CT |AbsoluteFocus |
| CT |AbsoluteFocusOptions |
| CT |ActionEngineEventPayload |
| CT |ActionEngineEventPayloadExtension |
| CT |ActiveConnection |
| CT |AnalyticsCapabilities |
| CT |AnalyticsDeviceCapabilities |
| CT |AnalyticsDeviceEngineConfiguration |
| CT |AnalyticsDeviceEngineConfigurationExtension |
| CT |AnalyticsDeviceExtension |
| CT |AnalyticsEngine |
| CT |AnalyticsEngineConfiguration |
| CT |AnalyticsEngineConfigurationExtension |
| CT |AnalyticsEngineControl |
| CT |AnalyticsEngineInput |
| CT |AnalyticsEngineInputInfo |
| CT |AnalyticsEngineInputInfoExtension |
| CT |AnalyticsState |
| CT |AnalyticsStateInformation |
| CT |AnyHolder |
| CT |ArrayOfFileProgress |
| CT |ArrayOfFileProgressExtension |
| CT |AttachmentData |
| CT |AudioAttributes |
| CT |AudioClassCandidate |
| CT |AudioClassDescriptor |
| CT |AudioClassDescriptorExtension |
| JE |AudioDecoderConfiguration |
| CT |AudioDecoderConfigurationOptions |
| CT |AudioDecoderConfigurationOptionsExtension |
| CT |AudioEncoder2Configuration |
| CT |AudioEncoder2ConfigurationOptions |
| JE |AudioEncoderConfiguration |
| CT |AudioEncoderConfigurationOption |
| CT |AudioEncoderConfigurationOptions |
| CT |AudioOutput |
| JE |AudioOutputConfiguration |
| CT |AudioOutputConfigurationOptions |
| CT |AudioSource |
| JE |AudioSourceConfiguration |
| CT |AudioSourceConfigurationOptions |
| CT |AudioSourceOptionsExtension |
| CT |BacklightCompensation |
| CT |BacklightCompensation20 |
| CT |BacklightCompensationOptions |
| CT |BacklightCompensationOptions20 |
| CT |BackupFile |
| CT |BinaryData |
| CT |Capabilities |
| CT |CapabilitiesExtension |
| CT |CapabilitiesExtension2 |
| CT |CellLayout |
| CT |Certificate |
| CT |CertificateGenerationParameters |
| CT |CertificateGenerationParametersExtension |
| CT |CertificateInformation |
| CT |CertificateInformationExtension |
| CT |CertificateStatus |
| CT |CertificateUsage |
| CT |CertificateWithPrivateKey |
| CT |CodingCapabilities |
| CT |Color |
| CT |ColorCovariance |
| CT |ColorDescriptor |
| CT |ColorOptions |
| CT |ColorspaceRange |
| CT |Config |
| CT |ConfigDescription |
| CT |ConfigDescriptionExtension |
| CT |ConfigurationEntity |
| CT |ContinuousFocus |
| CT |ContinuousFocusOptions |
| CT |Date |
| CT |DateTime |
| CT |DateTimeRange |
| CT |Defogging |
| CT |DefoggingExtension |
| CT |DefoggingOptions |
| CT |DeviceCapabilities |
| CT |DeviceCapabilitiesExtension |
| CT |DeviceEntity |
| CT |DeviceIOCapabilities |
| CT |DigitalInput |
| CT |DisplayCapabilities |
| CT |DNSInformation |
| CT |DNSInformationExtension |
| CT |Dot11AvailableNetworks |
| CT |Dot11AvailableNetworksExtension |
| CT |Dot11Capabilities |
| CT |Dot11Configuration |
| CT |Dot11PSKSet |
| CT |Dot11PSKSetExtension |
| CT |Dot11SecurityConfiguration |
| CT |Dot11SecurityConfigurationExtension |
| CT |Dot11Status |
| CT |Dot1XConfiguration |
| CT |Dot1XConfigurationExtension |
| CT |Dot3Configuration |
| JE |DurationRange |
| CT |DynamicDNSInformation |
| CT |DynamicDNSInformationExtension |
| CT |EAPMethodConfiguration |
| CT |EapMethodExtension |
| CT |EFlip |
| CT |EFlipOptions |
| CT |EFlipOptionsExtension |
| CT |EngineConfiguration |
| CT |EventCapabilities |
| CT |EventFilter |
| CT |EventSubscription |
| CT |Exposure |
| CT |Exposure20 |
| CT |ExposureOptions |
| CT |ExposureOptions20 |
| CT |FileProgress |
| CT |FindEventResult |
| CT |FindEventResultList |
| CT |FindMetadataResult |
| CT |FindMetadataResultList |
| CT |FindPTZPositionResult |
| CT |FindPTZPositionResultList |
| CT |FindRecordingResultList |
| CT |FloatItems |
| JE |FloatRange |
| CT |FocusConfiguration |
| CT |FocusConfiguration20 |
| CT |FocusConfiguration20Extension |
| CT |FocusMove |
| CT |FocusOptions |
| CT |FocusOptions20 |
| CT |FocusOptions20Extension |
| CT |FocusStatus |
| CT |FocusStatus20 |
| CT |FocusStatus20Extension |
| CT |G711DecOptions |
| CT |G726DecOptions |
| CT |GenericEapPwdConfigurationExtension |
| CT |GeoLocation |
| CT |GeoOrientation |
| CT |GetRecordingJobsResponseItem |
| CT |GetRecordingsResponseItem |
| CT |GetTracksResponseItem |
| CT |GetTracksResponseList |
| CT |H264Configuration |
| CT |H264DecOptions |
| CT |H264Options |
| CT |H264Options2 |
| CT |HostnameInformation |
| CT |HostnameInformationExtension |
| CT |ImageStabilization |
| CT |ImageStabilizationExtension |
| CT |ImageStabilizationOptions |
| CT |ImageStabilizationOptionsExtension |
| CT |ImagingCapabilities |
| CT |ImagingOptions |
| CT |ImagingOptions20 |
| CT |ImagingOptions20Extension |
| CT |ImagingOptions20Extension2 |
| CT |ImagingOptions20Extension3 |
| CT |ImagingOptions20Extension4 |
| CT |ImagingSettings |
| CT |ImagingSettings20 |
| CT |ImagingSettingsExtension |
| CT |ImagingSettingsExtension20 |
| CT |ImagingSettingsExtension202 |
| CT |ImagingSettingsExtension203 |
| CT |ImagingSettingsExtension204 |
| CT |ImagingStatus |
| CT |ImagingStatus20 |
| CT |ImagingStatus20Extension |
| CT |IntItems |
| JE |IntRange |
| CT |IntRectangle |
| JE |IntRectangleRange |
| CT |IOCapabilities |
| CT |IOCapabilitiesExtension |
| CT |IOCapabilitiesExtension2 |
| CT |IPAddress |
| CT |IPAddressFilter |
| CT |IPAddressFilterExtension |
| CT |IPv4Configuration |
| CT |IPv4NetworkInterface |
| CT |IPv4NetworkInterfaceSetConfiguration |
| CT |IPv6Configuration |
| CT |IPv6ConfigurationExtension |
| CT |IPv6NetworkInterface |
| CT |IPv6NetworkInterfaceSetConfiguration |
| CT |IrCutFilterAutoAdjustment |
| CT |IrCutFilterAutoAdjustmentExtension |
| CT |IrCutFilterAutoAdjustmentOptions |
| CT |IrCutFilterAutoAdjustmentOptionsExtension |
| CT |ItemList |
| CT |ItemListDescription |
| CT |ItemListDescriptionExtension |
| CT |ItemListExtension |
| CT |JpegDecOptions |
| CT |JpegOptions |
| CT |JpegOptions2 |
| CT |Layout |
| CT |LayoutExtension |
| CT |LayoutOptions |
| CT |LayoutOptionsExtension |
| CT |LensDescription |
| CT |LensOffset |
| CT |LensProjection |
| CT |LocalLocation |
| CT |LocalOrientation |
| CT |LocationEntity |
| CT |MaximumNumberOfOSDs |
| CT |MediaAttributes |
| CT |MediaCapabilities |
| CT |MediaCapabilitiesExtension |
| CT |MediaUri |
| RE |Message |
| CT |MessageDescription |
| CT |MessageDescriptionExtension |
| CT |MessageExtension |
| CT |MetadataAttributes |
| JE |MetadataConfiguration |
| CT |MetadataConfigurationExtension |
| CT |MetadataConfigurationOptions |
| CT |MetadataConfigurationOptionsExtension |
| CT |MetadataConfigurationOptionsExtension2 |
| CT |MetadataFilter |
| CT |MetadataInput |
| CT |MetadataInputExtension |
| CT |MotionExpression |
| CT |MotionExpressionConfiguration |
| CT |MoveOptions |
| CT |MoveOptions20 |
| CT |Mpeg4Configuration |
| CT |Mpeg4DecOptions |
| CT |Mpeg4Options |
| CT |Mpeg4Options2 |
| CT |MulticastConfiguration |
| CT |NetworkCapabilities |
| CT |NetworkCapabilitiesExtension |
| CT |NetworkCapabilitiesExtension2 |
| CT |NetworkGateway |
| CT |NetworkHost |
| CT |NetworkHostExtension |
| CT |NetworkInterface |
| CT |NetworkInterfaceConnectionSetting |
| CT |NetworkInterfaceExtension |
| CT |NetworkInterfaceExtension2 |
| CT |NetworkInterfaceInfo |
| CT |NetworkInterfaceLink |
| CT |NetworkInterfaceSetConfiguration |
| CT |NetworkInterfaceSetConfigurationExtension |
| CT |NetworkInterfaceSetConfigurationExtension2 |
| CT |NetworkProtocol |
| CT |NetworkProtocolExtension |
| CT |NetworkZeroConfiguration |
| CT |NetworkZeroConfigurationExtension |
| CT |NetworkZeroConfigurationExtension2 |
| CT |NoiseReduction |
| CT |NoiseReductionOptions |
| CT |NTPInformation |
| CT |NTPInformationExtension |
| CT |ObjectFactory |
| CT |OnvifVersion |
| CT |OSDColor |
| CT |OSDColorOptions |
| CT |OSDColorOptionsExtension |
| CT |OSDConfiguration |
| CT |OSDConfigurationExtension |
| CT |OSDConfigurationOptions |
| CT |OSDConfigurationOptionsExtension |
| CT |OSDImgConfiguration |
| CT |OSDImgConfigurationExtension |
| CT |OSDImgOptions |
| CT |OSDImgOptionsExtension |
| CT |OSDPosConfiguration |
| CT |OSDPosConfigurationExtension |
| CT |OSDReference |
| CT |OSDTextConfiguration |
| CT |OSDTextConfigurationExtension |
| CT |OSDTextOptions |
| CT |OSDTextOptionsExtension |
| CT |PaneConfiguration |
| CT |PaneLayout |
| CT |PaneLayoutOptions |
| CT |PaneOptionExtension |
| CT |PanTiltLimits |
| JE |Polygon |
| JE |PolygonOptions |
| JE |Polyline |
| CT |PolylineArray |
| CT |PolylineArrayConfiguration |
| CT |PolylineArrayExtension |
| CT |PrefixedIPv4Address |
| CT |PrefixedIPv6Address |
| CT |PresetTour |
| CT |Profile |
| CT |ProfileCapabilities |
| CT |ProfileExtension |
| CT |ProfileExtension2 |
| CT |ProfileStatus |
| CT |ProfileStatusExtension |
| CT |PTControlDirection |
| CT |PTControlDirectionExtension |
| CT |PTControlDirectionOptions |
| CT |PTControlDirectionOptionsExtension |
| CT |PTZCapabilities |
| JE |PTZConfiguration |
| CT |PTZConfigurationExtension |
| CT |PTZConfigurationExtension2 |
| CT |PTZConfigurationOptions |
| CT |PTZConfigurationOptions2 |
| CT |PTZFilter |
| CT |PTZMoveStatus |
| CT |PTZNode |
| CT |PTZNodeExtension |
| CT |PTZNodeExtension2 |
| CT |PTZPositionFilter |
| CT |PTZPreset |
| CT |PTZPresetTourExtension |
| CT |PTZPresetTourOptions |
| CT |PTZPresetTourPresetDetail |
| CT |PTZPresetTourPresetDetailOptions |
| CT |PTZPresetTourPresetDetailOptionsExtension |
| CT |PTZPresetTourSpot |
| CT |PTZPresetTourSpotExtension |
| CT |PTZPresetTourSpotOptions |
| CT |PTZPresetTourStartingCondition |
| CT |PTZPresetTourStartingConditionExtension |
| CT |PTZPresetTourStartingConditionOptions |
| CT |PTZPresetTourStartingConditionOptionsExtension|
| CT |PTZPresetTourStatus |
| CT |PTZPresetTourStatusExtension |
| CT |PTZPresetTourSupported |
| CT |PTZPresetTourSupportedExtension |
| CT |PTZPresetTourTypeExtension |
| CT |PTZSpaces |
| CT |PTZSpacesExtension |
| CT |PTZSpeed |
| CT |PTZStatus |
| CT |PTZStatusFilterOptions |
| CT |PTZStatusFilterOptionsExtension |
| CT |PTZVector |
| CT |RealTimeStreamingCapabilities |
| CT |RealTimeStreamingCapabilitiesExtension |
| CT |Receiver |
| CT |ReceiverCapabilities |
| CT |ReceiverConfiguration |
| CT |ReceiverStateInformation |
| CT |RecordingCapabilities |
| CT |RecordingConfiguration |
| CT |RecordingEncryption |
| CT |RecordingEventFilter |
| CT |RecordingInformation |
| CT |RecordingJobConfiguration |
| CT |RecordingJobConfigurationExtension |
| CT |RecordingJobSource |
| CT |RecordingJobSourceExtension |
| CT |RecordingJobStateInformation |
| CT |RecordingJobStateInformationExtension |
| CT |RecordingJobStateSource |
| CT |RecordingJobStateTrack |
| CT |RecordingJobStateTracks |
| CT |RecordingJobTrack |
| CT |RecordingSourceInformation |
| CT |RecordingSummary |
| CT |RecordingTargetConfiguration |
| CT |Rectangle |
| CT |RelativeFocus |
| CT |RelativeFocusOptions |
| CT |RelativeFocusOptions20 |
| CT |RelayOutput |
| CT |RelayOutputSettings |
| CT |RemoteUser |
| CT |ReplayCapabilities |
| CT |ReplayConfiguration |
| CT |Reverse |
| CT |ReverseOptions |
| CT |ReverseOptionsExtension |
| CT |Rotate |
| CT |RotateExtension |
| CT |RotateOptions |
| CT |RotateOptionsExtension |
| CT |RuleEngineConfiguration |
| CT |RuleEngineConfigurationExtension |
| CT |SceneOrientation |
| CT |Scope |
| CT |SearchCapabilities |
| CT |SearchScope |
| CT |SearchScopeExtension |
| CT |SecurityCapabilities |
| CT |SecurityCapabilitiesExtension |
| CT |SecurityCapabilitiesExtension2 |
| CT |SourceIdentification |
| CT |SourceIdentificationExtension |
| CT |SourceReference |
| CT |Space1DDescription |
| CT |Space2DDescription |
| CT |SphericalCoordinate |
| CT |StorageReferencePath |
| CT |StorageReferencePathExtension |
| CT |StreamSetup |
| RE |StringItems |
| CT |SupportedAnalyticsModules |
| CT |SupportedAnalyticsModulesExtension |
| CT |SupportedRules |
| CT |SupportedRulesExtension |
| CT |SupportInformation |
| CT |SystemCapabilities |
| CT |SystemCapabilitiesExtension |
| CT |SystemCapabilitiesExtension2 |
| CT |SystemDateTime |
| CT |SystemDateTimeExtension |
| CT |SystemLog |
| CT |SystemLogUri |
| CT |SystemLogUriList |
| CT |Time |
| CT |TimeZone |
| CT |TLSConfiguration |
| CT |ToneCompensation |
| CT |ToneCompensationExtension |
| CT |ToneCompensationOptions |
| CT |TrackAttributes |
| CT |TrackAttributesExtension |
| CT |TrackConfiguration |
| CT |TrackInformation |
| CT |Transformation |
| CT |TransformationExtension |
| CT |Transport |
| CT |User |
| CT |UserExtension |
| CT |Vector |
| CT |Vector1D |
| CT |Vector2D |
| JE |VideoAnalyticsConfiguration |
| CT |VideoAttributes |
| CT |VideoDecoderConfigurationOptions |
| CT |VideoDecoderConfigurationOptionsExtension |
| CT |VideoEncoder2Configuration |
| CT |VideoEncoder2ConfigurationOptions |
| JE |VideoEncoderConfiguration |
| CT |VideoEncoderConfigurationOptions |
| CT |VideoEncoderOptionsExtension |
| CT |VideoEncoderOptionsExtension2 |
| CT |VideoOutput |
| CT |VideoOutputConfiguration |
| CT |VideoOutputConfigurationOptions |
| CT |VideoOutputExtension |
| CT |VideoRateControl |
| CT |VideoRateControl2 |
| CT |VideoResolution |
| CT |VideoResolution2 |
| CT |VideoSource |
| JE |VideoSourceConfiguration |
| CT |VideoSourceConfigurationExtension |
| CT |VideoSourceConfigurationExtension2 |
| CT |VideoSourceConfigurationOptions |
| CT |VideoSourceConfigurationOptionsExtension |
| CT |VideoSourceConfigurationOptionsExtension2 |
| CT |VideoSourceExtension |
| CT |VideoSourceExtension2 |
| CT |WhiteBalance |
| CT |WhiteBalance20 |
| CT |WhiteBalance20Extension |
| CT |WhiteBalanceOptions |
| CT |WhiteBalanceOptions20 |
| CT |WhiteBalanceOptions20Extension |
| CT |WideDynamicRange |
| CT |WideDynamicRange20 |
| CT |WideDynamicRangeOptions |
| CT |WideDynamicRangeOptions20 |
| CT |ZoomLimits |