File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/90/c90-2018_metho.xml

Size: 26,059 bytes

Last Modified: 2025-10-06 14:12:23

<?xml version="1.0" standalone="yes"?>
<Paper uid="C90-2018">
  <Title>Feature Logic with Disjunctive Unification</Title>
  <Section position="3" start_page="0" end_page="0" type="metho">
    <SectionTitle>
2 Feature Terms
</SectionTitle>
    <Paragraph position="0"/>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
2.1 Disjunction Names
</SectionTitle>
      <Paragraph position="0"> The background of our approach is the simple observation that general disjunction affecting more than one feature can be reduced to value disjunction for those k'atnres, provided that tile correspondence between such disjunctions can be expressed within the formalism. In order to state such correspondences, we will label disjunctions with a disjunctiot~ name. Take, tbr instance, th.e formula (l) that could be used  to express that the directional reading of the german preposition &amp;quot;in&amp;quot; (=into) corresponds to the accusative case of the following noun phrase, whereas the static reading (=in) corresponds to the dative case. This can also be expressed by (2), where the index dl at the disjunction sign indicates the mutual dependence of both disjunctions. Throughout this paper, we will assume that each disjunction is labelled with ~ name. Even in cases where a disjunction appears only once in the initial description, naming it will help us to treat the :interaction between disjunction and path equivalence correctly. null  (1) (syn : arg: case : dat A sem: rel: statdn) V (syn : arg : case : ace A sere : rel : dirdn) (2) syn: arg : case : (dat Va, ace)  A sem : tel : (statdn Vd, dir_in) r s 2.2 Syntax and Semantics of Feature term.' \Ve incorporate named disjunction into ~t language of so-called feature terms (similar to those in \[Smolka 88\]), where each feature term describes a set of possible feature structures. The language allows for the use of sort symbols A,B,C... (:_ S, on which some partial order ~ induces a lower semilattice (i.e. VA, B E S : CLB(A, B) e S). T and +- are the greatest and least element of S. We also distinguish a set of singleton sorts (a, b, c... E Sg C S), which include the special sort NONE. J_ is the only sort smaller than a singleton sort. The language provides a set F of feature symbols (written f, g, h,...), an iMinite set. V of variables (written x, y, z, xa, Yl, * * .) to express path equivalence, and an infinite set D of disjunction names (written d, dl, d2,...). S, F, V and D are pMrwise disjoint. Sort symbols and variables can be negated to express negative values and path equivalence (simple negation). The restriction of negation to sort symbols and variables is not essential, since the negation of any feature term can always be reduced to these forms in linear time \[Smolka 88\].</Paragraph>
      <Paragraph position="1"> Definition 1 (Feature Terms) We define the set FT of feature terms with wwiables, simple negation and named disjunction by the context-free production rules given in Fig. 1. Letters s, t, tl, ... will always denote feature terms.</Paragraph>
      <Paragraph position="2"> The semantics of our terms is defined with respect to an interpretation, which is a pair (H, .z) of a universe of the interpretation and an interpretation function snch that: * T z:=// and -k z= \[~ * for all sorts A, 11: GLB(A, B) &amp;quot;z = A ~ rl B z * singleton sorts are mapped onto singleton sets * for (;very feature f: fz is a function b/ -+ lt.</Paragraph>
      <Paragraph position="3"> * if a is a singleton sort and f is a featnre symbol, then fz maps a z into NONE &amp;quot;/ When interpreting a feature term with variables and named disjunctions, we have to make sure that the same value is assigned to each occurrence of a variable and that the same branch is chosen for each occurrence of a named disjunction. To achieve this, we introduce variable assignments that map variables to elements of tile universe and disjunctive contexts that assign to each disjunction name the branch that has to be taken for this dis.innction and hence specify a possible interpretation of a formula with named disjnnction. Since we limit ourselves to binary disjunctions, a branch of a disjunction can be specified by one of the symbols l or r.</Paragraph>
      <Paragraph position="4">  Definition 2 (//-Assignment) A lt-assignme~t a. is an element of l.t V, i.e. a Junction from V to li.</Paragraph>
      <Paragraph position="5"> Definition 3 (Context)A context is an element of (1, r) D, i.e. a function from D to the set {l,r}. 7'he.,'gmbols  ~, ~', etc. will ahvags denote contexts.</Paragraph>
      <Paragraph position="6"> For a given interpretation, we define the denotation of a feature term in a context ~ E {1, r} D under an assignment a E N v as shown in Fig. 1. The denotation of a feature term as such is defined by: :_- U U st,.</Paragraph>
      <Paragraph position="7"> nE{l,r} D c~E~/v</Paragraph>
    </Section>
  </Section>
  <Section position="4" start_page="0" end_page="0" type="metho">
    <SectionTitle>
3 Context-Unique Feature Descriptions
</SectionTitle>
    <Paragraph position="0"> To describe the computational mechanisms needed for an implementation, we will introduce a relational language Io express constraints over variables. Unlike similar approaches (e.g. \[Smolka 88\]), our constraint language will also be nsed to express disjunctive information. For this language, we will define a normal form that exhibits inconsistencies, and simplification rules that allow to normalize a given specification. Our language will provide only two kinds of constraints, one that relates a variable to some feature term (written z It) attd one that expresses that certain contexts are excluded from consideration because the inforn-tal.ion known for them is inconsistent (written +-\[k\]).</Paragraph>
    <Paragraph position="1"> In order to refer to sets of contexts, we define Definition 4 (Context Desc.riptions) A context description is a propositioned.form,la where the constant TRUE, variables written d,: l and d,: r with d, E D, and the operators A, V and ~ may be empl~wecl.</Paragraph>
    <Paragraph position="2"> CD will deplete the set of context descriptio~ts. The symbols k, kl .... will alwags denote members of CD.</Paragraph>
    <Paragraph position="3"> The set of purely co~junctivc context descriptiol~s (,ot eoataining the operators V and ~) is denoted by CDC/.</Paragraph>
    <Paragraph position="4"> Each context x satisfies the context description &amp;quot;rRu\[,; (written n ~,: TUUF), wherea,, n ~. d:b for b E {l,r} only if t~(d) = b. 7'he meaning of context descriptions invoh.,i,g A, V and -~ is defined as irt propositional logic.</Paragraph>
    <Paragraph position="5"> If n ~ k, we will also say that k describes or covers ~r or that ~ lies in k.</Paragraph>
    <Paragraph position="6"> A context description is called contradictory, if ~m eold~:rt satisfies it.</Paragraph>
    <Paragraph position="7"> Two context deseripti&lt;ms k, k' which are satisfied b!\] e:ractlg the same contexts are called equivalent (written \],'=- k').</Paragraph>
    <Paragraph position="9"> An important form of constraints for our approach are constraints like x I zl kin, x2 which expresses that x and xl have to be equal in contexts where ~(dl) = 1 and so do x and x2 in contexts where ~(dl) = r. Such constraints are called bifurcations and Xl, x2 are called (the dl:l- and dl:r-) variants' of x. Assume an additional constraint xl \[ xa kid2 x4, then x3 will be called the dl:l A d2:l-variant of x and so on.</Paragraph>
    <Paragraph position="10"> Now, instead of accumulating constraints on the variable x which might be effective in different contexts and could interact in complicated ways, we (:an introduce new variables as variants of ~ and attach the information to them.</Paragraph>
    <Paragraph position="11"> We will sometimes reffer to a. variant of a variable x without having a variable name for this variant. To this end, we will use a special notation x/k to denote the k-variant of x. Such expressions will be called contextcd variables.</Paragraph>
    <Paragraph position="12"> Definition 5 (Contexted Variables) A contexted variable is a pair x/k where x G V and k ~ CI)~.</Paragraph>
    <Paragraph position="13"> V,: wilt denote the union of V with the set of eontexted vario ables. Elernents of V~ will be written with capital letters X, ?', Z, X1, Y'I ... lib mark the distinction, we will some..</Paragraph>
    <Paragraph position="14"> time.~ call the members of V pure variables.</Paragraph>
    <Paragraph position="15"> During t.he normalization of feature descriptions we will sometimes need variable substitution. If a description eontaiz)s e.g. x \[y, where other constraints might express conflicting information about x and y, we want to concentrate this information on one variable (say a:) by m~bstituting all oceurences of y in other constraints by x. This could lea(\] to problems when constraints attached to x and y are relevant in different contexts. One way to treat this situation correc'.ly would be the introduction of conditional substitution (see iEisele/DSrre 90\] for details). The way we choose here is to rest.ric~ the use of variables in such a way that it is always safe to use conventional substitution.</Paragraph>
    <Paragraph position="16"> Our trick **'ill be to require thud. essentially all occurences of a variable x are relevant to the same set of contexts. We call this condition (defined more precisely below) the contextdeg uniqaer~ess of variables. ~Ve. will set up the normal fornl and the rewrite system in such a way, that context-nniquel,ess of a description is maintained during the simplilication protess. (See \[Eisele/i)Srre 90\] for a more detailed motivation of context-uniqueness). 'The set of relevant contexts will be regarded as an inherent and invariant property of varial)les, and we will introduce a context assignment, i.e. ,~ partial function Con : V ~--~ CD~: that maps each variable in use to a purely conjunctive description of the contexts it is relevant to. \\reextend ('on to context.ed varial)lesby defining</Paragraph>
    <Paragraph position="18"> in order Io obtain context-unique descriptions, we generalize our feature terms so that they may also contain contexted variables.</Paragraph>
    <Paragraph position="19"> Definition 6 (Gontexted Feature Terms) A contexted feature term is buih' according go definition l, but where both p~tre and contexted variables may occur. The set of contextcd feature terms will be denoted by FT~. The symbols s, t, t~ . .. may henc@~rth also denote contexted feature germs.</Paragraph>
    <Paragraph position="20"> The dc**otation of a contcxted feature term in a context n {I, r} D under an assignment ee ~ l/\[ V is defined as for usual feature terms by adding:</Paragraph>
    <Paragraph position="22"> We can now define the context compatibility of a feature term. This definition is somewhat technical and the reader can skip it, since our algorithm will produce only context-unique descriptions, anyway.</Paragraph>
    <Paragraph position="23">  Definition 7 (Context compatibility) Given a partial assignment Con : V ~-~ CDe, a contexted feature term t is context-compatible to a context description k with respect to Con, written t ,'ocon k, according to the following conditions. A ~Con k X &amp;quot;con k -~t &amp;quot;-co,; k f:t ~Co,, k s N t &amp;quot;con k s Ud t &amp;quot;Con k for arbitrary k E CD~ iff Con(X) = k lift ~Co. k lift ~Co. k iff s ~Co, k and t *~Co,* k ifJs ~Co~ kAd:l and t ~co,~ kAd:r Definition 8 (Context-unique feature descriptions)  A context-uniquc feature description (m0,CUC, Con) is a triple such that: * xo C V, called the root variable e CUC' is a set of context-unique constraints which either have the form &amp;\[k\], where k E CD or Xlt , where X C V~,t E F'PS~ and t &amp;quot;co,~ Con(X) o Con is a context assignment which is defined for all variables in CUC The semantics of contextounique feature descriptions is given by the satisfaction relation t-::Co~ between variable as.~ignmentfl, contexts and constraints, which is parametrized with a context assignment. ~, '~ t:=~: ..... Xlt iJJ&amp;quot; ~V:~Co,.(X) o,&amp;quot; &lt;X) c ~t\] ..... ~,,~ V&lt;'o,, +-\[k\] ifl ~ &gt;~ k 7'he denotation of a context.unique f-description is:</Paragraph>
    <Paragraph position="25"> Given a feature term t not containing the variable x0, we (:an find an equivalent context-unique feature description (x0, {~0 IF}, Con) as follows. We initialize the context assignment Con so that x0 and all variables eont,dned in t are mapped to TRUE (they are regarded as relevant to all contexts). Then we obtMn the contexted feature term t' by replacing all occurences of variables in t which are embeddeg ded in disjunctions by their appropriate variants, such that ~J &amp;quot;~C:on TItUE 2.</Paragraph>
    <Paragraph position="26"> Proposition: if t does not contain the variable x0, and if Con and t' are obtained fi'om t as described above, then \[t~ ~.= ~(x0, {:co I t'},C0n)~. For a proof see \[l';isele/l)grre 90\].</Paragraph>
  </Section>
  <Section position="5" start_page="0" end_page="0" type="metho">
    <SectionTitle>
4 Normal Feature Descriptions
</SectionTitle>
    <Paragraph position="0"> One way to elimina:te a contexted wn:iable (take e.g. x/dl:l) from a description is to introduce a bifurcation (x J xl kl~ x2) and replace the variable by an appropriate variant (in this case xl). AnMogously, contexted variables with rnore coinplex context descriptions can be replaced by introducing several bifurcations. However, it turns out that our representation can be more compact if we allow for the use of contexted variables. But we have to prevent conflicting inlbrmation from being attached to variants of a variable. Our normal form will therefore allow the use of contexted variables in certain places, but in some cases, a pure variable has to be used.</Paragraph>
    <Paragraph position="1"> l c~ is extended to eontexted variables by: a(x/k)::::: c~(x) 2 \]in the sequel we will also assmne that inaccessible disjuncts resulting fi'om nested disjunctions with identical names (e.g. t2 in tl tad (t2 Md t3)) are removed.</Paragraph>
    <Paragraph position="2">  B) 'lThe following restrictions apply: t. \]f +-\[k\] aud x I~ aro in cuc, then Co.(~') A -,k is not contradictory 2, if x IX aud X I l\] are in CUC, then A = 1\] 3. if :el a and xlt are in CUC, then t = a 4. if x \] A and x I -~I3 are in CUC, then A ~ .B and 5. if x I~A and a' I~B are in C'UC, then A ~ B 6. if xlf: Y and m lf:Z are in CUC, then Y = Z 7. if _L\[k\] and .L\[k'\] are it, CUC, then k = k' 8. if x 12:1 lad ~;2 and x I t are ill C\[r(?, then t = ,';'21 Ud X2 4.? Simplification Rules for Normalization  Fo~: normalization, we have to consider all ways a context-unique feature description could fail to be normal, and we have to find an equivalent description that is in (or closer t.o) normal form. To this end, we give simp\]ification rules for each possible case. Since there are many different ways to violate normal form, we get a lot of different rules, but each of them is very simple and their correctness should be easy to see. The rules are parametrized with the root variable (which should not be substituted away) aml with th&lt; context assignment, which will be extended to new variabh:.s during s~implification. To facilit~te notation, we use c .~.; CUC to denote {c} u CUC where CUC is supposed no~ lo contain the constraint c, and C/fCx~,a denotes CUC with all oecurences of x replaced by y. Also, if we write d: b A k', then k' is supposed not to contain d: b. The eases we have to handle are grouped in those that treM single non-normal constraints (S) and those that treat interactious between different constraints (M).</Paragraph>
    <Paragraph position="3"> There are S-Rules for all forms of constraints which conflict wilh condition A), i.e. which are of our of the forms</Paragraph>
    <Paragraph position="5"> 4. xlt or xl-~t, where t has the form T, 2_ or z 5. x\]f:~l, where tl ~ Vc 6. xltl Flt2 r. :,:It~ uat2, where {h,t2} C/_ g  Among the situations in which a contexted variable x/k confliers with normal form, we have to distinguish severM cases. If \].: ~ 'I'RUF,, then the context description is irrelevant and we can replace x/k by x (Rule S~,,lb). Otherwise, if there exi:qts ah:eady a bifurcation x lxtLlaxr, such that k _~ d : bAk' for some b C {1, r} and k' C CD~, where k' does not contain d : b, then we can replace x/k by the shorter term :cb/k' (Rule S~,,lc). \]f there is a biflu:cation x \]:tt LJd z,- where d does not appear in k, the constraint attached to x/k is dist.ributed over the wtriablc.s :ct and x,. (Rule S~,,ld). In order to maintain context-uniqueness, the variables appearing in the constraint luLve to be replaced by their respective el:/. and d:r-w~riants. We use ilk as a shorthand for a eontexted feature term, where each variable has been replaced by its k-variant, i.e. z has been replaced by z/k and z'/k' by z'/(k' A k) (see also rule (M~8c), below). Only if no bifurcation exists for x we have to introduce a new bifttrcation (Rule S~,,le). We select a disjunction name d flom k such that k - d: b A k' for some b E {l, r} attd k' E CDC/, where k' does not contain d : b, we add a bifurcation x lxt Lid :/:,, to CUC, where act and x,. are new variables, and we extend Con by mapping x~ to Con(x)A d:l and x,- to Con(x)A d: r.</Paragraph>
    <Paragraph position="6"> Now we can replace x/k by xb/k'.</Paragraph>
    <Paragraph position="7"> The other rules handle equalities by substituting a variable by some other variable, eliminate redundant constraints, handle inconsistencies, or decompose constraints with complex feature terms into a set of simple constraints.</Paragraph>
    <Paragraph position="8"> 'l'he cases where a pair of constraints violates some of the conditions Ill-7 can be treated as for similar non-disjunctive rewrite systems (see \[Smolka 88\] or \[Eiscle/DSrre 9(/\]). Rules M~,\] - 7 handle those. When a bifurcation x Ix: tJdx2 occurs together with some other constraiut on z, this could lead to a contradiction with information known about xl and ace. ilere, we distingnish three cases, if the other constraint happens to be a bifurcation re I yl Lid Ye with the same disjuoction name d, we get equalities between both d: i-variants and both d:r-variants (Rule A/C/~8a). If the other constraint is a bifurcation x I yl Idol, y2 with a different disjunction name, then the. two disjunctions interact and have to be multiplied out for the wtriable x (lhlle 3/~,8b).</Paragraph>
    <Paragraph position="9"> To this cud, four new variables are introduced as variants of x attd new bifurcations are installed that link the new variables to those already in use. Con is extended for the new variables. In any other case, the constraint attached to x is distributed over both variants, and context descriptions for variables on the right-hand side of the constraint are introduced or adapted as required by context-uniqueness (tlule M~Sc).</Paragraph>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4.2 Soundness; Completeness and Ternfinatlon
