BidirectionalOverride Class

Defines the BidirectionalOverride Class.This class is only available in Office2010.When the object is serialized out as xml, its qualified name is w:bdo.

Inheritance Hierarchy

System.Object
  DocumentFormat.OpenXml.OpenXmlElement
    DocumentFormat.OpenXml.OpenXmlCompositeElement
      DocumentFormat.OpenXml.Wordprocessing.BidirectionalOverride

Namespace:  DocumentFormat.OpenXml.Wordprocessing
Assembly:  DocumentFormat.OpenXml (in DocumentFormat.OpenXml.dll)

Syntax

'Declaration
<ChildElementInfoAttribute(GetType(CustomXmlMoveToRangeEnd))> _
<ChildElementInfoAttribute(GetType(SubSuperscript))> _
<OfficeAvailabilityAttribute(FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(CustomXmlRun))> _
<ChildElementInfoAttribute(GetType(SimpleField))> _
<ChildElementInfoAttribute(GetType(Hyperlink))> _
<ChildElementInfoAttribute(GetType(SmartTagRun))> _
<ChildElementInfoAttribute(GetType(SdtRun))> _
<ChildElementInfoAttribute(GetType(ProofError))> _
<ChildElementInfoAttribute(GetType(PermStart))> _
<ChildElementInfoAttribute(GetType(PermEnd))> _
<ChildElementInfoAttribute(GetType(BookmarkStart))> _
<ChildElementInfoAttribute(GetType(BookmarkEnd))> _
<ChildElementInfoAttribute(GetType(CommentRangeStart))> _
<ChildElementInfoAttribute(GetType(CommentRangeEnd))> _
<ChildElementInfoAttribute(GetType(MoveFromRangeStart))> _
<ChildElementInfoAttribute(GetType(MoveFromRangeEnd))> _
<ChildElementInfoAttribute(GetType(MoveToRangeStart))> _
<ChildElementInfoAttribute(GetType(MoveToRangeEnd))> _
<ChildElementInfoAttribute(GetType(CustomXmlInsRangeStart))> _
<ChildElementInfoAttribute(GetType(CustomXmlInsRangeEnd))> _
<ChildElementInfoAttribute(GetType(CustomXmlDelRangeStart))> _
<ChildElementInfoAttribute(GetType(CustomXmlDelRangeEnd))> _
<ChildElementInfoAttribute(GetType(CustomXmlMoveFromRangeStart))> _
<ChildElementInfoAttribute(GetType(CustomXmlMoveFromRangeEnd))> _
<ChildElementInfoAttribute(GetType(CustomXmlMoveToRangeStart))> _
<ChildElementInfoAttribute(GetType(CustomXmlConflictInsertionRangeStart), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(CustomXmlConflictInsertionRangeEnd), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(CustomXmlConflictDeletionRangeStart), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(CustomXmlConflictDeletionRangeEnd), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(InsertedRun))> _
<ChildElementInfoAttribute(GetType(DeletedRun))> _
<ChildElementInfoAttribute(GetType(MoveFromRun))> _
<ChildElementInfoAttribute(GetType(MoveToRun))> _
<ChildElementInfoAttribute(GetType(ContentPart), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(RunConflictInsertion), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(RunConflictDeletion), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(Paragraph))> _
<ChildElementInfoAttribute(GetType(OfficeMath))> _
<ChildElementInfoAttribute(GetType(Accent))> _
<ChildElementInfoAttribute(GetType(Bar))> _
<ChildElementInfoAttribute(GetType(Box))> _
<ChildElementInfoAttribute(GetType(BorderBox))> _
<ChildElementInfoAttribute(GetType(Delimiter))> _
<ChildElementInfoAttribute(GetType(EquationArray))> _
<ChildElementInfoAttribute(GetType(Fraction))> _
<ChildElementInfoAttribute(GetType(MathFunction))> _
<ChildElementInfoAttribute(GetType(GroupChar))> _
<ChildElementInfoAttribute(GetType(LimitLower))> _
<ChildElementInfoAttribute(GetType(LimitUpper))> _
<ChildElementInfoAttribute(GetType(Matrix))> _
<ChildElementInfoAttribute(GetType(Nary))> _
<ChildElementInfoAttribute(GetType(Phantom))> _
<ChildElementInfoAttribute(GetType(Radical))> _
<ChildElementInfoAttribute(GetType(PreSubSuper))> _
<ChildElementInfoAttribute(GetType(Subscript))> _
<ChildElementInfoAttribute(GetType(Superscript))> _
<ChildElementInfoAttribute(GetType(Run))> _
<ChildElementInfoAttribute(GetType(Run))> _
<ChildElementInfoAttribute(GetType(BidirectionalOverride), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(BidirectionalEmbedding), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(SubDocumentReference))> _
Public Class BidirectionalOverride _
    Inherits OpenXmlCompositeElement
