Skip to content

Commit 07b1126

Browse files
committed
Merge pull request #22 from mpromonet/master
Fix for #13: add xml.xsd and update bf-2.xsd schemaLocation
2 parents a02ca1e + ebc1344 commit 07b1126

File tree

5 files changed

+292
-4
lines changed

5 files changed

+292
-4
lines changed

onvif/cli.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from suds.sax.text import Text
1212
from onvif import ONVIFCamera, ONVIFService, ONVIFError
1313
from definition import SERVICES
14+
import os.path
1415

1516
SUPPORTED_SERVICES = SERVICES.keys()
1617

@@ -129,7 +130,7 @@ def create_parser():
129130
help='Username for authentication')
130131
parser.add_argument('-a', '--password', required=True,
131132
help='Password for authentication')
132-
parser.add_argument('-w', '--wsdl', default='/etc/onvif/wsdl/',
133+
parser.add_argument('-w', '--wsdl', default=os.path.join(os.path.dirname(os.path.dirname(__file__)), "wsdl"),
133134
help='directory to store ONVIF WSDL documents')
134135
parser.add_argument('-e', '--encrypt', default='False',
135136
help='Encrypt password or not')

onvif/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ class ONVIFCamera(object):
204204
# Class-level variables
205205
services_template = {'devicemgmt': None, 'ptz': None, 'media': None,
206206
'imaging': None, 'events': None, 'analytics': None }
207-
def __init__(self, host, port ,user, passwd, wsdl_dir='/etc/onvif/wsdl/',
207+
def __init__(self, host, port ,user, passwd, wsdl_dir=os.path.join(os.path.dirname(os.path.dirname(__file__)), "wsdl"),
208208
cache_location=None, cache_duration=None,
209209
encrypt=True, daemon=False, no_cache=False):
210210
self.host = host

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
packages=find_packages(exclude=['docs', 'examples', 'tests']),
4545
install_requires=requires,
4646
include_package_data=True,
47-
data_files=[('/etc/onvif/wsdl', wsdl_files)],
47+
data_files=[('wsdl', wsdl_files)],
4848
entry_points={
4949
'console_scripts': ['onvif-cli = onvif.cli:main']
5050
}

wsdl/bf-2.xsd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ This document and the information contained herein is provided on an "AS IS" bas
2727
namespace="http://www.w3.org/2005/08/addressing"
2828
schemaLocation= "./ws-addr.xsd"/>
2929
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
30-
schemaLocation="./addressing">
30+
schemaLocation="./xml.xsd">
3131
<xsd:annotation>
3232
<xsd:documentation>
3333
Get access to the xml: attribute groups for xml:lang as declared on 'schema'

wsdl/xml.xsd

Lines changed: 287 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,287 @@
1+
<?xml version='1.0'?>
2+
<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
3+
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
4+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
5+
xmlns ="http://www.w3.org/1999/xhtml"
6+
xml:lang="en">
7+
8+
<xs:annotation>
9+
<xs:documentation>
10+
<div>
11+
<h1>About the XML namespace</h1>
12+
13+
<div class="bodytext">
14+
<p>
15+
This schema document describes the XML namespace, in a form
16+
suitable for import by other schema documents.
17+
</p>
18+
<p>
19+
See <a href="http://www.w3.org/XML/1998/namespace.html">
20+
http://www.w3.org/XML/1998/namespace.html</a> and
21+
<a href="http://www.w3.org/TR/REC-xml">
22+
http://www.w3.org/TR/REC-xml</a> for information
23+
about this namespace.
24+
</p>
25+
<p>
26+
Note that local names in this namespace are intended to be
27+
defined only by the World Wide Web Consortium or its subgroups.
28+
The names currently defined in this namespace are listed below.
29+
They should not be used with conflicting semantics by any Working
30+
Group, specification, or document instance.
31+
</p>
32+
<p>
33+
See further below in this document for more information about <a
34+
href="#usage">how to refer to this schema document from your own
35+
XSD schema documents</a> and about <a href="#nsversioning">the
36+
namespace-versioning policy governing this schema document</a>.
37+
</p>
38+
</div>
39+
</div>
40+
</xs:documentation>
41+
</xs:annotation>
42+
43+
<xs:attribute name="lang">
44+
<xs:annotation>
45+
<xs:documentation>
46+
<div>
47+
48+
<h3>lang (as an attribute name)</h3>
49+
<p>
50+
denotes an attribute whose value
51+
is a language code for the natural language of the content of
52+
any element; its value is inherited. This name is reserved
53+
by virtue of its definition in the XML specification.</p>
54+
55+
</div>
56+
<div>
57+
<h4>Notes</h4>
58+
<p>
59+
Attempting to install the relevant ISO 2- and 3-letter
60+
codes as the enumerated possible values is probably never
61+
going to be a realistic possibility.
62+
</p>
63+
<p>
64+
See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
65+
http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
66+
and the IANA language subtag registry at
67+
<a href="http://www.iana.org/assignments/language-subtag-registry">
68+
http://www.iana.org/assignments/language-subtag-registry</a>
69+
for further information.
70+
</p>
71+
<p>
72+
The union allows for the 'un-declaration' of xml:lang with
73+
the empty string.
74+
</p>
75+
</div>
76+
</xs:documentation>
77+
</xs:annotation>
78+
<xs:simpleType>
79+
<xs:union memberTypes="xs:language">
80+
<xs:simpleType>
81+
<xs:restriction base="xs:string">
82+
<xs:enumeration value=""/>
83+
</xs:restriction>
84+
</xs:simpleType>
85+
</xs:union>
86+
</xs:simpleType>
87+
</xs:attribute>
88+
89+
<xs:attribute name="space">
90+
<xs:annotation>
91+
<xs:documentation>
92+
<div>
93+
94+
<h3>space (as an attribute name)</h3>
95+
<p>
96+
denotes an attribute whose
97+
value is a keyword indicating what whitespace processing
98+
discipline is intended for the content of the element; its
99+
value is inherited. This name is reserved by virtue of its
100+
definition in the XML specification.</p>
101+
102+
</div>
103+
</xs:documentation>
104+
</xs:annotation>
105+
<xs:simpleType>
106+
<xs:restriction base="xs:NCName">
107+
<xs:enumeration value="default"/>
108+
<xs:enumeration value="preserve"/>
109+
</xs:restriction>
110+
</xs:simpleType>
111+
</xs:attribute>
112+
113+
<xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
114+
<xs:documentation>
115+
<div>
116+
117+
<h3>base (as an attribute name)</h3>
118+
<p>
119+
denotes an attribute whose value
120+
provides a URI to be used as the base for interpreting any
121+
relative URIs in the scope of the element on which it
122+
appears; its value is inherited. This name is reserved
123+
by virtue of its definition in the XML Base specification.</p>
124+
125+
<p>
126+
See <a
127+
href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
128+
for information about this attribute.
129+
</p>
130+
</div>
131+
</xs:documentation>
132+
</xs:annotation>
133+
</xs:attribute>
134+
135+
<xs:attribute name="id" type="xs:ID">
136+
<xs:annotation>
137+
<xs:documentation>
138+
<div>
139+
140+
<h3>id (as an attribute name)</h3>
141+
<p>
142+
denotes an attribute whose value
143+
should be interpreted as if declared to be of type ID.
144+
This name is reserved by virtue of its definition in the
145+
xml:id specification.</p>
146+
147+
<p>
148+
See <a
149+
href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
150+
for information about this attribute.
151+
</p>
152+
</div>
153+
</xs:documentation>
154+
</xs:annotation>
155+
</xs:attribute>
156+
157+
<xs:attributeGroup name="specialAttrs">
158+
<xs:attribute ref="xml:base"/>
159+
<xs:attribute ref="xml:lang"/>
160+
<xs:attribute ref="xml:space"/>
161+
<xs:attribute ref="xml:id"/>
162+
</xs:attributeGroup>
163+
164+
<xs:annotation>
165+
<xs:documentation>
166+
<div>
167+
168+
<h3>Father (in any context at all)</h3>
169+
170+
<div class="bodytext">
171+
<p>
172+
denotes Jon Bosak, the chair of
173+
the original XML Working Group. This name is reserved by
174+
the following decision of the W3C XML Plenary and
175+
XML Coordination groups:
176+
</p>
177+
<blockquote>
178+
<p>
179+
In appreciation for his vision, leadership and
180+
dedication the W3C XML Plenary on this 10th day of
181+
February, 2000, reserves for Jon Bosak in perpetuity
182+
the XML name "xml:Father".
183+
</p>
184+
</blockquote>
185+
</div>
186+
</div>
187+
</xs:documentation>
188+
</xs:annotation>
189+
190+
<xs:annotation>
191+
<xs:documentation>
192+
<div xml:id="usage" id="usage">
193+
<h2><a name="usage">About this schema document</a></h2>
194+
195+
<div class="bodytext">
196+
<p>
197+
This schema defines attributes and an attribute group suitable
198+
for use by schemas wishing to allow <code>xml:base</code>,
199+
<code>xml:lang</code>, <code>xml:space</code> or
200+
<code>xml:id</code> attributes on elements they define.
201+
</p>
202+
<p>
203+
To enable this, such a schema must import this schema for
204+
the XML namespace, e.g. as follows:
205+
</p>
206+
<pre>
207+
&lt;schema . . .>
208+
. . .
209+
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
210+
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
211+
</pre>
212+
<p>
213+
or
214+
</p>
215+
<pre>
216+
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
217+
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
218+
</pre>
219+
<p>
220+
Subsequently, qualified reference to any of the attributes or the
221+
group defined below will have the desired effect, e.g.
222+
</p>
223+
<pre>
224+
&lt;type . . .>
225+
. . .
226+
&lt;attributeGroup ref="xml:specialAttrs"/>
227+
</pre>
228+
<p>
229+
will define a type which will schema-validate an instance element
230+
with any of those attributes.
231+
</p>
232+
</div>
233+
</div>
234+
</xs:documentation>
235+
</xs:annotation>
236+
237+
<xs:annotation>
238+
<xs:documentation>
239+
<div id="nsversioning" xml:id="nsversioning">
240+
<h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
241+
<div class="bodytext">
242+
<p>
243+
In keeping with the XML Schema WG's standard versioning
244+
policy, this schema document will persist at
245+
<a href="http://www.w3.org/2009/01/xml.xsd">
246+
http://www.w3.org/2009/01/xml.xsd</a>.
247+
</p>
248+
<p>
249+
At the date of issue it can also be found at
250+
<a href="http://www.w3.org/2001/xml.xsd">
251+
http://www.w3.org/2001/xml.xsd</a>.
252+
</p>
253+
<p>
254+
The schema document at that URI may however change in the future,
255+
in order to remain compatible with the latest version of XML
256+
Schema itself, or with the XML namespace itself. In other words,
257+
if the XML Schema or XML namespaces change, the version of this
258+
document at <a href="http://www.w3.org/2001/xml.xsd">
259+
http://www.w3.org/2001/xml.xsd
260+
</a>
261+
will change accordingly; the version at
262+
<a href="http://www.w3.org/2009/01/xml.xsd">
263+
http://www.w3.org/2009/01/xml.xsd
264+
</a>
265+
will not change.
266+
</p>
267+
<p>
268+
Previous dated (and unchanging) versions of this schema
269+
document are at:
270+
</p>
271+
<ul>
272+
<li><a href="http://www.w3.org/2009/01/xml.xsd">
273+
http://www.w3.org/2009/01/xml.xsd</a></li>
274+
<li><a href="http://www.w3.org/2007/08/xml.xsd">
275+
http://www.w3.org/2007/08/xml.xsd</a></li>
276+
<li><a href="http://www.w3.org/2004/10/xml.xsd">
277+
http://www.w3.org/2004/10/xml.xsd</a></li>
278+
<li><a href="http://www.w3.org/2001/03/xml.xsd">
279+
http://www.w3.org/2001/03/xml.xsd</a></li>
280+
</ul>
281+
</div>
282+
</div>
283+
</xs:documentation>
284+
</xs:annotation>
285+
286+
</xs:schema>
287+

0 commit comments

Comments
 (0)