ContextNode Class

Defines the ContextNode Class.When the object is serialized out as xml, its qualified name is msink:context.

Inheritance Hierarchy

System.Object
  DocumentFormat.OpenXml.OpenXmlElement
    DocumentFormat.OpenXml.OpenXmlCompositeElement
      DocumentFormat.OpenXml.Office2010.Ink.ContextNode

Namespace:  DocumentFormat.OpenXml.Office2010.Ink
Assembly:  DocumentFormat.OpenXml (in DocumentFormat.OpenXml.dll)

Syntax

'Declaration
<ChildElementInfoAttribute(GetType(DestinationLink))> _
<ChildElementInfoAttribute(GetType(ContextNodeProperty))> _
<ChildElementInfoAttribute(GetType(SourceLink))> _
Public Class ContextNode _
    Inherits OpenXmlCompositeElement
'Usage
Dim instance As ContextNode
[ChildElementInfoAttribute(typeof(DestinationLink))]
[ChildElementInfoAttribute(typeof(ContextNodeProperty))]
[ChildElementInfoAttribute(typeof(SourceLink))]
public class ContextNode : OpenXmlCompositeElement

Remarks

The following table lists the possible child types:

  • ContextNodeProperty <msink:property>

  • SourceLink <msink:sourceLink>

  • DestinationLink <msink:destinationLink>

2.3.22 context

Target namespace: https://schemas.microsoft.com/ink/2008/7/17/main

A CT_CtxNode element that specifies the context of a set of Ink traces stored in an InkML <traceGroup> element.