'Usage
Dim instance As BidirectionalOverride
[ChildElementInfoAttribute(typeof(CustomXmlMoveToRangeEnd))]
[ChildElementInfoAttribute(typeof(SubSuperscript))]
[OfficeAvailabilityAttribute(FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(CustomXmlRun))]
[ChildElementInfoAttribute(typeof(SimpleField))]
[ChildElementInfoAttribute(typeof(Hyperlink))]
[ChildElementInfoAttribute(typeof(SmartTagRun))]
[ChildElementInfoAttribute(typeof(SdtRun))]
[ChildElementInfoAttribute(typeof(ProofError))]
[ChildElementInfoAttribute(typeof(PermStart))]
[ChildElementInfoAttribute(typeof(PermEnd))]
[ChildElementInfoAttribute(typeof(BookmarkStart))]
[ChildElementInfoAttribute(typeof(BookmarkEnd))]
[ChildElementInfoAttribute(typeof(CommentRangeStart))]
[ChildElementInfoAttribute(typeof(CommentRangeEnd))]
[ChildElementInfoAttribute(typeof(MoveFromRangeStart))]
[ChildElementInfoAttribute(typeof(MoveFromRangeEnd))]
[ChildElementInfoAttribute(typeof(MoveToRangeStart))]
[ChildElementInfoAttribute(typeof(MoveToRangeEnd))]
[ChildElementInfoAttribute(typeof(CustomXmlInsRangeStart))]
[ChildElementInfoAttribute(typeof(CustomXmlInsRangeEnd))]
[ChildElementInfoAttribute(typeof(CustomXmlDelRangeStart))]
[ChildElementInfoAttribute(typeof(CustomXmlDelRangeEnd))]
[ChildElementInfoAttribute(typeof(CustomXmlMoveFromRangeStart))]
[ChildElementInfoAttribute(typeof(CustomXmlMoveFromRangeEnd))]
[ChildElementInfoAttribute(typeof(CustomXmlMoveToRangeStart))]
[ChildElementInfoAttribute(typeof(CustomXmlConflictInsertionRangeStart), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(CustomXmlConflictInsertionRangeEnd), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(CustomXmlConflictDeletionRangeStart), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(CustomXmlConflictDeletionRangeEnd), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(InsertedRun))]
[ChildElementInfoAttribute(typeof(DeletedRun))]
[ChildElementInfoAttribute(typeof(MoveFromRun))]
[ChildElementInfoAttribute(typeof(MoveToRun))]
[ChildElementInfoAttribute(typeof(ContentPart), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(RunConflictInsertion), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(RunConflictDeletion), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(Paragraph))]
[ChildElementInfoAttribute(typeof(OfficeMath))]
[ChildElementInfoAttribute(typeof(Accent))]
[ChildElementInfoAttribute(typeof(Bar))]
[ChildElementInfoAttribute(typeof(Box))]
[ChildElementInfoAttribute(typeof(BorderBox))]
[ChildElementInfoAttribute(typeof(Delimiter))]
[ChildElementInfoAttribute(typeof(EquationArray))]
[ChildElementInfoAttribute(typeof(Fraction))]
[ChildElementInfoAttribute(typeof(MathFunction))]
[ChildElementInfoAttribute(typeof(GroupChar))]
[ChildElementInfoAttribute(typeof(LimitLower))]
[ChildElementInfoAttribute(typeof(LimitUpper))]
[ChildElementInfoAttribute(typeof(Matrix))]
[ChildElementInfoAttribute(typeof(Nary))]
[ChildElementInfoAttribute(typeof(Phantom))]
[ChildElementInfoAttribute(typeof(Radical))]
[ChildElementInfoAttribute(typeof(PreSubSuper))]
[ChildElementInfoAttribute(typeof(Subscript))]
[ChildElementInfoAttribute(typeof(Superscript))]
[ChildElementInfoAttribute(typeof(Run))]
[ChildElementInfoAttribute(typeof(Run))]
[ChildElementInfoAttribute(typeof(BidirectionalOverride), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(BidirectionalEmbedding), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(SubDocumentReference))]
public class BidirectionalOverride : OpenXmlCompositeElement

Remarks

