ContextNode Class

Definition

Defines the ContextNode Class.

This class is available in Office 2007 and above.

When the object is serialized out as xml, it's qualified name is msink:context.

[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.ContextNodeProperty))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.SourceLink))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.DestinationLink))]
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
[DocumentFormat.OpenXml.SchemaAttr(45, "context")]
public class ContextNode : DocumentFormat.OpenXml.OpenXmlCompositeElement
public class ContextNode : DocumentFormat.OpenXml.OpenXmlCompositeElement
[DocumentFormat.OpenXml.SchemaAttr(45, "context")]
public class ContextNode : DocumentFormat.OpenXml.OpenXmlCompositeElement
[DocumentFormat.OpenXml.SchemaAttr("msink:context")]
public class ContextNode : DocumentFormat.OpenXml.OpenXmlCompositeElement
[DocumentFormat.OpenXml.SchemaAttr("msink:context")]
public class ContextNode : DocumentFormat.OpenXml.TypedOpenXmlCompositeElement
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.ContextNodeProperty))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.SourceLink))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.DestinationLink))]
public class ContextNode : DocumentFormat.OpenXml.OpenXmlCompositeElement
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.ContextNodeProperty))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.SourceLink))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.DestinationLink))]
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
public class ContextNode : DocumentFormat.OpenXml.OpenXmlCompositeElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.ContextNodeProperty))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.SourceLink))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.DestinationLink))>]
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
[<DocumentFormat.OpenXml.SchemaAttr(45, "context")>]
type ContextNode = class
    inherit OpenXmlCompositeElement
type ContextNode = class
    inherit OpenXmlCompositeElement
[<DocumentFormat.OpenXml.SchemaAttr(45, "context")>]
type ContextNode = class
    inherit OpenXmlCompositeElement
[<DocumentFormat.OpenXml.SchemaAttr("msink:context")>]
type ContextNode = class
    inherit OpenXmlCompositeElement
[<DocumentFormat.OpenXml.SchemaAttr("msink:context")>]
type ContextNode = class
    inherit TypedOpenXmlCompositeElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.ContextNodeProperty))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.SourceLink))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.DestinationLink))>]
type ContextNode = class
    inherit OpenXmlCompositeElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.ContextNodeProperty))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.SourceLink))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2010.Ink.DestinationLink))>]
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
type ContextNode = class
    inherit OpenXmlCompositeElement
Public Class ContextNode
Inherits OpenXmlCompositeElement
Public Class ContextNode
Inherits TypedOpenXmlCompositeElement
Inheritance
Inheritance
Attributes

Remarks

2.3.7 context

Target namespace: http://schemas.microsoft.com/ink/2010/main

A CT_CtxNode element that specifies the context of a set of Ink traces stored in a traceGroup element as specified in [InkML].

