Skip to content

Commit 504065a

Browse files
author
Steve Canny
committed
oxml: convert CT_BlipFillProperties to xmlchemy
1 parent 3180a99 commit 504065a

File tree

2 files changed

+38
-35
lines changed

2 files changed

+38
-35
lines changed

docs/dev/analysis/features/picture.rst

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,40 @@ Schema definitions
114114
</xsd:sequence>
115115
</xsd:complexType>
116116

117+
<xsd:complexType name="CT_PictureNonVisual">
118+
<xsd:sequence>
119+
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps"/>
120+
<xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties"/>
121+
</xsd:sequence>
122+
</xsd:complexType>
123+
124+
<xsd:complexType name="CT_BlipFillProperties">
125+
<xsd:sequence>
126+
<xsd:element name="blip" type="CT_Blip" minOccurs="0"/>
127+
<xsd:element name="srcRect" type="CT_RelativeRect" minOccurs="0"/>
128+
<xsd:choice minOccurs="0">
129+
<xsd:element name="tile" type="CT_TileInfoProperties"/>
130+
<xsd:element name="stretch" type="CT_StretchInfoProperties"/>
131+
</xsd:choice>
132+
</xsd:sequence>
133+
<xsd:attribute name="dpi" type="xsd:unsignedInt"/>
134+
<xsd:attribute name="rotWithShape" type="xsd:boolean"/>
135+
</xsd:complexType>
136+
137+
<xsd:complexType name="CT_ShapeProperties">
138+
<xsd:sequence>
139+
<xsd:element name="xfrm" type="CT_Transform2D" minOccurs="0"/>
140+
<xsd:group ref="EG_Geometry" minOccurs="0"/>
141+
<xsd:group ref="EG_FillProperties" minOccurs="0"/>
142+
<xsd:element name="ln" type="CT_LineProperties" minOccurs="0"/>
143+
<xsd:group ref="EG_EffectProperties" minOccurs="0"/>
144+
<xsd:element name="scene3d" type="CT_Scene3D" minOccurs="0"/>
145+
<xsd:element name="sp3d" type="CT_Shape3D" minOccurs="0"/>
146+
<xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0"/>
147+
</xsd:sequence>
148+
<xsd:attribute name="bwMode" type="ST_BlackWhiteMode"/>
149+
</xsd:complexType>
150+
117151
<xsd:complexType name="CT_Blip"> <!-- denormalized -->
118152
<xsd:sequence>
119153
<xsd:choice minOccurs="0" maxOccurs="unbounded">
@@ -146,16 +180,6 @@ Schema definitions
146180
<xsd:restriction base="xsd:string"/>
147181
</xsd:simpleType>
148182

149-
<xsd:complexType name="CT_BlipFillProperties">
150-
<xsd:sequence>
151-
<xsd:element name="blip" type="CT_Blip" minOccurs="0"/>
152-
<xsd:element name="srcRect" type="CT_RelativeRect" minOccurs="0"/>
153-
<xsd:group ref="EG_FillModeProperties" minOccurs="0"/>
154-
</xsd:sequence>
155-
<xsd:attribute name="dpi" type="xsd:unsignedInt"/>
156-
<xsd:attribute name="rotWithShape" type="xsd:boolean"/>
157-
</xsd:complexType>
158-
159183
<xsd:complexType name="CT_NonVisualDrawingProps">
160184
<xsd:sequence>
161185
<xsd:element name="hlinkClick" type="CT_Hyperlink" minOccurs="0"/>
@@ -177,13 +201,6 @@ Schema definitions
177201
<xsd:attribute name="preferRelativeResize" type="xsd:boolean" default="true"/>
178202
</xsd:complexType>
179203

180-
<xsd:complexType name="CT_PictureNonVisual">
181-
<xsd:sequence>
182-
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps"/>
183-
<xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties"/>
184-
</xsd:sequence>
185-
</xsd:complexType>
186-
187204
<xsd:complexType name="CT_Point2D">
188205
<xsd:attribute name="x" type="ST_Coordinate" use="required"/>
189206
<xsd:attribute name="y" type="ST_Coordinate" use="required"/>
@@ -208,20 +225,6 @@ Schema definitions
208225
<xsd:attribute name="b" type="ST_Percentage" default="0%"/>
209226
</xsd:complexType>
210227

211-
<xsd:complexType name="CT_ShapeProperties">
212-
<xsd:sequence>
213-
<xsd:element name="xfrm" type="CT_Transform2D" minOccurs="0"/>
214-
<xsd:group ref="EG_Geometry" minOccurs="0"/>
215-
<xsd:group ref="EG_FillProperties" minOccurs="0"/>
216-
<xsd:element name="ln" type="CT_LineProperties" minOccurs="0"/>
217-
<xsd:group ref="EG_EffectProperties" minOccurs="0"/>
218-
<xsd:element name="scene3d" type="CT_Scene3D" minOccurs="0"/>
219-
<xsd:element name="sp3d" type="CT_Shape3D" minOccurs="0"/>
220-
<xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0"/>
221-
</xsd:sequence>
222-
<xsd:attribute name="bwMode" type="ST_BlackWhiteMode"/>
223-
</xsd:complexType>
224-
225228
<xsd:complexType name="CT_StretchInfoProperties">
226229
<xsd:sequence>
227230
<xsd:element name="fillRect" type="CT_RelativeRect" minOccurs="0"/>

docx/oxml/shape.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from ..shared import Emu
99
from .ns import nsmap, nspfxmap, qn
1010
from .simpletypes import ST_RelationshipId
11-
from .xmlchemy import BaseOxmlElement, OptionalAttribute
11+
from .xmlchemy import BaseOxmlElement, OptionalAttribute, ZeroOrOne
1212

1313

1414
class CT_Blip(BaseOxmlElement):
@@ -30,9 +30,9 @@ class CT_BlipFillProperties(BaseOxmlElement):
3030
"""
3131
``<pic:blipFill>`` element, specifies picture properties
3232
"""
33-
@property
34-
def blip(self):
35-
return self.find(qn('a:blip'))
33+
blip = ZeroOrOne('a:blip', successors=(
34+
'a:srcRect', 'a:tile', 'a:stretch'
35+
))
3636

3737
@classmethod
3838
def new(cls, rId):

0 commit comments

Comments
 (0)