The following table lists the possible child types:

  • CustomXmlRun <w:customXml>

  • SimpleField <w:fldSimple>

  • Hyperlink <w:hyperlink>

  • SmartTagRun <w:smartTag>

  • SdtRun <w:sdt>

  • ProofError <w:proofErr>

  • PermStart <w:permStart>

  • PermEnd <w:permEnd>

  • BookmarkStart <w:bookmarkStart>

  • BookmarkEnd <w:bookmarkEnd>

  • CommentRangeStart <w:commentRangeStart>

  • CommentRangeEnd <w:commentRangeEnd>

  • MoveFromRangeStart <w:moveFromRangeStart>

  • MoveFromRangeEnd <w:moveFromRangeEnd>

  • MoveToRangeStart <w:moveToRangeStart>

  • MoveToRangeEnd <w:moveToRangeEnd>

  • CustomXmlInsRangeStart <w:customXmlInsRangeStart>

  • CustomXmlInsRangeEnd <w:customXmlInsRangeEnd>

  • CustomXmlDelRangeStart <w:customXmlDelRangeStart>

  • CustomXmlDelRangeEnd <w:customXmlDelRangeEnd>

  • CustomXmlMoveFromRangeStart <w:customXmlMoveFromRangeStart>

  • CustomXmlMoveFromRangeEnd <w:customXmlMoveFromRangeEnd>

  • CustomXmlMoveToRangeStart <w:customXmlMoveToRangeStart>

  • CustomXmlMoveToRangeEnd <w:customXmlMoveToRangeEnd>

  • DocumentFormat.OpenXml.Office2010.Word.CustomXmlConflictInsertionRangeStart <w14:customXmlConflictInsRangeStart>

  • DocumentFormat.OpenXml.Office2010.Word.CustomXmlConflictInsertionRangeEnd <w14:customXmlConflictInsRangeEnd>

  • DocumentFormat.OpenXml.Office2010.Word.CustomXmlConflictDeletionRangeStart <w14:customXmlConflictDelRangeStart>

  • DocumentFormat.OpenXml.Office2010.Word.CustomXmlConflictDeletionRangeEnd <w14:customXmlConflictDelRangeEnd>

  • InsertedRun <w:ins>

  • DeletedRun <w:del>

  • MoveFromRun <w:moveFrom>

  • MoveToRun <w:moveTo>

  • ContentPart <w:contentPart>

  • DocumentFormat.OpenXml.Office2010.Word.RunConflictInsertion <w14:conflictIns>

  • DocumentFormat.OpenXml.Office2010.Word.RunConflictDeletion <w14:conflictDel>

  • DocumentFormat.OpenXml.Math.Paragraph <m:oMathPara>

  • DocumentFormat.OpenXml.Math.OfficeMath <m:oMath>

  • DocumentFormat.OpenXml.Math.Accent <m:acc>

  • DocumentFormat.OpenXml.Math.Bar <m:bar>

  • DocumentFormat.OpenXml.Math.Box <m:box>

  • DocumentFormat.OpenXml.Math.BorderBox <m:borderBox>

  • DocumentFormat.OpenXml.Math.Delimiter <m:d>

  • DocumentFormat.OpenXml.Math.EquationArray <m:eqArr>

  • DocumentFormat.OpenXml.Math.Fraction <m:f>

  • DocumentFormat.OpenXml.Math.MathFunction <m:func>

  • DocumentFormat.OpenXml.Math.GroupChar <m:groupChr>

  • DocumentFormat.OpenXml.Math.LimitLower <m:limLow>

  • DocumentFormat.OpenXml.Math.LimitUpper <m:limUpp>

  • DocumentFormat.OpenXml.Math.Matrix <m:m>

  • DocumentFormat.OpenXml.Math.Nary <m:nary>

  • DocumentFormat.OpenXml.Math.Phantom <m:phant>

  • DocumentFormat.OpenXml.Math.Radical <m:rad>

  • DocumentFormat.OpenXml.Math.PreSubSuper <m:sPre>

  • DocumentFormat.OpenXml.Math.Subscript <m:sSub>

  • DocumentFormat.OpenXml.Math.SubSuperscript <m:sSubSup>

  • DocumentFormat.OpenXml.Math.Superscript <m:sSup>

  • DocumentFormat.OpenXml.Math.Run <m:r>

  • Run <w:r>

  • BidirectionalOverride <w:bdo>

  • BidirectionalEmbedding <w:dir>

  • SubDocumentReference <w:subDoc>

[ISO/IEC 29500-1 1st Edition]