This element MUST be a child of an emma:interpretation element ([EMMA] section 3.2). The emma:interpretation element must be a child of an inkml::annotationXML element ([InkML] section 6.3.2). The inkml:annotationXML element MUST be a child of an inkml:traceGroup element ([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.7 for the full W3C XML Schema ([XMLSCHEMA1] section 2.1).

2.5.47 CT_CtxNode

Target namespace: http://schemas.microsoft.com/ink/2010/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 can have one or more paragraph content nodes. In addition, context nodes can have relational links to each other. For example, if a word is underlined, the context node representing the ink word and the context node representing the underline are linked.

For example, the following figure shows ink that is analyzed as shown in the following code example.

Figure 29: Example ink text

<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 a 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 a semantic link to another context node.

Attributes:

id: An ST_Guid attribute that specifies a GUID 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 attribute ([XMLSCHEMA2] section 3.3.17) that specifies the alignment level of a paragraph type context node. If this attribute is present, the value of the type attribute MUST be set to "paragraph".

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

ascender: An ST_Points attribute that specifies the ascender. If this attribute is present, the value of the type attribute MUST be set to "line".

descender: An ST_Points attribute that specifies the descender. If this attribute is present, the value of the type attribute MUST be set to "line".

baseline: An ST_Points attribute that specifies the baseline of a line. If this attribute is present, the value of the type attribute MUST be set to "line".

midline: An ST_Points attribute that specifies the midline of a line. If this attribute is present, the value of the type attribute MUST be set to "line".

customRecognizerId: An ST_Guid attribute that specifies the globally unique identifier (GUID) that represents the custom ink recognizer. If this attribute is present, the value of the type attribute MUST be set to "customRecognizer".

mathML: An xsd:string attribute ([XMLSCHEMA2] section 3.2.1) that specifies a string of Math Markup Language ([MathML2.0]). If this attribute is present, the value of the type attribute MUST be set to "mathEquation".

mathStruct: An xsd:string attribute ([XMLSCHEMA2] section 3.2.1) that specifies a math struct. If this attribute is present, the value of the type attribute MUST be set to "mathStruct".

mathSymbol: An xsd:string attribute ([XMLSCHEMA2] section 3.2.1) that specifies a math symbol. If this attribute is present, the value of the type attribute MUST be set to "mathSymbol".

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

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

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

hotPoints: An ST_Points attribute that specifies coordinates of the hot points of the drawing. If this attribute is present, the value of the type attribute MUST be set to "inkDrawing", "nonInkDrawing", or "mixedDrawing".

centroid: An ST_Point attribute that specifies the center point of the drawing. If this attribute is present, the value of the type attribute MUST be set to "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, the value of the type attribute MUST be set to "writingRegion", "inkDrawing", "nonInkDrawing", or "mixedDrawing".

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

shapeGeometry: An ST_Points attribute that specifies coordinates of the line segments of a drawing. If this attribute is present, the value of the type attribute MUST be set to "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="ST_Points" use="optional" default="0,0"/>

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

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

<xsd:attribute name="midline" type="ST_Points" use="optional" default="0,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.7 for the full W3C XML Schema ([XMLSCHEMA1] section 2.1).

Constructors

ContextNode()

Initializes a new instance of the ContextNode class.

ContextNode(IEnumerable<OpenXmlElement>)

Initializes a new instance of the ContextNode class with the specified child elements.

ContextNode(OpenXmlElement[])

Initializes a new instance of the ContextNode class with the specified child elements.

ContextNode(String)

Initializes a new instance of the ContextNode class from outer XML.

Properties

AlignmentLevel

alignmentLevel

Represents the following attribute in the schema: alignmentLevel

Ascender

ascender

Represents the following attribute in the schema: ascender

Baseline

baseline

Represents the following attribute in the schema: baseline

BeginModifierType

beginModifierType

Represents the following attribute in the schema: beginModifierType

Centroid

centroid

Represents the following attribute in the schema: centroid

ChildElements

Gets all the child nodes of the current element.

(Inherited from OpenXmlElement)
ContentType

contentType

Represents the following attribute in the schema: contentType

CustomRecognizerId

customRecognizerId

Represents the following attribute in the schema: customRecognizerId

Descender

descender

Represents the following attribute in the schema: descender

EndModifierType

endModifierType

Represents the following attribute in the schema: endModifierType

ExtendedAttributes

Gets all extended attributes (attributes not defined in the schema) of the current element.

(Inherited from OpenXmlElement)
Features

Gets a IFeatureCollection for the current element. This feature collection will be read-only, but will inherit features from its parent part and package if available.

(Inherited from OpenXmlElement)
FirstChild

Gets the first child of the current OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
HasAttributes

Gets a value indicating whether the current element has any attributes.

(Inherited from OpenXmlElement)
HasChildren

Gets a value that indicates whether the current element has any child elements.

(Inherited from OpenXmlCompositeElement)
HotPoints

hotPoints

Represents the following attribute in the schema: hotPoints

Id

id

Represents the following attribute in the schema: id

InnerText

Gets or sets the concatenated values of the current node and all of its children.

(Inherited from OpenXmlCompositeElement)
InnerXml

Gets or sets the markup that represents only the child nodes of the current node.

(Inherited from OpenXmlCompositeElement)
LastChild

Gets the last child of the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no such OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
LocalName
LocalName

Gets the local name of the current element.

(Inherited from OpenXmlElement)
MathML

mathML

Represents the following attribute in the schema: mathML

MathStruct

mathStruct

Represents the following attribute in the schema: mathStruct

MathSymbol

mathSymbol

Represents the following attribute in the schema: mathSymbol

MCAttributes

Gets or sets the markup compatibility attributes. Returns null if no markup compatibility attributes are defined for the current element.

(Inherited from OpenXmlElement)
Midline

midline

Represents the following attribute in the schema: midline

NamespaceDeclarations

Gets all the namespace declarations defined in the current element. Returns an empty enumerator if there is no namespace declaration.

(Inherited from OpenXmlElement)
NamespaceUri

Gets the namespace URI of the current element.

(Inherited from OpenXmlElement)
OpenXmlElementContext

Gets the OpenXmlElementContext of the current element.

(Inherited from OpenXmlElement)
OuterXml

Gets the markup that represents the current element and all of its child elements.

(Inherited from OpenXmlElement)
Parent

Gets the parent element of the current element.

(Inherited from OpenXmlElement)
Prefix

Gets the namespace prefix of current element.

(Inherited from OpenXmlElement)
RotatedBoundingBox

rotatedBoundingBox

Represents the following attribute in the schema: rotatedBoundingBox

RotationAngle

rotationAngle

Represents the following attribute in the schema: rotationAngle

SemanticType

semanticType

Represents the following attribute in the schema: semanticType

ShapeGeometry

shapeGeometry

Represents the following attribute in the schema: shapeGeometry

ShapeName

shapeName

Represents the following attribute in the schema: shapeName

Type

type

Represents the following attribute in the schema: type

XmlQualifiedName

Gets the qualified name of the current element.

(Inherited from OpenXmlElement)
XName

Gets the qualified name of the current element.

(Inherited from OpenXmlElement)

Methods

AddAnnotation(Object)

Adds an object to the current OpenXmlElement element's list of annotations.

(Inherited from OpenXmlElement)
AddChild(OpenXmlElement, Boolean)

Adds the specified element to the element if it is a known child. This adds the element in the correct location according to the schema.

(Inherited from OpenXmlCompositeElement)
AddNamespaceDeclaration(String, String)

Adds a namespace declaration to the current node.

(Inherited from OpenXmlElement)
Ancestors()

Enumerates all of the current element's ancestors.

(Inherited from OpenXmlElement)
Ancestors<T>()

Enumerates only the current element's ancestors that have the specified type.

(Inherited from OpenXmlElement)
Annotation(Type)

Get the first annotation object of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotation<T>()

Get the first annotation object of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotations(Type)

Gets a collection of annotations with the specified type for the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotations<T>()

Gets a collection of annotations with the specified type for the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Append(IEnumerable<OpenXmlElement>)

Appends each element from a list of elements to the end of the current element's list of child elements.

(Inherited from OpenXmlElement)
Append(OpenXmlElement[])

Appends each element from an array of elements to the end of the current element's list of child elements.

(Inherited from OpenXmlElement)
AppendChild<T>(T)

Appends the specified element to the end of the current element's list of child nodes.

(Inherited from OpenXmlCompositeElement)
ClearAllAttributes()

Clears all of the attributes, including both known attributes and extended attributes.

(Inherited from OpenXmlElement)
Clone()

Creates a duplicate of the current node.

(Inherited from OpenXmlElement)
CloneNode(Boolean)

Creates a duplicate of this node.

Descendants()

Enumerates all of the current element's descendants.

(Inherited from OpenXmlElement)
Descendants<T>()

Enumerate all of the current element's descendants of type T.

(Inherited from OpenXmlElement)
Elements()

Enumerates all of the current element's children.

(Inherited from OpenXmlElement)
Elements<T>()

Enumerates only the current element's children that have the specified type.

(Inherited from OpenXmlElement)
ElementsAfter()

Enumerates all of the sibling elements that follow the current element and have the same parent as the current element.

(Inherited from OpenXmlElement)
ElementsBefore()

Enumerates all of the sibling elements that precede the current element and have the same parent as the current element.

(Inherited from OpenXmlElement)
GetAttribute(String, String)

Gets an Open XML attribute with the specified tag name and namespace URI.

(Inherited from OpenXmlElement)
GetAttributes()

Gets a list that contains a copy of all the attributes.

(Inherited from OpenXmlElement)
GetEnumerator()

Returns an enumerator that iterates through the child collection.

(Inherited from OpenXmlElement)
GetFirstChild<T>()

Finds the first child element in type T.

(Inherited from OpenXmlElement)
InsertAfter<T>(T, OpenXmlElement)

Inserts the specified element immediately after the specified reference element.

(Inherited from OpenXmlCompositeElement)
InsertAfterSelf<T>(T)

Inserts the specified element immediately after the current element.

(Inherited from OpenXmlElement)
InsertAt<T>(T, Int32)

Inserts the specified element at the specified index of the current element's children.

(Inherited from OpenXmlCompositeElement)
InsertBefore<T>(T, OpenXmlElement)

Inserts the specified element immediately before the specified reference element.

(Inherited from OpenXmlCompositeElement)
InsertBeforeSelf<T>(T)

Inserts the specified element immediately before the current element.

(Inherited from OpenXmlElement)
IsAfter(OpenXmlElement)

Determines if the current element appears after a specified element in document order.

(Inherited from OpenXmlElement)
IsBefore(OpenXmlElement)

Determines if the current element appears before a specified element in document order.

(Inherited from OpenXmlElement)
LookupNamespace(String)

Resolves the namespace prefix in the context of the current node.

(Inherited from OpenXmlElement)
LookupPrefix(String)

Finds the corresponding prefix for a namespace uri in the current element scope.

(Inherited from OpenXmlElement)
NextSibling()

Gets the OpenXmlElement element that immediately follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement element.

(Inherited from OpenXmlElement)
NextSibling<T>()

Gets the OpenXmlElement element with the specified type that follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement.

(Inherited from OpenXmlElement)
PrependChild<T>(T)

Inserts the specified element at the beginning of the current element's list of child nodes.

(Inherited from OpenXmlCompositeElement)
PreviousSibling()

Gets the OpenXmlElement element that immediately precedes the current OpenXmlElement element. Returns null (Nothing in Visual Basic ) if there is no preceding OpenXmlElement element.

(Inherited from OpenXmlElement)
PreviousSibling<T>()

Gets the OpenXmlElement element with the specified type that precedes the current OpenXmlElement. Returns null (Nothing in Visual Basic) if there is no preceding OpenXmlElement element.

(Inherited from OpenXmlElement)
Remove()

Removes the current element from its parent.

(Inherited from OpenXmlElement)
RemoveAllChildren()

Removes all of the current element's child elements.

(Inherited from OpenXmlCompositeElement)
RemoveAllChildren<T>()

Remove all of the current element's child elements that are of type T.

(Inherited from OpenXmlElement)
RemoveAnnotations(Type)

Removes the annotations of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
RemoveAnnotations<T>()

Removes the annotations with the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
RemoveAttribute(String, String)

Removes the attribute from the current element.

(Inherited from OpenXmlElement)
RemoveChild<T>(T)

Removes the specified child element.

(Inherited from OpenXmlCompositeElement)
RemoveNamespaceDeclaration(String)

Removes the namespace declaration for the specified prefix. Removes nothing if there is no prefix.

(Inherited from OpenXmlElement)
ReplaceChild<T>(OpenXmlElement, T)

Replaces one of the current element's child elements with another OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
SetAttribute(OpenXmlAttribute)

Sets an attribute to the specified element. If the attribute is a known attribute, the value of the attribute is set. If the attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list.

(Inherited from OpenXmlElement)
SetAttributes(IEnumerable<OpenXmlAttribute>)

Sets a number of attributes to the element. If an attribute is a known attribute, the value of the attribute is set. If an attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list.

(Inherited from OpenXmlElement)
WriteTo(XmlWriter)

Saves the current node to the specified XmlWriter.

(Inherited from OpenXmlElement)

Explicit Interface Implementations

IEnumerable.GetEnumerator() (Inherited from OpenXmlElement)
IEnumerable<OpenXmlElement>.GetEnumerator()

Returns an enumerator that iterates through the child collection.

(Inherited from OpenXmlElement)

Applies to