From 8463c2e2e972fdca5ad0d3adb325114763d6cf6b Mon Sep 17 00:00:00 2001 From: kaburagisec Date: Sun, 14 Dec 2025 07:36:40 +0700 Subject: [PATCH] refactor(wsdl): Localize external schema dependencies to eliminate remote URLs and improve offline support --- onvif/wsdl/schema/common/b-2.xsd | 580 +++++++++ onvif/wsdl/schema/common/bf-2.xsd | 84 ++ onvif/wsdl/schema/common/bw-2.wsdl | 448 +++++++ onvif/wsdl/schema/common/include | 13 + onvif/wsdl/schema/common/mpqf.xsd | 1109 +++++++++++++++++ onvif/wsdl/schema/common/r-2.xsd | 50 + onvif/wsdl/schema/common/rw-2.wsdl | 54 + onvif/wsdl/schema/common/soap-envelope | 165 +++ onvif/wsdl/schema/common/t-1.xsd | 185 +++ onvif/wsdl/schema/common/ws-addr.xsd | 144 +++ onvif/wsdl/schema/common/xml.xsd | 287 +++++ onvif/wsdl/schema/common/xmlmime | 49 + onvif/wsdl/ver10/actionengine.wsdl | 2 +- onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl | 2 +- onvif/wsdl/ver10/display/display.wsdl | 2 +- onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl | 4 +- onvif/wsdl/ver10/events/wsdl/event-vs.wsdl | 8 +- onvif/wsdl/ver10/events/wsdl/event.wsdl | 10 +- onvif/wsdl/ver10/federatedsearch.wsdl | 2 +- onvif/wsdl/ver10/schema/metadatastream.xsd | 2 +- onvif/wsdl/ver10/schema/onvif.xsd | 8 +- 21 files changed, 3188 insertions(+), 20 deletions(-) create mode 100644 onvif/wsdl/schema/common/b-2.xsd create mode 100644 onvif/wsdl/schema/common/bf-2.xsd create mode 100644 onvif/wsdl/schema/common/bw-2.wsdl create mode 100644 onvif/wsdl/schema/common/include create mode 100644 onvif/wsdl/schema/common/mpqf.xsd create mode 100644 onvif/wsdl/schema/common/r-2.xsd create mode 100644 onvif/wsdl/schema/common/rw-2.wsdl create mode 100644 onvif/wsdl/schema/common/soap-envelope create mode 100644 onvif/wsdl/schema/common/t-1.xsd create mode 100644 onvif/wsdl/schema/common/ws-addr.xsd create mode 100644 onvif/wsdl/schema/common/xml.xsd create mode 100644 onvif/wsdl/schema/common/xmlmime diff --git a/onvif/wsdl/schema/common/b-2.xsd b/onvif/wsdl/schema/common/b-2.xsd new file mode 100644 index 0000000..ce6b62f --- /dev/null +++ b/onvif/wsdl/schema/common/b-2.xsd @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/onvif/wsdl/schema/common/bf-2.xsd b/onvif/wsdl/schema/common/bf-2.xsd new file mode 100644 index 0000000..4b29585 --- /dev/null +++ b/onvif/wsdl/schema/common/bf-2.xsd @@ -0,0 +1,84 @@ + + + + + + + + + + Get access to the xml: attribute groups for xml:lang as declared on 'schema' + and 'documentation' below + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/onvif/wsdl/schema/common/bw-2.wsdl b/onvif/wsdl/schema/common/bw-2.wsdl new file mode 100644 index 0000000..9c9b4c2 --- /dev/null +++ b/onvif/wsdl/schema/common/bw-2.wsdl @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/onvif/wsdl/schema/common/include b/onvif/wsdl/schema/common/include new file mode 100644 index 0000000..edb43a0 --- /dev/null +++ b/onvif/wsdl/schema/common/include @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/onvif/wsdl/schema/common/mpqf.xsd b/onvif/wsdl/schema/common/mpqf.xsd new file mode 100644 index 0000000..a6973de --- /dev/null +++ b/onvif/wsdl/schema/common/mpqf.xsd @@ -0,0 +1,1109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/onvif/wsdl/schema/common/r-2.xsd b/onvif/wsdl/schema/common/r-2.xsd new file mode 100644 index 0000000..5569d53 --- /dev/null +++ b/onvif/wsdl/schema/common/r-2.xsd @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/onvif/wsdl/schema/common/rw-2.wsdl b/onvif/wsdl/schema/common/rw-2.wsdl new file mode 100644 index 0000000..9a1f4e8 --- /dev/null +++ b/onvif/wsdl/schema/common/rw-2.wsdl @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/onvif/wsdl/schema/common/soap-envelope b/onvif/wsdl/schema/common/soap-envelope new file mode 100644 index 0000000..f12341e --- /dev/null +++ b/onvif/wsdl/schema/common/soap-envelope @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + Elements replacing the wildcard MUST be namespace qualified, but can be in the targetNamespace + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fault reporting structure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/onvif/wsdl/schema/common/t-1.xsd b/onvif/wsdl/schema/common/t-1.xsd new file mode 100644 index 0000000..47859d4 --- /dev/null +++ b/onvif/wsdl/schema/common/t-1.xsd @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TopicPathExpression ::= TopicPath ( '|' TopicPath )* + TopicPath ::= RootTopic ChildTopicExpression* + RootTopic ::= NamespacePrefix? ('//')? (NCName | '*') + NamespacePrefix ::= NCName ':' + ChildTopicExpression ::= '/' '/'? (QName | NCName | '*'| '.') + + + + + + + + + + + + + The pattern allows strings matching the following EBNF: + ConcreteTopicPath ::= RootTopic ChildTopic* + RootTopic ::= QName + ChildTopic ::= '/' (QName | NCName) + + + + + + + + + + + + + The pattern allows strings matching the following EBNF: + RootTopic ::= QName + + + + + + + \ No newline at end of file diff --git a/onvif/wsdl/schema/common/ws-addr.xsd b/onvif/wsdl/schema/common/ws-addr.xsd new file mode 100644 index 0000000..69a906a --- /dev/null +++ b/onvif/wsdl/schema/common/ws-addr.xsd @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/onvif/wsdl/schema/common/xml.xsd b/onvif/wsdl/schema/common/xml.xsd new file mode 100644 index 0000000..aea7d0d --- /dev/null +++ b/onvif/wsdl/schema/common/xml.xsd @@ -0,0 +1,287 @@ + + + + + + +
+

