Matrix Class

Matrix Function.When the object is serialized out as xml, its qualified name is m:m.

Inheritance Hierarchy

System.Object
  DocumentFormat.OpenXml.OpenXmlElement
    DocumentFormat.OpenXml.OpenXmlCompositeElement
      DocumentFormat.OpenXml.Math.Matrix

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

Syntax

'Declaration
<ChildElementInfoAttribute(GetType(MatrixProperties))> _
<ChildElementInfoAttribute(GetType(MatrixRow))> _
Public Class Matrix _
    Inherits OpenXmlCompositeElement
'Usage
Dim instance As Matrix
[ChildElementInfoAttribute(typeof(MatrixProperties))]
[ChildElementInfoAttribute(typeof(MatrixRow))]
public class Matrix : OpenXmlCompositeElement

Remarks

The following table lists the possible child types:

  • MatrixProperties <m:mPr>

  • MatrixRow <m:mr>

[ISO/IEC 29500-1 1st Edition]

22.1.2.60 m (Matrix Object)

This element specifies the Matrix object, consisting of one or more elements laid out in one or more rows and one or more columns. It is important to note that matrices do not have built in delimiters. Like other math elements, matrices are contained in a delimiter object (§22.1.2.24) when delimiters are desired. Empty arguments (see §22.1.2.32) can be used to create gaps in matrices. The plcHide tag (§22.1.2.83) can be used to indicate whether the empty arguments should be visible in the matrix (see the plcHide documentation for more information). If mPr is omitted, the values of baseJc, cGp, cGpRule, cSp, ctrlPr, mcs, plcHide, rSp, and rSpRule are shown in the following table:

Property

Default Value

baseJc

“center”

cGp

“0”

cGpRule

“0” <single>

cSp

“0”

ctrlPr

<The character property of the first control character shall be the character property of the first character in the m object >

mcs

<All columns will be vertically center aligned>

plcHide

“0”

rSp

“0”

rSpRule

“0” <single>

[Example: Examples of matrices are: and . Below is an example of a 2x2 matrix and its XML in its proper form (surrounding delimiters are not a property of the matrix and are only shown to demonstrate their relationship with a matrix. See the documentation for the d tag for XML examples of delimiters).

<m:d>
  <m:m>
<m:mPr>
<m:mcs>
<m:mc>
<m:mcPr>
            <m:count m:val="2"/>
<m:mcJc  m:val="center"/>
</m:mcPr>
</m:mc>
</m:mcs>
</m:mPr>
    <m:mr>
<m:e>
<m:r>
<m:rPr>
<m:scr  m:val="roman"/>
<m:sty  m:val="p"/>
</m:rPr>
<m:t>1</m:t>
</m:r >
</m:e>
      <m:e>
<m:r>
<m:rPr>
<m:scr  m:val="roman"/>
<m:sty  m:val="p"/>
</m:rPr>
<m:t>2</m:t>
</m:r >
</m:e>
</m:mr>
    <m:mr>
<m:e>
<m:r>
<m:rPr>
<m:scr  m:val="roman"/>
<m:sty  m:val="p"/>
</m:rPr>
<m:t>3</m:t>
</m:r >
</m:e>
      <m:e>
<m:r>
<m:rPr>
<m:scr  m:val="roman"/>
<m:sty  m:val="p"/>
</m:rPr>
<m:t>4</m:t>
</m:r >
</m:e>
</m:mr>
</m:m>
</m:d>

end example]

Parent Elements

deg (§22.1.2.26); del (§17.13.5.14); den (§22.1.2.28); e (§22.1.2.32); fName (§22.1.2.37); ins (§17.13.5.18); lim (§22.1.2.52); moveFrom (§17.13.5.22); moveTo (§17.13.5.25); num (§22.1.2.75); oMath (§22.1.2.77); sub (§22.1.2.112); sup (§22.1.2.114)

Child Elements

Subclause

mPr (Matrix Properties)

§22.1.2.68

mr (Matrix Row)

§22.1.2.69

[Note: The W3C XML Schema definition of this element’s content model (CT_M) is located in §A.6.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

Matrix Members

DocumentFormat.OpenXml.Math Namespace