</SectionTitle>
      <Paragraph position="0"> We can show that our simplification rules constitute an algorithna for the consistency (or unification) problem, which is sound andcompletc and guaranteed to terminate. For detailed proofs the reader is referred to \[Eisele/I)Srre 90\]. Below, we give the key intuitions or strategies for the proofs.</Paragraph>
      <Paragraph position="1"> Soundness can be seen by inspecting the rules. PSach rule rewrites a clause to one with an equivalent denotatlom To show that the algorithm Mways finds an answer, we first observe that to evcry context-unique feature description that is produced during translation or normalization aud that is not normal at le,'Lst one of the rules applies. When the result of simplification is the single constraint +-\[k I where k ~ &amp;quot;rRuI.:, this means that the description failed to unify.</Paragraph>
      <Paragraph position="2"> in any other case we cart construct models from the normal form result. The basic idea is to choose a context i~ which is not covered by the context description of a constraint Z\[k\] in our formula and 'project' the formula into this context by regarding 0nly those constrail,ts which are relevant to this context;, thereby degenerating bifurcations to nondisjunctive bindings a&amp;quot; I Y. This nondisjunctive set of constraints can be made into a modeh In order to prove termination we construct, a complexity measure for descriptions (a natural number) which is decreased in eve,'), rewrite step (see \[Eisele/DSrre 90\]). tIere we take advautage of the fact that although there are rules which increase the uumber of constraints and hence seem to add to complexity, these rules also can be seen as part. of an inherently irreversible process, since they distribute information M.tached to a variable over variables in more specific contexts. But since the number of dis,junction uames  where y is new and Con(y) := Con(x) --&amp;quot;~o,Co. xl&amp; &amp; xlt2 &amp; CUC --*xo,Co~ xlxtUdX. &amp; xtltt &amp; x,-lt, Xc CUC where {&amp;,t2} C/ V, Xb are new and Con(xb) := Con(x)A d:b</Paragraph>
      <Paragraph position="4"> &amp;quot;-+X 0 , Con ~-'~ x o , C o~ -~x 0 , CorL &amp;quot;-~x o , Con &amp;quot;-*x o , Con &amp;quot;-'-~x 0 , Con --'~Xo,COrt &amp;quot;&amp;quot;+x o , Co~ --+x o , Con --+xo,Con &amp;quot;-+x o , Con _l_\[k\] &amp; CUC, if Con(x) A -,k is contradictory xIGLB(A,B ) &amp; CUC x la &amp; y l-~a &amp; CUC x la gC/ Y INONE &amp; cue +-\[Con(x)\] ~5 CUC, if a _&lt; B x\[A &amp; CUC, if GLB(A,B) = +x\[~B &amp; CUC, ifA&lt;B xlf:Y &amp; ZIY &amp; CUC _l_\[k v k'\] &amp; CUC xlx~ uax~ s~ (cucw-x~)u:-x~_ xlxl LJdx x~ ~ xll!/a LAd2 zl ~ xzly2 Lla~ z'2 ylylkla~y~ &amp; zlzlt2at z2 ~ CUC, where dl :/: d2 and yl, y2, zl, z2 are new --*~o,Co, xlxaudz2 &amp; zalt/d:l $.~ z21t/d:r ~ CrfC  is limited, the contexts associated to variables can not be arbitrarily specific and hence, this process must terminate.</Paragraph>
    </Section>
    <Section position="2" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4.3 An Example