This element MUST be a child of an <emma:interpretation> element (see [EMMA] section 3.2). The <emma:interpretation> element must be a child of <inkml::annotationXML (see [InkML] section 6.3.2). The <inkml:annotationXML> element MUST be a child of <inkml:traceGroup> ((see [InkML] section 3.3.1).

The following W3C XML Schema ([XMLSCHEMA1] section 2.1) fragment specifies the contents of this element.

<xsd:element name="context" type="CT_CtxNode"/>

See section 5.9 for the full W3C XML Schema ([XMLSCHEMA1] section 2.1).

2.5.58 CT_CtxNode

Target namespace: https://schemas.microsoft.com/ink/2008/7/17/main

Referenced by: context

The CT_CtxNode defines an Ink context node and its properties. A context node is a logical collection of Ink traces. When Ink is drawn by the user, the Ink traces are analyzed and organized into a hierarchy of context nodes. Each context node has a type (specified by the type attribute) and can have zero or more child content nodes. For example, a writingRegion Content Node may have one or more paragraph content nodes. In addition, context nodes may have relational links from one to another. For example, if a word is underlined the context node representing the ink word, and the context node representing the underline will have a link between them.

For example, the following ink

DocumentFormat.OpenXml.Office2010.Ink.ContextNode-

would be analyzed into a hierarchy of content nodes that looks like this:

<context type="writingRegion"/>

...

<context type="paragraph"/>

...

<context type="line"/>

...

<context type="inkWord"/>

...

*<context type="inkWord">  *

<destinationLink direction="with" ref="id of inkDrawing below"/>

</context>

<context type="inkDrawing" semanticType="underline">

<sourceLink direction="with" ref="id of inkWord above"/>

<context>

Child Elements:

property : A CT_Property element that specifies user-defined binary data property.

sourceLink : A CT_CtxLink element that specifies a semantic link from another content node.

destinationLink : A CT_CtxLink element that specifies that specifies a semantic link to another context node.

Attributes:

id : An ST_Guid attribute that specifies a globally unique ID for this Context Node.

type : An ST_CtxNodeType attribute that specifies the type of this Context Node.

rotatedBoundingBox : An ST_Points attribute that specifies a rectangular region encompassed by this Context Node. Applies to all Context Node types.

alignmentLevel : An xsd:int ([XMLSCHEMA2] section 3.3.17) attribute that specifies the alignment level of a paragraph type Context Node. If this attribute is present, then the value of the type attribute MUST be “paragraph”.

contentType : An xsd:int ([XMLSCHEMA2] section 3.3.17) attribute that specifies the content type of the context node. If this attribute is present, then the value of the type attribute MUST be “paragraph”.

ascender : An xsd:int ([XMLSCHEMA2] section 3.3.17) attribute that specifies the ascender. If this attribute is present, then the value of the type attribute MUST be “line”.

descender : An xsd:int ([XMLSCHEMA2] section 3.3.17) attribute that specifies descender. If this attribute is present, then the value of the type attribute MUST be “line”.

baseline : An xsd:int ([XMLSCHEMA2] section 3.3.17) attribute that specifies the baseline of a line. If this attribute is present, then the value of the type attribute MUST be “line”.

midline : An xsd:int ([XMLSCHEMA2] section 3.3.17) attribute that specifies midline of a line. If this attribute is present, then the value of the type attribute MUST be “line”.

customRecognizerId : An ST_Guid attribute that specifies midline of a line. If this attribute is present, then the value of the type attribute MUST be “line”.

mathML : A xsd:string ([XMLSCHEMA2] section 3.2.1) attribute that specifies a string of MathML. If this attribute is present, then the value of the type attribute MUST be “mathEquation”.

mathStruct : A xsd:string ([XMLSCHEMA2] section 3.2.1) attribute that specifies a math struct. If this attribute is present, then the value of the type attribute MUST be “mathStruct”.

mathSymbol : A xsd:string ([XMLSCHEMA2] section 3.2.1) attribute that specifies a math symbol. If this attribute is present, then the value of the type attribute MUST be “mathSymbol”.

beginModifierType : A xsd:string ([XMLSCHEMA2] section 3.2.1) attribute that specifies beginning modifier type. If this attribute is present, then the value of the type attribute MUST be “inkDrawing”, “nonInkDrawing”, or “mixedDrawing”.

endModifierType : A xsd:string ([XMLSCHEMA2] section 3.2.1) attribute that specifies the ending modifier type. If this attribute is present, then the value of the type attribute MUST be “inkDrawing”, “nonInkDrawing”, or “mixedDrawing”.

rotationAngle : An xsd:int ([XMLSCHEMA2] section 3.3.17) attribute that specifies the rotation angle of the drawing in degrees. If this attribute is present, then the value of the type attribute MUST be “inkDrawing”, “nonInkDrawing”, or “mixedDrawing”.

hotPoints : An ST_Points attribute that specifies coordinates of the drawing’s hot points. If this attribute is present, then the value of the type attribute MUST be “inkDrawing”, “nonInkDrawing”, or “mixedDrawing”.

centroid : An ST_Point attribute that specifies the center point of the drawing. If this attribute is present, then the value of the type attribute MUST be “inkDrawing”, “nonInkDrawing”, or “mixedDrawing”.

semanticType : An ST_SemanticType attribute that specifies the semantic type of the writing region or drawing. If this attribute is present, then the value of the type attribute MUST be “writingRegion”, “inkDrawing”, “nonInkDrawing”, or “mixedDrawing”.

shapeName : A xsd:string ([XMLSCHEMA2] section 3.2.1) attribute that specifies shape name. If this attribute is present, then the value of the type attribute MUST be “inkDrawing”, “nonInkDrawing”, or “mixedDrawing”.

shapeGeometry : An ST_Points attribute that specifies coordinates of the line segments of a drawing. If this attribute is present, then the value of the type attribute MUST be “nonInkDrawing”.

The following W3C XML Schema ([XMLSCHEMA1] section 2.1) fragment specifies the contents of this complex type.

<xsd:complexType name="CT_CtxNode">

<xsd:sequence>

<xsd:element name="property" type="CT_Property" minOccurs="0" maxOccurs="unbounded"/>

<xsd:element name="sourceLink" type="CT_CtxLink" minOccurs="0" maxOccurs="unbounded"/>

<xsd:element name="destinationLink" type="CT_CtxLink" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:attribute name="id" type="ST_Guid" use="optional"/>

<xsd:attribute name="type" type="ST_CtxNodeType" use="required"/>

<xsd:attribute name="rotatedBoundingBox" type="ST_Points" use="optional"/>

<xsd:attribute name="alignmentLevel" type="xsd:int" use="optional" default="0"/>

<xsd:attribute name="contentType" type="xsd:int" use="optional" default="0"/>

<xsd:attribute name="ascender" type="xsd:int" use="optional" default="0"/>

<xsd:attribute name="descender" type="xsd:int" use="optional" default="0"/>

<xsd:attribute name="baseline" type="xsd:int" use="optional" default="0"/>

<xsd:attribute name="midline" type="xsd:int" use="optional" default="0"/>

<xsd:attribute name="customRecognizerId" type="ST_Guid" use="optional"/>

<xsd:attribute name="mathML" type="xsd:string" use="optional" default=""/>

<xsd:attribute name="mathStruct" type="xsd:string" use="optional" default=""/>

<xsd:attribute name="mathSymbol" type="xsd:string" use="optional" default=""/>

<xsd:attribute name="beginModifierType" type="xsd:string" use="optional" default=""/>

<xsd:attribute name="endModifierType" type="xsd:string" use="optional" default=""/>

<xsd:attribute name="rotationAngle" type="xsd:int" use="optional" default="0"/>

<xsd:attribute name="hotPoints" type="ST_Points" use="optional"/>

<xsd:attribute name="centroid" type="ST_Point" use="optional"/>

<xsd:attribute name="semanticType" type="ST_SemanticType" use="optional" default="none"/>

<xsd:attribute name="shapeName" type="xsd:string" use="optional" default=""/>

<xsd:attribute name="shapeGeometry" type="ST_Points" use="optional"/>

</xsd:complexType>

See section 5.9 for the full W3C XML Schema ([XMLSCHEMA1] section 2.1).

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

ContextNode Members

DocumentFormat.OpenXml.Office2010.Ink Namespace