I am trying to find a way to give a formal definition of NVX. The symbolic description is here required. I read through the front part of Selcuk's report, and got some illuminations. I found that in this phase an understanding of NVX is required, and a formal representation of each node in the XML document in the case of NVX existing is also necessary.
Borrowing ideas from Selcuk's report, we have 5 different types of null values.
- Existential Null (ex_mar);
- Maybe Null (ma_mar);
- Place holder Null (pl_mar);
- Partial Null (pa_mar);
- Partial Maybe Null (pm_mar).
Two categories of NVX are possible in the XML document, one is tag-related, and the other is structure-related. For each category, we use ??_mar<?> as the mark of the respective null value. For example, in the case of tag-related NVX, the possible marks include ex_mar<tag>, ma_mar<tag>, pl_mar<tag>, pa_mar<tag>, and pm_mar<tag>. On the other hand, for structure-related NVX, we use ex_mar<str>, ma_mar<str>, pl_mar<str>, pa_mar<str>, and pm_mar<str>.
In the following, let's take a look at the meanings which these marks represent. Before that, we should give a symbolic representation of nodes, NVX etc. Let a node or nodes in the XML document be a 3-tuple (id, tag, parent_id), where
- id is the identifier of the node, it's structure-related information.
- id could be a value unique to this node, which uniquely identifies this node from others. We use a mark va_mar<str> to represent a value here.
- id could be pl_mar<str>, meaning that this is a dummy node.
- id could be pa_mar<str>, representing a set of nodes which all satisfy some constraints.
- id could be ex_mar<str>, meaning that the node exist somewhere in the XML documents.
- id could be ma_mar<str>, meaning that the node might exist somewhere, but not sure.
- id could be pm_mar<str>, meaning that the node could be one of values in the set, or not exist at all.
- tag describes the content of the node, it's tag-related information.
- tag could be a value in the predefined domain. We could use a mark as va_mar<tag>. One question here is how to define the domain of this mark va_mar<tag>!
- tag could be any tag-related NVX marks, such as ex_mar<tag>, ma_mar<tag>, pl_mar<tag>, pa_mar<tag>, and pm_mar<tag>.
- parent_id is the identifier of the parent of the node, it's also structure-related information.
- parent_id could be a value unique to a node in the XML document, which is the parent of the concerned node. (va_mar<str>)
- parent_id could be one of marks for NVX, such as pl_mar<str>, ex_mar<str>, ma_mar<str>, pa_mar<str>.
No comments:
Post a Comment