</SectionTitle>
      <Paragraph position="0"> Due to lack of space, our example can not demonstrate all capabilities of the formalisrn, but will concentrate on the treatment of disjunction and the support of structure sharing between different disjuncts. Assume as initial feature term f : (x N g : ta) V3 h : ((x Ud y) yl i : tI) where ta and t1 might be themselves complex. Translation to context-unique tbrm will produce the description (x0, {xolf : (x Ng : t'c;)Nh : ((x/d:lLAdy/d:r) Ni : t'D},Conl ) where t'~ and t} might contain contexted variables if necessary. Partial normalization then produces x0 \[x01h zlx/d:lUay/d: x~It) ' where the further decomposition of the constraints X t &amp;quot;alta, x~lt~ need not interest us. Since the bifurcation for z contains eontexted variables, it is replaced by zlz, Ud z~, zzlx/d: l, zrly/d: r, but the latter two constraints lead to the introduction of bifurcations also for x and y. Furthermore, the feature constraints on x and z are distributed over their respective variants. We eventually get: xo, ~ x\[.l ud z,., 6'o~3 ~,.1i : xz/d:r, % ~l~t Ud zr, Although the resulting description contains contexted variables which refer to variants of zc and :r~, we do not have to introduce bifurcations for these variables. Itcnce the information contained in constraints on the variables xa and xi is not duplicated, although both variables are used within a disjunction. However, if there would be more information on the values of the g- or /--features of z~, x~, or z~, for instance a constraint of the form z~lg : x', this would lead to the introduction of a bifurcation for xa, and some parts of the structure embedded under xa would have to be distributed over the variants of za. But the unfolding of the structure below xc. would be limited to the minimal necessary amount, since those parts of the structure that do not interact with information known about ~' could make use of contexted variables.</Paragraph>
      <Paragraph position="1"> Informally speaking, if we unify a structure with a disjunction, only those parts of the structure have to be copied that 104 5 interact with the information contained in the disjunction.</Paragraph>
    </Section>
    <Section position="3" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4,4 Algorithmic Considerations
</SectionTitle>
      <Paragraph position="0"> One major advant~ge of our treatment is its similarity with conventional rewrite systems for feature logic. Since we perlorm only conventionM substitution of variables (opposed to conditional substitution as in \[Maxwell/Kaplan 89\], see \[Eisele/Dgrre 90\] for a discussion), our system can be easily implemented in environments providing term unification (PnoLoc,), or the ahnost linear solution of the union/find problem could be exploited (see e.g. \[Aft-Kaci 84\]). The only essential extension we need concerns tire treatment of context descriptions. A context description contained in a contexted variable is always purely conjunctive, tIence the necessary operations (comparison with TRUe;, locating, adding or deleting a simple conjunct) can each be implemented by one simple list operation. In the constraint expressing inconsistent contexts (A_\[k\]), k is a disjunction of the inconsistencies found so far (which themselves are purely conjunctive). This could be also represented in a list of (purely conjunctive.) contexts. However, the exclusion of irrelevant constraints ~: It, where Con(x) is covered by k in +-\[k\], and the (final) test if k ~ TRUe involves a bit more propositional calculation. Since these tests might occur more often than the detection of a new inconsistency, it might be worthwile to use a representation that facilitates the test for entailment. In any case, the implementation can make use of fast bit-vector operations.</Paragraph>
    </Section>
  </Section>
class="xml-element"></Paper>
Download Original XML