About the XML namespace

+ +
+

+ This schema document describes the XML namespace, in a form + suitable for import by other schema documents. +

+

+ See + http://www.w3.org/XML/1998/namespace.html and + + http://www.w3.org/TR/REC-xml for information + about this namespace. +

+

+ Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. +

+

+ See further below in this document for more information about how to refer to this schema document from your own + XSD schema documents and about the + namespace-versioning policy governing this schema document. +

+
+
+
+
+ + + + +
+ +

lang (as an attribute name)

+

+ denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.

+ +
+
+

Notes

+

+ Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. +

+

+ See BCP 47 at + http://www.rfc-editor.org/rfc/bcp/bcp47.txt + and the IANA language subtag registry at + + http://www.iana.org/assignments/language-subtag-registry + for further information. +

+

+ The union allows for the 'un-declaration' of xml:lang with + the empty string. +

+
+
+
+ + + + + + + + + +
+ + + + +
+ +

space (as an attribute name)

+

+ denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.

+ +
+
+
+ + + + + + +
+ + + +
+ +

base (as an attribute name)

+

+ denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.

+ +

+ See http://www.w3.org/TR/xmlbase/ + for information about this attribute. +

+
+
+
+
+ + + + +
+ +

id (as an attribute name)

+

+ denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.

+ +

+ See http://www.w3.org/TR/xml-id/ + for information about this attribute. +

+
+
+
+
+ + + + + + + + + + +
+ +

Father (in any context at all)

+ +
+

+ denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: +

+
+

+ In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". +