17.3.2.3 bdo (Bidirectional Override)

This element specifies a directional override, which shall be applied as described by the Bidirectional Algorithm (cf. Unicode Technical Report #9). [Note: The presence of this markup is functionally equivalent to the presence of a LRO/RLO character at the location of the start element, and a corresponding PDF character at the location of the end element in a string of Unicode text. end note]

[Example: The right-to-left override can be used to force a product part number made of mixed English, digits, and Hebrew text written from right-to-left, as follows. (Assume lower-case text is English and the upper-case text is Arabic or Hebrew):

<w:r>
    <w:t xml:space="preserve">part number: </w:t>
</w:r>
<w:bdo w:val=”rtl”>
    <w:r>
        <w:t>ad-326D-FG</w:t>
    </w:r>
</w:bdo>

This generates the following text layout:

part number: GF-D623-da. 

The bidirectional override forces all characters to be displayed right-to-left, regardless of their classification. end example]

Parent Elements

bdo (§17.3.2.3); customXml (§17.5.1.3); del (§17.13.5.14); dir (§17.3.2.8); fldSimple (§17.16.19); hyperlink (§17.16.22); ins (§17.13.5.18); moveFrom (§17.13.5.22); moveTo (§17.13.5.25); p (§17.3.1.22); sdtContent (§17.5.2.36); smartTag (§17.5.1.9)

Child Elements

Subclause

bdo (Bidirectional Override)

§17.3.2.3

bookmarkEnd (Bookmark End)

§17.13.6.1

bookmarkStart (Bookmark Start)

§17.13.6.2

commentRangeEnd (Comment Anchor Range End)

§17.13.4.3

commentRangeStart (Comment Anchor Range Start)

§17.13.4.4

customXml (Inline-Level Custom XML Element)

§17.5.1.3

customXmlDelRangeEnd (Custom XML Markup Deletion End)

§17.13.5.4

customXmlDelRangeStart (Custom XML Markup Deletion Start)

§17.13.5.5

customXmlInsRangeEnd (Custom XML Markup Insertion End)

§17.13.5.6

customXmlInsRangeStart (Custom XML Markup Insertion Start)

§17.13.5.7

customXmlMoveFromRangeEnd (Custom XML Markup Move Source End)

§17.13.5.8

customXmlMoveFromRangeStart (Custom XML Markup Move Source Start)

§17.13.5.9

customXmlMoveToRangeEnd (Custom XML Markup Move Destination Location End)

§17.13.5.10

customXmlMoveToRangeStart (Custom XML Markup Move Destination Location Start)

§17.13.5.11

del (Deleted Run Content)

§17.13.5.14

dir (Bidirectional Embedding Level)

§17.3.2.8

fldSimple (Simple Field)

§17.16.19

hyperlink (Hyperlink)

§17.16.22

ins (Inserted Run Content)

§17.13.5.18

moveFrom (Move Source Run Content)

§17.13.5.22

moveFromRangeEnd (Move Source Location Container - End)

§17.13.5.23

moveFromRangeStart (Move Source Location Container - Start)

§17.13.5.24

moveTo (Move Destination Run Content)

§17.13.5.25

moveToRangeEnd (Move Destination Location Container - End)

§17.13.5.27

moveToRangeStart (Move Destination Location Container - Start)

§17.13.5.28

oMath (Office Math)

§22.1.2.77

oMathPara (Office Math Paragraph)

§22.1.2.78

permEnd (Range Permission End)

§17.13.7.1

permStart (Range Permission Start)

§17.13.7.2

proofErr (Proofing Error Anchor)

§17.13.8.1

r (Text Run)

§17.3.2.25

sdt (Inline-Level Structured Document Tag)

§17.5.2.31

smartTag (Inline-Level Smart Tag)

§17.5.1.9

subDoc (Anchor for Subdocument Location)

§17.17.1.1

Attributes

Description

val (Direction of Override)

Specifies the direction of the override being applied.

If this attribute is omitted, the override shall be assumed to be ltr.

[Example: For example, consider the following bidirectional override:

<w:bdo w:val="rtl">
…
</w:bdo>

The val attribute explicitly declares that the override is applied right to left. end example]

The possible values for this attribute are defined by the ST_Direction simple type (§17.18.12).

[Note: The W3C XML Schema definition of this element’s content model (CT_BdoContentRun) is located in §A.1. end note]

© ISO/IEC29500: 2008.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

BidirectionalOverride Members

DocumentFormat.OpenXml.Wordprocessing Namespace