+
+
+
+
+
+ + + +
+

About this schema document

+ +
+

+ This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow xml:base, + xml:lang, xml:space or + xml:id attributes on elements they define. +

+

+ To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: +

+
+          <schema . . .>
+           . . .
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     
+

+ or +

+
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     
+

+ Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. +

+
+          <type . . .>
+           . . .
+           <attributeGroup ref="xml:specialAttrs"/>
+     
+

+ will define a type which will schema-validate an instance element + with any of those attributes. +

+
+
+
+
+ + + +
+

Versioning policy for this schema document

+
+

+ In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + + http://www.w3.org/2009/01/xml.xsd. +

+

+ At the date of issue it can also be found at + + http://www.w3.org/2001/xml.xsd. +

+

+ The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + http://www.w3.org/2001/xml.xsd + + will change accordingly; the version at + + http://www.w3.org/2009/01/xml.xsd + + will not change. +

+

+ Previous dated (and unchanging) versions of this schema + document are at: +

+ +
+
+
+
+ +
+ diff --git a/onvif/wsdl/schema/common/xmlmime b/onvif/wsdl/schema/common/xmlmime new file mode 100644 index 0000000..766a07b --- /dev/null +++ b/onvif/wsdl/schema/common/xmlmime @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/onvif/wsdl/ver10/actionengine.wsdl b/onvif/wsdl/ver10/actionengine.wsdl index a4662ce..c4825ff 100644 --- a/onvif/wsdl/ver10/actionengine.wsdl +++ b/onvif/wsdl/ver10/actionengine.wsdl @@ -12,7 +12,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + diff --git a/onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl b/onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl index 0ba9b44..1c9016f 100644 --- a/onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl +++ b/onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl @@ -18,7 +18,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + diff --git a/onvif/wsdl/ver10/display/display.wsdl b/onvif/wsdl/ver10/display/display.wsdl index 8723502..5ecd92e 100644 --- a/onvif/wsdl/ver10/display/display.wsdl +++ b/onvif/wsdl/ver10/display/display.wsdl @@ -11,7 +11,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + diff --git a/onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl b/onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl index cc4e859..da7e108 100644 --- a/onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl +++ b/onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl @@ -27,14 +27,14 @@ This document and the information contained herein is provided on an "AS IS" bas + location="../../../schema/common/rw-2.wsdl"/> + schemaLocation="../../../schema/common/b-2.xsd"/> diff --git a/onvif/wsdl/ver10/events/wsdl/event-vs.wsdl b/onvif/wsdl/ver10/events/wsdl/event-vs.wsdl index ff877da..47132ae 100644 --- a/onvif/wsdl/ver10/events/wsdl/event-vs.wsdl +++ b/onvif/wsdl/ver10/events/wsdl/event-vs.wsdl @@ -11,12 +11,12 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO --> - + - - - + + + diff --git a/onvif/wsdl/ver10/events/wsdl/event.wsdl b/onvif/wsdl/ver10/events/wsdl/event.wsdl index 78cc25a..3ff9da4 100644 --- a/onvif/wsdl/ver10/events/wsdl/event.wsdl +++ b/onvif/wsdl/ver10/events/wsdl/event.wsdl @@ -10,13 +10,13 @@ THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION. --> - - + + - - - + + + diff --git a/onvif/wsdl/ver10/federatedsearch.wsdl b/onvif/wsdl/ver10/federatedsearch.wsdl index 6c5a87f..a79ec45 100644 --- a/onvif/wsdl/ver10/federatedsearch.wsdl +++ b/onvif/wsdl/ver10/federatedsearch.wsdl @@ -11,7 +11,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + diff --git a/onvif/wsdl/ver10/schema/onvif.xsd b/onvif/wsdl/ver10/schema/onvif.xsd index debc96b..281f27f 100644 --- a/onvif/wsdl/ver10/schema/onvif.xsd +++ b/onvif/wsdl/ver10/schema/onvif.xsd @@ -10,10 +10,10 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO --> - - - - + + + +