/[suikacvs]/messaging/manakai/lib/Message/DOM/XDP.dis
Suika

Diff of /messaging/manakai/lib/Message/DOM/XDP.dis

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by wakaba, Sat May 13 12:06:21 2006 UTC revision 1.2 by wakaba, Mon May 15 12:06:09 2006 UTC
# Line 532  IFClsDef: Line 532  IFClsDef:
532                        
533          }          }
534    
535          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
536          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
537          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
538        @@@PerlDef:        @@@PerlDef:
# Line 619  IFClsDef: Line 619  IFClsDef:
619                        
620          }          }
621    
622          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
623          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
624          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
625        @@@PerlDef:        @@@PerlDef:
# Line 706  IFClsDef: Line 706  IFClsDef:
706                        
707          }          }
708    
709          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
710          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
711          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
712        @@@PerlDef:        @@@PerlDef:
# Line 792  IFClsDef: Line 792  IFClsDef:
792                        
793          }          }
794    
795          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
796          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
797          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
798        @@@PerlDef:        @@@PerlDef:
# Line 878  IFClsDef: Line 878  IFClsDef:
878                        
879          }          }
880    
881          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
882          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
883          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
884        @@@PerlDef:        @@@PerlDef:
# Line 964  IFClsDef: Line 964  IFClsDef:
964                        
965          }          }
966    
967          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
968          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
969          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
970        @@@PerlDef:        @@@PerlDef:
# Line 1050  IFClsDef: Line 1050  IFClsDef:
1050                        
1051          }          }
1052    
1053          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
1054          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
1055          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
1056        @@@PerlDef:        @@@PerlDef:
# Line 1137  IFClsDef: Line 1137  IFClsDef:
1137                        
1138          }          }
1139    
1140          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
1141          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
1142          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
1143        @@@PerlDef:        @@@PerlDef:
# Line 1225  IFClsDef: Line 1225  IFClsDef:
1225                        
1226          }          }
1227    
1228          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
1229          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
1230          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
1231        @@@PerlDef:        @@@PerlDef:
# Line 1313  IFClsDef: Line 1313  IFClsDef:
1313                        
1314          }          }
1315    
1316          If <IF::Text> nodes are created, its          If a <IF::Text> node is created, its
1317          <A::Text.isElementContentWhitespace> attribute value          <A::Text.isElementContentWhitespace> attribute value
1318          <kwd:MUST> be set to <DOM::false>.          <kwd:MUST> be set to <DOM::false>.
1319        @@@PerlDef:        @@@PerlDef:
# Line 1369  IFClsDef: Line 1369  IFClsDef:
1369    
1370          $test->id ('dtdText');          $test->id ('dtdText');
1371          $test->assert_equals ($el-><AG::XDPElement.dtdText>, '""');          $test->assert_equals ($el-><AG::XDPElement.dtdText>, '""');
1372    
1373      @Method:
1374        @@Name: createXDPCharRef
1375        @@enDesc:
1376          Creates an <XE::xdp|hcr> element.
1377        @@Param:
1378          @@@Name: value
1379          @@@Type: unsignedLong
1380          @@@enDesc:
1381            The code point of the character represented
1382            by the element to create.
1383        @@Return:
1384          @@@Type: XDPHCRElement
1385          @@@enDesc:
1386            The newly created element node.
1387    
1388            {P:: A new <IF::Element> node with following attributes
1389                 <kwd:MUST> be returned:
1390    
1391               - <A::Node.localName>::: <XE::hcr>.
1392    
1393               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1394    
1395               - <A::Node.ownerDocument>::: The document.
1396    
1397               - <A::Node.textContent>::: A hexadecimal representation
1398                     of the <P::value>, in upper case.
1399              
1400            }
1401    
1402            If a <IF::Text> node is created, its
1403            <A::Text.isElementContentWhitespace> attribute value
1404            <kwd:MUST> be set to <DOM::false>.
1405          @@@PerlDef:
1406            __DEEP{
1407              $r = $self-><M::Document.createElementNS> (<Q::xdp|>, 'hcr');
1408              $r-><AS::Node.textContent> (sprintf '%04X', $value);
1409            }__;
1410    
1411        @@Test:
1412          @@@QName: XDPDocument.createXDPCharRef.1.test
1413          @@@PerlDef:
1414            my $doc;
1415            __CODE{createXDPDocumentForTest}__;
1416    
1417            my $el = $doc-><M::XDPDocument.createXDPCharRef> (0x4E00);
1418    
1419            $test->id ('interface');
1420            $test->assert_isa ($el, <IFName::XDPHCRElement>);
1421    
1422            $test->id ('namespaceURI');
1423            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1424    
1425            $test->id ('localName');
1426            $test->assert_equals ($el-><AG::Node.localName>, 'hcr');
1427    
1428            $test->id ('textContent');
1429            $test->assert_equals ($el-><AG::Node.textContent>, '4E00');
1430    
1431            $test->id ('dtdText');
1432            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '&#x4E00;');
1433    
1434      @Method:
1435        @@Name: createXDPPERef
1436        @@dlp:methodName: create_xdp_peref
1437        @@enDesc:
1438          Creates a <XE::xdp|peref> element.
1439        @@Param:
1440          @@@Name: value
1441          @@@Type: DOMString
1442          @@@enDesc:
1443            The value of the element, i.e. the name of the
1444            parameter entity.
1445          @@@nullCase:
1446            @@@@enDesc:
1447              Same as an empty string.
1448        @@Return:
1449          @@@Type: XDPPERefElement
1450          @@@enDesc:
1451            The newly created element node.
1452    
1453            {P:: A new <IF::Element> node with following attributes
1454                 <kwd:MUST> be returned:
1455    
1456               - <A::Node.localName>::: <XE::peref>.
1457    
1458               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1459    
1460               - <A::Node.ownerDocument>::: The document.
1461    
1462               - <A::Node.textContent>::: <P::value>, or an empty
1463                                          string if <P::value> is <DOM::null>.
1464              
1465            }
1466    
1467            If a <IF::Text> node is created, its
1468            <A::Text.isElementContentWhitespace> attribute value
1469            <kwd:MUST> be set to <DOM::false>.
1470          @@@PerlDef:
1471            __DEEP{
1472              $r = $self-><M::Document.createElementNS>
1473                            (<Q::xdp|>, 'peref');
1474              $r-><AS::Node.textContent> (defined $value ? $value : '');
1475            }__;
1476    
1477        @@Test:
1478          @@@QName: XDPDocument.createXDPPERef.1.test
1479          @@@PerlDef:
1480            my $doc;
1481            __CODE{createXDPDocumentForTest}__;
1482    
1483            my $value = q<pename>;
1484            my $el = $doc-><M::XDPDocument.createXDPPERef> ($value);
1485    
1486            $test->id ('interface');
1487            $test->assert_isa ($el, <IFName::XDPPERefElement>);
1488    
1489            $test->id ('namespaceURI');
1490            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1491    
1492            $test->id ('localName');
1493            $test->assert_equals ($el-><AG::Node.localName>, 'peref');
1494    
1495            $test->id ('textContent');
1496            $test->assert_equals ($el-><AG::Node.textContent>, $value);
1497    
1498            $test->id ('dtdText');
1499            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '%'.$value.';');
1500        @@Test:
1501          @@@QName: XDPDocument.createXDPPERef.2.test
1502          @@@PerlDef:
1503            my $doc;
1504            __CODE{createXDPDocumentForTest}__;
1505    
1506            my $el = $doc-><M::XDPDocument.createXDPPERef> (null);
1507    
1508            $test->id ('interface');
1509            $test->assert_isa ($el, <IFName::XDPPERefElement>);
1510    
1511            $test->id ('namespaceURI');
1512            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1513    
1514            $test->id ('localName');
1515            $test->assert_equals ($el-><AG::Node.localName>, 'peref');
1516    
1517            $test->id ('textContent');
1518            $test->assert_equals ($el-><AG::Node.textContent>, '');
1519    
1520            $test->id ('dtdText');
1521            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '%;');
1522    
1523      @Method:
1524        @@Name: createXDPGERef
1525        @@dlp:methodName: create_xdp_geref
1526        @@enDesc:
1527          Creates a <XE::xdp|geref> element.
1528        @@Param:
1529          @@@Name: value
1530          @@@Type: DOMString
1531          @@@enDesc:
1532            The value of the element, i.e. the name of the
1533            general entity.
1534          @@@nullCase:
1535            @@@@enDesc:
1536              Same as an empty string.
1537        @@Return:
1538          @@@Type: XDPGERefElement
1539          @@@enDesc:
1540            The newly created element node.
1541    
1542            {P:: A new <IF::Element> node with following attributes
1543                 <kwd:MUST> be returned:
1544    
1545               - <A::Node.localName>::: <XE::geref>.
1546    
1547               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1548    
1549               - <A::Node.ownerDocument>::: The document.
1550    
1551               - <A::Node.textContent>::: <P::value>, or an empty
1552                                          string if <P::value> is <DOM::null>.
1553              
1554            }
1555    
1556            If a <IF::Text> node is created, its
1557            <A::Text.isElementContentWhitespace> attribute value
1558            <kwd:MUST> be set to <DOM::false>.
1559          @@@PerlDef:
1560            __DEEP{
1561              $r = $self-><M::Document.createElementNS>
1562                            (<Q::xdp|>, 'geref');
1563              $r-><AS::Node.textContent> (defined $value ? $value : '');
1564            }__;
1565    
1566        @@Test:
1567          @@@QName: XDPDocument.createXDPGERef.1.test
1568          @@@PerlDef:
1569            my $doc;
1570            __CODE{createXDPDocumentForTest}__;
1571    
1572            my $value = q<pename>;
1573            my $el = $doc-><M::XDPDocument.createXDPGERef> ($value);
1574    
1575            $test->id ('interface');
1576            $test->assert_isa ($el, <IFName::XDPGERefElement>);
1577    
1578            $test->id ('namespaceURI');
1579            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1580    
1581            $test->id ('localName');
1582            $test->assert_equals ($el-><AG::Node.localName>, 'geref');
1583    
1584            $test->id ('textContent');
1585            $test->assert_equals ($el-><AG::Node.textContent>, $value);
1586    
1587            $test->id ('dtdText');
1588            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '&'.$value.';');
1589        @@Test:
1590          @@@QName: XDPDocument.createXDPGERef.2.test
1591          @@@PerlDef:
1592            my $doc;
1593            __CODE{createXDPDocumentForTest}__;
1594    
1595            my $el = $doc-><M::XDPDocument.createXDPGERef> (null);
1596    
1597            $test->id ('interface');
1598            $test->assert_isa ($el, <IFName::XDPGERefElement>);
1599    
1600            $test->id ('namespaceURI');
1601            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1602    
1603            $test->id ('localName');
1604            $test->assert_equals ($el-><AG::Node.localName>, 'geref');
1605    
1606            $test->id ('textContent');
1607            $test->assert_equals ($el-><AG::Node.textContent>, '');
1608    
1609            $test->id ('dtdText');
1610            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '&;');
1611    
1612      @Method:
1613        @@Name: createXDPPAttr
1614        @@dlp:methodName: create_xdp_pattr
1615        @@enDesc:
1616          Creates a <XE::xdp|pattr> element.
1617        @@Param:
1618          @@@Name: name
1619          @@@Type: DOMString
1620          @@@enDesc:
1621            The name of the pseudo-attribute.
1622          @@@nullCase:
1623            @@@@enDesc:
1624              Same as an empty string.
1625        @@Param:
1626          @@@Name: value
1627          @@@Type: DOMString
1628          @@@enDesc:
1629            The value of the pseudo-attribute.
1630          @@@nullCase:
1631            @@@@enDesc:
1632              Same as an empty string.
1633        @@Return:
1634          @@@Type: XDPPAttrElement
1635          @@@enDesc:
1636            The newly created element node.
1637    
1638            {P:: A new <IF::Element> node with following attributes
1639                 <kwd:MUST> be returned:
1640    
1641               - <A::Node.localName>::: <XE::pattr>.
1642    
1643               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1644    
1645               - <A::Node.ownerDocument>::: The document.
1646    
1647               {LI:: <A::Node.childNodes>::: A new <IF::tc|NodeList> with
1648                         three nodes in this order:
1649    
1650                 {OLI::
1651    
1652                   - <A::Node.localName>::: <XE::name>.
1653    
1654                   - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1655    
1656                   - <A::Node.nodeType>::: <C::Node.ELEMENT_NODE>.
1657    
1658                   - <A::Node.ownerDocument>::: The document.
1659    
1660                   - <A::Node.textContent>::: <P::name>, or an empty
1661                                              string if <P::name> is <DOM::null>.
1662    
1663                 }
1664    
1665                 {OLI::
1666    
1667                   - <A::Node.localName>::: <XE::delimiter>.
1668    
1669                   - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1670    
1671                   - <A::Node.nodeType>::: <C::Node.ELEMENT_NODE>.
1672    
1673                   - <A::Node.ownerDocument>::: The document.
1674    
1675                   - <A::Node.textContent>::: <XML::=>.
1676    
1677                 }
1678    
1679                 {OLI::
1680    
1681                   - <A::Node.localName>::: <XE::attr-literal>.
1682    
1683                   - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1684    
1685                   - <A::Node.nodeType>::: <C::Node.ELEMENT_NODE>.
1686    
1687                   - <A::Node.ownerDocument>::: The document.
1688    
1689                   - <A::Node.textContent>::: <P::value>, or an empty
1690                                              string if <P::value> is <DOM::null>.
1691    
1692                 }
1693    
1694               }
1695              
1696            }
1697    
1698            If a <IF::Text> node is created, its
1699            <A::Text.isElementContentWhitespace> attribute value
1700            <kwd:MUST> be set to <DOM::false>.
1701          @@@PerlDef:
1702            __DEEP{
1703              $r = $self-><M::Document.createElementNS> (<Q::xdp|>, 'pattr');
1704              my $name_el = $self-><M::XDPDocument.createXDPName> ($name);
1705              $r-><M::Node.appendChild> ($name_el);
1706              my $vi_el = $self-><M::XDPDocument.createXDPDelimiter> ('=');
1707              $r-><M::Node.appendChild> ($vi_el);
1708              my $value_el = $self-><M::XDPDocument.createXDPAttrLiteral> ($value);
1709              $r-><M::Node.appendChild> ($value_el);
1710            }__;
1711    
1712        @@Test:
1713          @@@QName: XDPDocument.createXDPPAttr.1.test
1714          @@@PerlDef:
1715            my $doc;
1716            __CODE{createXDPDocumentForTest}__;
1717    
1718            my $el = $doc-><M::XDPDocument.createXDPPAttr> ('paname' => 'pavalue');
1719    
1720            $test->id ('interface');
1721            $test->assert_isa ($el, <IFName::XDPPAttrElement>);
1722    
1723            $test->id ('namespaceURI');
1724            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1725    
1726            $test->id ('localName');
1727            $test->assert_equals ($el-><AG::Node.localName>, 'pattr');
1728    
1729            $test->id ('dtdText');
1730            $test->assert_equals ($el-><AG::XDPElement.dtdText>, 'paname="pavalue"');
1731        @@Test:
1732          @@@QName: XDPDocument.createXDPPAttr.2.test
1733          @@@PerlDef:
1734            my $doc;
1735            __CODE{createXDPDocumentForTest}__;
1736    
1737            my $el = $doc-><M::XDPDocument.createXDPPAttr> (null, null);
1738    
1739            $test->id ('interface');
1740            $test->assert_isa ($el, <IFName::XDPPAttrElement>);
1741    
1742            $test->id ('namespaceURI');
1743            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1744    
1745            $test->id ('localName');
1746            $test->assert_equals ($el-><AG::Node.localName>, 'pattr');
1747    
1748            $test->id ('dtdText');
1749            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '=""');
1750    
1751      @Method:
1752        @@Name: createXDPTextDecl
1753        @@enDesc:
1754          Creates a <XE::xdp|text-decl> element.
1755        @@Param:
1756          @@@Name: version
1757          @@@Type: DOMString
1758          @@@enDesc:
1759            The value of the <XA::version> pseudo-attribute of
1760            the text declaration.
1761          @@@nullCase:
1762            @@@@enDesc:
1763              If <P::encoding> is also <DOM::null>, it is treated
1764              as if <XML::1.0> is specified.  Otherwise,
1765              no <XA::version> pseudo-attribute will appear.
1766        @@Param:
1767          @@@Name: encoding
1768          @@@Type: DOMString
1769          @@@enDesc:
1770            The value of the <XE::encoding> pseudo-attribute
1771            of the text declaration.
1772          @@@nullCase:
1773            @@@@enDesc:
1774              No <XA::encoding> pseudo-attribute will appear.
1775        @@Return:
1776          @@@Type: XDPTextDeclElement
1777          @@@enDesc:
1778            The newly created element node.
1779    
1780            {P:: A new <IF::Element> node with following attributes
1781                 <kwd:MUST> be returned:
1782    
1783               - <A::Node.localName>::: <XE::text-decl>.
1784    
1785               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1786    
1787               - <A::Node.ownerDocument>::: The document.
1788              
1789            }
1790    
1791            {P:: In addition, the returned node <kwd:MUST> have following
1792                 child nodes in order:
1793    
1794               = If <P::version> is different from <DOM::null> and / or
1795                 if <P::encoding> is <DOM::null>, an <CODE::S> node.
1796    
1797               = If <P::version> is different from <DOM::null> and / or
1798                 if <P::encoding> is <DOM::null>, a pseudo-attribute
1799                 node whose <VAR::name> is <XA::version> and
1800                 whose <VAR::value> is <P::version>, if it is
1801                 not <DOM::null>, or <XML::1.0>, otherwise.
1802    
1803               = An <CODE::S> node.
1804    
1805               = If <P::encoding> is different from <DOM::null>,
1806                 a pseudo-attribute node whose <VAR::name> is
1807                 <XA::encoding> and whose <VAR::value> is <P::encoding>.
1808    
1809            }
1810    
1811            {P:: <DFN::An <CODE::S> node> <kwd:MUST> be a <IF::Node>
1812                 that contains following attribute values:
1813    
1814                  - <A::Node.localName>::: <XE::s>.
1815    
1816                  - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1817    
1818                  - <A::Node.nodeType>::: <C::Node.ELEMENT_NODE>.
1819    
1820                  - <A::Node.ownerDocument>::: The document.
1821    
1822                  - <A::Node.textContent>::: A <CHAR::SPACE>.
1823    
1824            }
1825    
1826            <DFN::A pseudo-attribute node> with <VAR::name> and
1827            <VAR::value> <kwd:MUST> be a <IF::Node> that would be
1828            returned when the <A::XDPDocument.createXDPPAttr> method
1829            on the document with parameters <VAR::name> and <VAR::value>
1830            were invoked.
1831    
1832            If a <IF::Text> node is created, its
1833            <A::Text.isElementContentWhitespace> attribute value
1834            <kwd:MUST> be set to <DOM::false>.
1835          @@@PerlDef:
1836            __DEEP{
1837              $r = $self-><M::Document.createElementNS> (<Q::xdp|>, 'text-decl');
1838              if (defined $version or not defined $encoding) {
1839                $r-><M::Node.appendChild> ($self-><M::XDPDocument.createXDPS> (' '));
1840                my $ver_el = $self-><M::XDPDocument.createXDPPAttr>
1841                                      (version => defined $version
1842                                                    ? $version : '1.0');
1843                $r-><M::Node.appendChild> ($ver_el);
1844              }
1845              if (defined $encoding) {
1846                $r-><M::Node.appendChild> ($self-><M::XDPDocument.createXDPS> (' '));
1847                my $enc_el = $self-><M::XDPDocument.createXDPPAttr>
1848                                      (encoding => $encoding);
1849                $r-><M::Node.appendChild> ($enc_el);
1850              }
1851            }__;
1852    
1853        @@Test:
1854          @@@QName: XDPDocument.createXDPTextDecl.1.test
1855          @@@PerlDef:
1856            my $doc;
1857            __CODE{createXDPDocumentForTest}__;
1858    
1859            my $el = $doc-><M::XDPDocument.createXDPTextDecl> ('1.1', 'utf-8');
1860    
1861            $test->id ('interface');
1862            $test->assert_isa ($el, <IFName::XDPTextDeclElement>);
1863    
1864            $test->id ('namespaceURI');
1865            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1866    
1867            $test->id ('localName');
1868            $test->assert_equals ($el-><AG::Node.localName>, 'text-decl');
1869    
1870            $test->id ('dtdText');
1871            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
1872                                  '<?xml version="1.1" encoding="utf-8"?>');
1873        @@Test:
1874          @@@QName: XDPDocument.createXDPTextDecl.2.test
1875          @@@PerlDef:
1876            my $doc;
1877            __CODE{createXDPDocumentForTest}__;
1878    
1879            my $el = $doc-><M::XDPDocument.createXDPTextDecl> ('1.1');
1880    
1881            $test->id ('interface');
1882            $test->assert_isa ($el, <IFName::XDPTextDeclElement>);
1883    
1884            $test->id ('namespaceURI');
1885            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1886    
1887            $test->id ('localName');
1888            $test->assert_equals ($el-><AG::Node.localName>, 'text-decl');
1889    
1890            $test->id ('dtdText');
1891            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
1892                                  '<?xml version="1.1"?>');
1893        @@Test:
1894          @@@QName: XDPDocument.createXDPTextDecl.3.test
1895          @@@PerlDef:
1896            my $doc;
1897            __CODE{createXDPDocumentForTest}__;
1898    
1899            my $el = $doc-><M::XDPDocument.createXDPTextDecl> (null, 'utf-8');
1900    
1901            $test->id ('interface');
1902            $test->assert_isa ($el, <IFName::XDPTextDeclElement>);
1903    
1904            $test->id ('namespaceURI');
1905            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1906    
1907            $test->id ('localName');
1908            $test->assert_equals ($el-><AG::Node.localName>, 'text-decl');
1909    
1910            $test->id ('dtdText');
1911            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
1912                                  '<?xml encoding="utf-8"?>');
1913        @@Test:
1914          @@@QName: XDPDocument.createXDPTextDecl.4.test
1915          @@@PerlDef:
1916            my $doc;
1917            __CODE{createXDPDocumentForTest}__;
1918    
1919            my $el = $doc-><M::XDPDocument.createXDPTextDecl>;
1920    
1921            $test->id ('interface');
1922            $test->assert_isa ($el, <IFName::XDPTextDeclElement>);
1923    
1924            $test->id ('namespaceURI');
1925            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
1926    
1927            $test->id ('localName');
1928            $test->assert_equals ($el-><AG::Node.localName>, 'text-decl');
1929    
1930            $test->id ('dtdText');
1931            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
1932                                  '<?xml version="1.0"?>');
1933    
1934      @Method:
1935        @@Name: createXDPPI
1936        @@dlp:methodName: create_xdp_pi
1937        @@enDesc:
1938          Creates a <XE::xdp|pi> element.
1939        @@Param:
1940          @@@Name: target
1941          @@@Type: DOMString
1942          @@@enDesc:
1943            The target of the processing instruction.
1944          @@@nullCase:
1945            @@@@enDesc:
1946              Same as an empty string.
1947        @@Param:
1948          @@@Name: data
1949          @@@Type: DOMString
1950          @@@enDesc:
1951            The content of the processing instruction.
1952          @@@nullCase:
1953            @@@@enDesc:
1954              No <CODE::S> is inserted after the target.
1955        @@Return:
1956          @@@Type: XDPPIElement
1957          @@@enDesc:
1958            The newly created element node.
1959    
1960            {P:: A new <IF::Element> node with following attributes
1961                 <kwd:MUST> be returned:
1962    
1963               - <A::Node.localName>::: <XE::pi>.
1964    
1965               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1966    
1967               - <A::Node.ownerDocument>::: The document.
1968              
1969            }
1970    
1971            If the <P::value> is different from <DOM::null>,
1972            the returned value <kwd:MUST> contain two or three child
1973            element nodes: the target node, an <CODE::S> node,
1974            and if the length of <P::value> is greater than zero,
1975            the data node.  Otherwise, it <kwd:MUST> contain
1976            one child element node: the target node.
1977    
1978            {P:: <DFM::The target node> <kwd:MUST> be a <IF::Node>
1979                 that contains following attribute values:
1980    
1981                  - <A::Node.localName>::: <XE::name>.
1982    
1983                  - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
1984    
1985                  - <A::Node.nodeType>::: <C::Node.ELEMENT_NODE>.
1986    
1987                  - <A::Node.ownerDocument>::: The document.
1988    
1989                  - <A::Node.textContent>::: <P::target>, or an empty
1990                                              string if <P::target> is <DOM::null>.
1991    
1992            }
1993    
1994            {P:: <DFN::An <CODE::S> node> <kwd:MUST> be a <IF::Node>
1995                 that contains following attribute values:
1996    
1997                  - <A::Node.localName>::: <XE::s>.
1998    
1999                  - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
2000    
2001                  - <A::Node.nodeType>::: <C::Node.ELEMENT_NODE>.
2002    
2003                  - <A::Node.ownerDocument>::: The document.
2004    
2005                  - <A::Node.textContent>::: A <CHAR::SPACE>.
2006    
2007            }
2008    
2009            {P:: <DFM::The data node> <kwd:MUST> be a <IF::Node>
2010                 that contains following attribute values:
2011    
2012                  - <A::Node.nodeType>::: <C::Node.TEXT_NODE>.
2013    
2014                  - <A::Node.ownerDocument>::: The document.
2015    
2016                  - <A::Node.textContent>::: <P::data>.
2017    
2018            }
2019    
2020            If a <IF::Text> node are created, its
2021            <A::Text.isElementContentWhitespace> attribute value
2022            <kwd:MUST> be set to <DOM::false>.
2023          @@@PerlDef:
2024            __DEEP{
2025              $r = $self-><M::Document.createElementNS> (<Q::xdp|>, 'pi');
2026              $r-><M::Node.appendChild>
2027                    ($self-><M::XDPDocument.createXDPName> ($target));
2028              if (defined $data) {
2029                $r-><M::Node.appendChild> ($self-><M::XDPDocument.createXDPS> (' '));
2030                $r-><M::Node.manakaiAppendText> ($data) if length $data;
2031              }
2032            }__;
2033    
2034        @@Test:
2035          @@@QName: XDPDocument.createXDPPI.1.test
2036          @@@PerlDef:
2037            my $doc;
2038            __CODE{createXDPDocumentForTest}__;
2039    
2040            my $el = $doc-><M::XDPDocument.createXDPPI> ('pitarget', 'pidata');
2041    
2042            $test->id ('interface');
2043            $test->assert_isa ($el, <IFName::XDPPIElement>);
2044    
2045            $test->id ('namespaceURI');
2046            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2047    
2048            $test->id ('localName');
2049            $test->assert_equals ($el-><AG::Node.localName>, 'pi');
2050    
2051            $test->id ('dtdText');
2052            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2053                                  '<?pitarget pidata?>');
2054    
2055            $test->id ('length');
2056            $test->assert_num_equals
2057                     (actual_value => 0+@{$el-><AG::Node.childNodes>},
2058                      expected_value => 3);
2059        @@Test:
2060          @@@QName: XDPDocument.createXDPPI.2.test
2061          @@@PerlDef:
2062            my $doc;
2063            __CODE{createXDPDocumentForTest}__;
2064    
2065            my $el = $doc-><M::XDPDocument.createXDPPI> ('pitarget');
2066    
2067            $test->id ('interface');
2068            $test->assert_isa ($el, <IFName::XDPPIElement>);
2069    
2070            $test->id ('namespaceURI');
2071            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2072    
2073            $test->id ('localName');
2074            $test->assert_equals ($el-><AG::Node.localName>, 'pi');
2075    
2076            $test->id ('dtdText');
2077            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2078                                  '<?pitarget?>');
2079    
2080            $test->id ('length');
2081            $test->assert_num_equals
2082                     (actual_value => 0+@{$el-><AG::Node.childNodes>},
2083                      expected_value => 1);
2084        @@Test:
2085          @@@QName: XDPDocument.createXDPPI.3.test
2086          @@@PerlDef:
2087            my $doc;
2088            __CODE{createXDPDocumentForTest}__;
2089    
2090            my $el = $doc-><M::XDPDocument.createXDPPI> (null, 'pidata');
2091    
2092            $test->id ('interface');
2093            $test->assert_isa ($el, <IFName::XDPPIElement>);
2094    
2095            $test->id ('namespaceURI');
2096            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2097    
2098            $test->id ('localName');
2099            $test->assert_equals ($el-><AG::Node.localName>, 'pi');
2100    
2101            $test->id ('dtdText');
2102            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2103                                  '<? pidata?>');
2104    
2105            $test->id ('length');
2106            $test->assert_num_equals
2107                     (actual_value => 0+@{$el-><AG::Node.childNodes>},
2108                      expected_value => 3);
2109        @@Test:
2110          @@@QName: XDPDocument.createXDPPI.4.test
2111          @@@PerlDef:
2112            my $doc;
2113            __CODE{createXDPDocumentForTest}__;
2114    
2115            my $el = $doc-><M::XDPDocument.createXDPPI>;
2116    
2117            $test->id ('interface');
2118            $test->assert_isa ($el, <IFName::XDPPIElement>);
2119    
2120            $test->id ('namespaceURI');
2121            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2122    
2123            $test->id ('localName');
2124            $test->assert_equals ($el-><AG::Node.localName>, 'pi');
2125    
2126            $test->id ('dtdText');
2127            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '<??>');
2128    
2129            $test->id ('length');
2130            $test->assert_num_equals
2131                     (actual_value => 0+@{$el-><AG::Node.childNodes>},
2132                      expected_value => 1);
2133    
2134      @Method:
2135        @@Name: createXDPComment
2136        @@enDesc:
2137          Creates a <XE::xdp|comment> element.
2138        @@Param:
2139          @@@Name: value
2140          @@@Type: DOMString
2141          @@@enDesc:
2142            The value of the element, i.e. the content of the comment.
2143          @@@nullCase:
2144            @@@@enDesc:
2145              Same as an empty string.
2146        @@Return:
2147          @@@Type: XDPCommentElement
2148          @@@enDesc:
2149            The newly created element node.
2150    
2151            {P:: A new <IF::Element> node with following attributes
2152                 <kwd:MUST> be returned:
2153    
2154               - <A::Node.localName>::: <XE::comment>.
2155    
2156               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
2157    
2158               - <A::Node.ownerDocument>::: The document.
2159    
2160               - <A::Node.textContent>::: <P::value>, or an empty
2161                                          string if <P::value> is <DOM::null>.
2162              
2163            }
2164    
2165            If a <IF::Text> node is created, its
2166            <A::Text.isElementContentWhitespace> attribute value
2167            <kwd:MUST> be set to <DOM::false>.
2168          @@@PerlDef:
2169            __DEEP{
2170              $r = $self-><M::Document.createElementNS>
2171                            (<Q::xdp|>, 'comment');
2172              $r-><AS::Node.textContent> (defined $value ? $value : '');
2173            }__;
2174    
2175        @@Test:
2176          @@@QName: XDPDocument.createXDPComment.1.test
2177          @@@PerlDef:
2178            my $doc;
2179            __CODE{createXDPDocumentForTest}__;
2180    
2181            my $value = q<pename>;
2182            my $el = $doc-><M::XDPDocument.createXDPComment> ($value);
2183    
2184            $test->id ('interface');
2185            $test->assert_isa ($el, <IFName::XDPCommentElement>);
2186    
2187            $test->id ('namespaceURI');
2188            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2189    
2190            $test->id ('localName');
2191            $test->assert_equals ($el-><AG::Node.localName>, 'comment');
2192    
2193            $test->id ('textContent');
2194            $test->assert_equals ($el-><AG::Node.textContent>, $value);
2195    
2196            $test->id ('dtdText');
2197            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2198                                  '<!--'.$value.'-->');
2199        @@Test:
2200          @@@QName: XDPDocument.createXDPComment.2.test
2201          @@@PerlDef:
2202            my $doc;
2203            __CODE{createXDPDocumentForTest}__;
2204    
2205            my $el = $doc-><M::XDPDocument.createXDPComment> (null);
2206    
2207            $test->id ('interface');
2208            $test->assert_isa ($el, <IFName::XDPCommentElement>);
2209    
2210            $test->id ('namespaceURI');
2211            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2212    
2213            $test->id ('localName');
2214            $test->assert_equals ($el-><AG::Node.localName>, 'comment');
2215    
2216            $test->id ('textContent');
2217            $test->assert_equals ($el-><AG::Node.textContent>, '');
2218    
2219            $test->id ('dtdText');
2220            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '<!---->');
2221    
2222      @Method:
2223        @@Name: createXDPMarkedSectionStatus
2224        @@enDesc:
2225          Creates a <XE::xdp|marked-section-status> element.
2226        @@Param:
2227          @@@Name: value
2228          @@@Type: DOMString
2229          @@@enDesc:
2230            The value of the element.
2231          @@@nullCase:
2232            @@@@enDesc:
2233              Same as an empty string.
2234        @@Return:
2235          @@@Type: XDPMarkedSectionStatusElement
2236          @@@enDesc:
2237            The newly created element node.
2238    
2239            {P:: A new <IF::Element> node with following attributes
2240                 <kwd:MUST> be returned:
2241    
2242               - <A::Node.localName>::: <XE::marked-section-status>.
2243    
2244               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
2245    
2246               - <A::Node.ownerDocument>::: The document.
2247    
2248            }
2249    
2250            {P:: If <P::value> is not <DOM::null> and its length
2251                 is greater than zero, the returned node <kwd:MUST>
2252                 contain a <IF::Element> with following attributes:
2253    
2254               - <A::Node.localName>::: <XE::keyword>.
2255    
2256               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
2257    
2258               - <A::Node.ownerDocument>::: The document.
2259    
2260               - <A::Node.textContent>::: <P::value>.
2261              
2262            }
2263    
2264            If a <IF::Text> node is created, its
2265            <A::Text.isElementContentWhitespace> attribute value
2266            <kwd:MUST> be set to <DOM::false>.
2267          @@@PerlDef:
2268            __DEEP{
2269              $r = $self-><M::Document.createElementNS>
2270                            (<Q::xdp|>, 'marked-section-status');
2271              if (defined $value and length $value) {
2272                $r-><M::Node.appendChild>
2273                      ($self-><M::XDPDocument.createXDPKeyword> ($value));
2274              }
2275            }__;
2276    
2277        @@Test:
2278          @@@QName: XDPDocument.createXDPMarkedSectionStatus.1.test
2279          @@@PerlDef:
2280            my $doc;
2281            __CODE{createXDPDocumentForTest}__;
2282    
2283            my $value = q<INCLUDE>;
2284            my $el = $doc-><M::XDPDocument.createXDPMarkedSectionStatus> ($value);
2285    
2286            $test->id ('interface');
2287            $test->assert_isa ($el, <IFName::XDPMarkedSectionStatusElement>);
2288    
2289            $test->id ('namespaceURI');
2290            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2291    
2292            $test->id ('localName');
2293            $test->assert_equals ($el-><AG::Node.localName>,
2294                                  'marked-section-status');
2295    
2296            $test->id ('textContent');
2297            $test->assert_equals ($el-><AG::Node.textContent>, $value);
2298    
2299            $test->id ('dtdText');
2300            $test->assert_equals ($el-><AG::XDPElement.dtdText>, $value.'[');
2301        @@Test:
2302          @@@QName: XDPDocument.createXDPMarkedSectionStatus.2.test
2303          @@@PerlDef:
2304            my $doc;
2305            __CODE{createXDPDocumentForTest}__;
2306    
2307            my $el = $doc-><M::XDPDocument.createXDPMarkedSectionStatus> (null);
2308    
2309            $test->id ('interface');
2310            $test->assert_isa ($el, <IFName::XDPMarkedSectionStatusElement>);
2311    
2312            $test->id ('namespaceURI');
2313            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2314    
2315            $test->id ('localName');
2316            $test->assert_equals ($el-><AG::Node.localName>,
2317                                  'marked-section-status');
2318    
2319            $test->id ('textContent');
2320            $test->assert_equals ($el-><AG::Node.textContent>, '');
2321    
2322            $test->id ('dtdText');
2323            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '[');
2324    
2325      @Method:
2326        @@Name: createXDPMarkedSection
2327        @@enDesc:
2328          Creates a <XE::xdp|marked-section> element.
2329        @@Param:
2330          @@@Name: status
2331          @@@Type: DOMString
2332          @@@enDesc:
2333            The status value of the marked section.
2334          @@@nullCase:
2335            @@@@enDesc:
2336              Same as an empty string.
2337        @@Param:
2338          @@@Name: value
2339          @@@Type: DOMString
2340          @@@enDesc:
2341            The value of the marked section.
2342          @@@nullCase:
2343            @@@@enDesc:
2344              Same as an empty string.
2345        @@Return:
2346          @@@Type: XDPMarkedSectionElement
2347          @@@enDesc:
2348            The newly created element node.
2349    
2350            {P:: A new <IF::Element> node with following attributes
2351                 <kwd:MUST> be returned:
2352    
2353               - <A::Node.localName>::: <XE::marked-section>.
2354    
2355               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
2356    
2357               - <A::Node.ownerDocument>::: The document.
2358              
2359            }
2360    
2361            The returned <IF::Element> node <kwd:MUST> contain
2362            a child node that would be returned when the
2363            <M::XDPDocument.createXDPMarkedSectionStatus> method
2364            on the document is invoked with <P::status> as a parameter.
2365    
2366            {P:: If <P::value> is not <DOM::null> and the length of
2367                 <P::value> is greater than zero, the
2368                 <XE::xdp|marked-section-status> <IF::Element> node
2369                 <kwd:MUST> have a <A::Node.nextSibling> <IF::Node>
2370                 with following attributes:
2371    
2372               - <A::Node.nodeType>::: <C::Node.TEXT_NODE>.
2373    
2374               - <A::Node.ownerDocument>::: The document.
2375    
2376               - <A::Node.textContent>::: <P::content>, or an empty
2377                                          string if <P::content> is <DOM::null>.
2378    
2379            }
2380    
2381            If a <IF::Text> node is created, its
2382            <A::Text.isElementContentWhitespace> attribute value
2383            <kwd:MUST> be set to <DOM::false>.
2384          @@@PerlDef:
2385            __DEEP{
2386              $r = $self-><M::Document.createElementNS>
2387                            (<Q::xdp|>, 'marked-section');
2388              my $mss_el = $self-><M::XDPDocument.createXDPMarkedSectionStatus>
2389                                    ($status);
2390              $r-><M::Node.appendChild> ($mss_el);
2391              $r-><M::Node.manakaiAppendText> ($value)
2392                if defined $value and length $value;
2393            }__;
2394    
2395        @@Test:
2396          @@@QName: XDPDocument.createXDPMarkedSection.1.test
2397          @@@PerlDef:
2398            my $doc;
2399            __CODE{createXDPDocumentForTest}__;
2400    
2401            my $el = $doc-><M::XDPDocument.createXDPMarkedSection> ('IGNORE', 'a');
2402    
2403            $test->id ('interface');
2404            $test->assert_isa ($el, <IFName::XDPMarkedSectionElement>);
2405    
2406            $test->id ('namespaceURI');
2407            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2408    
2409            $test->id ('localName');
2410            $test->assert_equals ($el-><AG::Node.localName>, 'marked-section');
2411    
2412            $test->id ('dtdText');
2413            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '<![IGNORE[a]]>');
2414        @@Test:
2415          @@@QName: XDPDocument.createXDPMarkedSection.2.test
2416          @@@PerlDef:
2417            my $doc;
2418            __CODE{createXDPDocumentForTest}__;
2419    
2420            my $el = $doc-><M::XDPDocument.createXDPMarkedSection> ('IGNORE');
2421    
2422            $test->id ('interface');
2423            $test->assert_isa ($el, <IFName::XDPMarkedSectionElement>);
2424    
2425            $test->id ('namespaceURI');
2426            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2427    
2428            $test->id ('localName');
2429            $test->assert_equals ($el-><AG::Node.localName>, 'marked-section');
2430    
2431            $test->id ('dtdText');
2432            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '<![IGNORE[]]>');
2433        @@Test:
2434          @@@QName: XDPDocument.createXDPMarkedSection.3.test
2435          @@@PerlDef:
2436            my $doc;
2437            __CODE{createXDPDocumentForTest}__;
2438    
2439            my $el = $doc-><M::XDPDocument.createXDPMarkedSection> (null, 'a');
2440    
2441            $test->id ('interface');
2442            $test->assert_isa ($el, <IFName::XDPMarkedSectionElement>);
2443    
2444            $test->id ('namespaceURI');
2445            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2446    
2447            $test->id ('localName');
2448            $test->assert_equals ($el-><AG::Node.localName>, 'marked-section');
2449    
2450            $test->id ('dtdText');
2451            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '<![[a]]>');
2452        @@Test:
2453          @@@QName: XDPDocument.createXDPMarkedSection.4.test
2454          @@@PerlDef:
2455            my $doc;
2456            __CODE{createXDPDocumentForTest}__;
2457    
2458            my $el = $doc-><M::XDPDocument.createXDPMarkedSection>;
2459    
2460            $test->id ('interface');
2461            $test->assert_isa ($el, <IFName::XDPMarkedSectionElement>);
2462    
2463            $test->id ('namespaceURI');
2464            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2465    
2466            $test->id ('localName');
2467            $test->assert_equals ($el-><AG::Node.localName>, 'marked-section');
2468    
2469            $test->id ('dtdText');
2470            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '<![[]]>');
2471    
2472      @Method:
2473        @@Name: createXDPNotation
2474        @@enDesc:
2475          Creates a <XE::xdp|notation> element.
2476        @@Param:
2477          @@@Name: name
2478          @@@Type: DOMString
2479          @@@enDesc:
2480            The name of the declaration.
2481          @@@nullCase:
2482            @@@@enDesc:
2483              All parameters are ignored.
2484        @@Param:
2485          @@@Name: publicId
2486          @@@Type: DOMString
2487          @@@enDesc:
2488            The public identifier in the declaration.
2489          @@@nullCase:
2490            @@@@enDesc:
2491              No public identifier.
2492        @@Param:
2493          @@@Name: systemId
2494          @@@Type: DOMString
2495          @@@enDesc:
2496            The system identifier in the declaration.
2497          @@@nullCase:
2498            @@@@enDesc:
2499              No system identifier.
2500        @@Return:
2501          @@@Type: XDPNotationElement
2502          @@@enDesc:
2503            The newly created element node.
2504    
2505            {P:: A new <IF::Element> node with following attributes
2506                 <kwd:MUST> be returned:
2507    
2508               - <A::Node.localName>::: <XE::notation>.
2509    
2510               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
2511    
2512               - <A::Node.ownerDocument>::: The document.
2513              
2514            }
2515    
2516            {P:: A series of nodes <kwd:MUST> be associated to the returned
2517                 node as if the following algorithm were applied:
2518    
2519               = If <P::name> is <DOM::null>, stop the algorithm.
2520    
2521               = Create a node by <M::XDPDocument.createXDPS> on the document with
2522                 a <CHAR::SPACE> as a parameter and append the
2523                 node to the returned element by the <M::Node.appendChild> method.
2524    
2525               = Create a node by <M::XDPDocument.createXDPName> on the document
2526                 with <P::name> as a parameter and append the
2527                 node to the returned element by the <M::Node.appendChild> method.
2528    
2529               {OLI:: If <P::publicId> is different from <DOM::null>,
2530    
2531                 = Create a node by <M::XDPDocument.createXDPS> on the document with
2532                   a <CHAR::SPACE> as a parameter and append the
2533                   node to the returned element by the <M::Node.appendChild> method.
2534    
2535                 = Create a node by <M::XDPDocument.createXDPKeyword>
2536                   on the document with a string <XML::PUBLIC> as
2537                   a parameter and append the
2538                   node to the returned element by the <M::Node.appendChild> method.
2539    
2540                 = Create a node by <M::XDPDocument.createXDPS> on the document with
2541                   a <CHAR::SPACE> as a parameter and append the
2542                   node to the returned element by the <M::Node.appendChild> method.
2543    
2544                 = Create a node by <M::XDPDocument.createXDPMinimumLiteral>
2545                   on the document with <P::publicId> as a parameter
2546                   and append the node to the returned element by
2547                   the <M::Node.appendChild> method.
2548    
2549               }
2550    
2551               {OLI:: If <P::systemId> is different from <DOM::null> and
2552                      <P::publicId> is <DOM::null>,
2553    
2554                 = Create a node by <M::XDPDocument.createXDPS> on the document with
2555                   a <CHAR::SPACE> as a parameter and append the
2556                   node to the returned element by the <M::Node.appendChild> method.
2557    
2558                 = Create a node by <M::XDPDocument.createXDPKeyword>
2559                   on the document with a string <XML::SYSTEM> as
2560                   a parameter and append the
2561                   node to the returned element by the <M::Node.appendChild> method.
2562    
2563               }
2564    
2565               {OLI:: If <P::systemId> is different from <DOM::null> and
2566                      <P::publicId> is <DOM::null>,
2567    
2568                 = Create a node by <M::XDPDocument.createXDPS> on the document with
2569                   a <CHAR::SPACE> as a parameter and append the
2570                   node to the returned element by the <M::Node.appendChild> method.
2571    
2572                 = Create a node by <M::XDPDocument.createXDPSystemLiteral>
2573                   on the document with <P::systemId> as a parameter
2574                   and append the node to the returned element by
2575                   the <M::Node.appendChild> method.
2576    
2577               }
2578    
2579            }
2580          @@@PerlDef:
2581            __DEEP{
2582              $r = $self-><M::Document.createElementNS> (<Q::xdp|>, 'notation');
2583              if (defined $name) {
2584                $r-><M::Node.appendChild>
2585                      ($self-><M::XDPDocument.createXDPS> (' '));
2586                $r-><M::Node.appendChild>
2587                      ($self-><M::XDPDocument.createXDPName> ($name));
2588    
2589                if (defined $publicId) {
2590                  $r-><M::Node.appendChild>
2591                        ($self-><M::XDPDocument.createXDPS> (' '));
2592                  $r-><M::Node.appendChild>
2593                        ($self-><M::XDPDocument.createXDPKeyword> ('PUBLIC'));
2594                  $r-><M::Node.appendChild>
2595                        ($self-><M::XDPDocument.createXDPS> (' '));
2596                  $r-><M::Node.appendChild>
2597                        ($self-><M::XDPDocument.createXDPMinimumLiteral>
2598                                  ($publicId));
2599                  if (defined $systemId) {
2600                    $r-><M::Node.appendChild>
2601                          ($self-><M::XDPDocument.createXDPS> (' '));
2602                    $r-><M::Node.appendChild>
2603                          ($self-><M::XDPDocument.createXDPSystemLiteral>
2604                                    ($systemId));
2605                  }
2606                } elsif (defined $systemId) {
2607                  $r-><M::Node.appendChild>
2608                        ($self-><M::XDPDocument.createXDPS> (' '));
2609                  $r-><M::Node.appendChild>
2610                        ($self-><M::XDPDocument.createXDPKeyword> ('SYSTEM'));
2611                  $r-><M::Node.appendChild>
2612                        ($self-><M::XDPDocument.createXDPS> (' '));
2613                  $r-><M::Node.appendChild>
2614                        ($self-><M::XDPDocument.createXDPSystemLiteral>
2615                                  ($systemId));
2616                }
2617              }
2618            }__;
2619    
2620        @@Test:
2621          @@@QName: XDPDocument.createXDPNotation.1.test
2622          @@@PerlDef:
2623            my $doc;
2624            __CODE{createXDPDocumentForTest}__;
2625    
2626            my $el = $doc-><M::XDPDocument.createXDPNotation>
2627                             ('iname', 'pubid', 'sysid');
2628    
2629            $test->id ('interface');
2630            $test->assert_isa ($el, <IFName::XDPNotationElement>);
2631    
2632            $test->id ('namespaceURI');
2633            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2634    
2635            $test->id ('localName');
2636            $test->assert_equals ($el-><AG::Node.localName>, 'notation');
2637    
2638            $test->id ('dtdText');
2639            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2640                                  '<!NOTATION iname PUBLIC "pubid" "sysid">');
2641        @@Test:
2642          @@@QName: XDPDocument.createXDPNotation.2.test
2643          @@@PerlDef:
2644            my $doc;
2645            __CODE{createXDPDocumentForTest}__;
2646    
2647            my $el = $doc-><M::XDPDocument.createXDPNotation>
2648                             ('iname', 'pubid');
2649    
2650            $test->id ('dtdText');
2651            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2652                                  '<!NOTATION iname PUBLIC "pubid">');
2653        @@Test:
2654          @@@QName: XDPDocument.createXDPNotation.3.test
2655          @@@PerlDef:
2656            my $doc;
2657            __CODE{createXDPDocumentForTest}__;
2658    
2659            my $el = $doc-><M::XDPDocument.createXDPNotation>
2660                             ('iname');
2661    
2662            $test->id ('dtdText');
2663            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2664                                  '<!NOTATION iname>');
2665        @@Test:
2666          @@@QName: XDPDocument.createXDPNotation.4.test
2667          @@@PerlDef:
2668            my $doc;
2669            __CODE{createXDPDocumentForTest}__;
2670    
2671            my $el = $doc-><M::XDPDocument.createXDPNotation>;
2672    
2673            $test->id ('dtdText');
2674            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2675                                  '<!NOTATION>');
2676        @@Test:
2677          @@@QName: XDPDocument.createXDPNotation.5.test
2678          @@@PerlDef:
2679            my $doc;
2680            __CODE{createXDPDocumentForTest}__;
2681    
2682            my $el = $doc-><M::XDPDocument.createXDPNotation>
2683                             ('iname', null, 'sysid');
2684    
2685            $test->id ('dtdText');
2686            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2687                                  '<!NOTATION iname SYSTEM "sysid">');
2688        @@Test:
2689          @@@QName: XDPDocument.createXDPNotation.6.test
2690          @@@PerlDef:
2691            my $doc;
2692            __CODE{createXDPDocumentForTest}__;
2693    
2694            my $el = $doc-><M::XDPDocument.createXDPNotation>
2695                             (null, null, 'sysid');
2696    
2697            $test->id ('dtdText');
2698            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2699                                  '<!NOTATION>');
2700        @@Test:
2701          @@@QName: XDPDocument.createXDPNotation.7.test
2702          @@@PerlDef:
2703            my $doc;
2704            __CODE{createXDPDocumentForTest}__;
2705    
2706            my $el = $doc-><M::XDPDocument.createXDPNotation>
2707                             (null, 'pubid');
2708    
2709            $test->id ('dtdText');
2710            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2711                                  '<!NOTATION>');
2712        @@Test:
2713          @@@QName: XDPDocument.createXDPNotation.8.test
2714          @@@PerlDef:
2715            my $doc;
2716            __CODE{createXDPDocumentForTest}__;
2717    
2718            my $el = $doc-><M::XDPDocument.createXDPNotation>
2719                             (null, 'pubid', 'sysid');
2720    
2721            $test->id ('dtdText');
2722            $test->assert_equals ($el-><AG::XDPElement.dtdText>,
2723                                  '<!NOTATION>');
2724    
2725      @Method:
2726        @@Name: createXDPEntity
2727        @@enDesc:
2728          Creates a <XE::xdp|entity> element.
2729        @@Param:
2730          @@@Name: isPE
2731          @@@Type: boolean
2732          @@@enDesc:
2733            Whether the declaration declares a parameter entity or not.
2734          @@@TrueCase:
2735            @@@@enDesc:
2736              The declaration declares a parameter entity.  A <XML::%>
2737              delimiter will be appended to the return node.
2738          @@@FalseCase:
2739            @@@@enDesc:
2740              The declaration is not known to declare a parameter entity.
2741        @@Param:
2742          @@@Name: name
2743          @@@Type: DOMString
2744          @@@enDesc:
2745            The name of the declaration.
2746          @@@nullCase:
2747            @@@@enDesc:
2748              All parameters are ignored.
2749        @@Param:
2750          @@@Name: value
2751          @@@Type: DOMString
2752          @@@enDesc:
2753            The literal replacement text of the declaration.
2754          @@@nullCase:
2755            @@@@enDesc:
2756              Same as an empty string or no entity value in the declaration,
2757              depending on whether the <P::publicId> parameters are <DOM::null>
2758              or not.
2759        @@Param:
2760          @@@Name: publicId
2761          @@@Type: DOMString
2762          @@@enDesc:
2763            The public identifier in the declaration.
2764          @@@nullCase:
2765            @@@@enDesc:
2766              No public identifier.
2767        @@Param:
2768          @@@Name: systemId
2769          @@@Type: DOMString
2770          @@@enDesc:
2771            The system identifier in the declaration.
2772          @@@nullCase:
2773            @@@@enDesc:
2774              No system identifier.
2775        @@Param:
2776          @@@Name: notation
2777          @@@Type: DOMString
2778          @@@enDesc:
2779            The notation name in the declaration.
2780          @@@nullCase:
2781            @@@@enDesc:
2782              No notation name.
2783        @@Return:
2784          @@@Type: XDPEntityElement
2785          @@@enDesc:
2786            The newly created element node.
2787    
2788            {P:: A new <IF::Element> node with following attributes
2789                 <kwd:MUST> be returned:
2790    
2791               - <A::Node.localName>::: <XE::entity>.
2792    
2793               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
2794    
2795               - <A::Node.ownerDocument>::: The document.
2796              
2797            }
2798    
2799            {P:: A series of nodes <kwd:MUST> be associated to the returned
2800                 node as if the following algorithm were applied:
2801    
2802               {OLI:: If <P::isPE> is <DOM::true>,
2803    
2804                     = Create a node by <M::XDPDocument.createXDPS> on the
2805                       document with a <CHAR::SPACE> as a parameter and append the
2806                       node to the returned element by the <M::Node.appendChild>
2807                       method.
2808    
2809                     = Create a node by <M::XDPDocument.createXDPDelimiter>
2810                       on the document with a <CHAR::PERCENT SIGN> as a parameter
2811                       and append the node to the returned element by the
2812                       <M::Node.appendChild> method.
2813    
2814               }
2815    
2816               = If <P::name> is <DOM::null>, stop the algorithm.
2817    
2818               = Create a node by <M::XDPDocument.createXDPS> on the document with
2819                 a <CHAR::SPACE> as a parameter and append the
2820                 node to the returned element by the <M::Node.appendChild> method.
2821    
2822               = Create a node by <M::XDPDocument.createXDPName> on the document
2823                 with <P::name> as a parameter and append the
2824                 node to the returned element by the <M::Node.appendChild> method.
2825    
2826               {OLI:: If <P::systemId> is different from <DOM::null>,
2827    
2828                 {OLI:: If <P::publicId> is different from <DOM::null>,
2829      
2830                   = Create a node by <M::XDPDocument.createXDPS> on the document
2831                     with a <CHAR::SPACE> as a parameter and append the
2832                     node to the returned element by the <M::Node.appendChild>
2833                     method.
2834    
2835                   = Create a node by <M::XDPDocument.createXDPKeyword>
2836                     on the document with a string <XML::PUBLIC> as
2837                     a parameter and append the
2838                     node to the returned element by the <M::Node.appendChild>
2839                     method.
2840    
2841                   = Create a node by <M::XDPDocument.createXDPS> on the document
2842                     with a <CHAR::SPACE> as a parameter and append the
2843                     node to the returned element by the <M::Node.appendChild>
2844                     method.
2845    
2846                   = Create a node by <M::XDPDocument.createXDPMinimumLiteral>
2847                     on the document with <P::publicId> as a parameter
2848                     and append the node to the returned element by
2849                     the <M::Node.appendChild> method.
2850    
2851                 }
2852    
2853                 {OLI:: Otherwise,
2854    
2855                   = Create a node by <M::XDPDocument.createXDPS> on the document
2856                     with a <CHAR::SPACE> as a parameter and append the
2857                     node to the returned element by the <M::Node.appendChild>
2858                     method.
2859    
2860                   = Create a node by <M::XDPDocument.createXDPKeyword>
2861                     on the document with a string <XML::SYSTEM> as
2862                     a parameter and append the
2863                     node to the returned element by the <M::Node.appendChild>
2864                     method.
2865    
2866                 }
2867    
2868                 = Create a node by <M::XDPDocument.createXDPS> on the document with
2869                   a <CHAR::SPACE> as a parameter and append the
2870                   node to the returned element by the <M::Node.appendChild> method.
2871    
2872                 = Create a node by <M::XDPDocument.createXDPSystemLiteral>
2873                   on the document with <P::systemId> as a parameter
2874                   and append the node to the returned element by
2875                   the <M::Node.appendChild> method.
2876    
2877                 {OLI:: If <P::notation> is different from <DOM::null>
2878                        and <P::isPE> is <DOM::false>,
2879    
2880                   = Create a node by <M::XDPDocument.createXDPS> on the document
2881                     with a <CHAR::SPACE> as a parameter and append the
2882                     node to the returned element by the <M::Node.appendChild>
2883                     method.
2884    
2885                   = Create a node by <M::XDPDocument.createXDPKeyword>
2886                     on the document with a string <XML::NDATA> as
2887                     a parameter and append the
2888                     node to the returned element by the <M::Node.appendChild>
2889                     method.
2890    
2891                   = Create a node by <M::XDPDocument.createXDPS> on the document
2892                     with a <CHAR::SPACE> as a parameter and append the
2893                     node to the returned element by the <M::Node.appendChild>
2894                     method.
2895      
2896                   = Create a node by <M::XDPDocument.createXDPName>
2897                     on the document with <P::notation> as a parameter
2898                     and append the node to the returned element by
2899                     the <M::Node.appendChild> method.
2900    
2901                 }
2902    
2903               }
2904    
2905               {OLI:: Otherwise,
2906    
2907                 = Create a node by <M::XDPDocument.createXDPS> on the document with
2908                   a <CHAR::SPACE> as a parameter and append the
2909                   node to the returned element by the <M::Node.appendChild> method.
2910    
2911                 = Create a node by <M::XDPDocument.createXDPEntityValue>
2912                   on the document with <P::value> as a parameter
2913                   and append the node to the returned element by
2914                   the <M::Node.appendChild> method.
2915    
2916               }
2917    
2918            }
2919          @@@PerlDef:
2920            __DEEP{
2921              $r = $self-><M::Document.createElementNS> (<Q::xdp|>, 'entity');
2922              if ($isPE) {
2923                $r-><M::Node.appendChild>
2924                      ($self-><M::XDPDocument.createXDPS> (' '));
2925                $r-><M::Node.appendChild>
2926                      ($self-><M::XDPDocument.createXDPDelimiter> ('%'));
2927              }
2928              if (defined $name) {
2929                $r-><M::Node.appendChild>
2930                      ($self-><M::XDPDocument.createXDPS> (' '));
2931                $r-><M::Node.appendChild>
2932                      ($self-><M::XDPDocument.createXDPName> ($name));
2933    
2934                if (defined $systemId) {
2935                  if (defined $publicId) {
2936                    $r-><M::Node.appendChild>
2937                          ($self-><M::XDPDocument.createXDPS> (' '));
2938                    $r-><M::Node.appendChild>
2939                          ($self-><M::XDPDocument.createXDPKeyword> ('PUBLIC'));
2940                    $r-><M::Node.appendChild>
2941                          ($self-><M::XDPDocument.createXDPS> (' '));
2942                    $r-><M::Node.appendChild>
2943                          ($self-><M::XDPDocument.createXDPMinimumLiteral>
2944                                    ($publicId));
2945                    $r-><M::Node.appendChild>
2946                          ($self-><M::XDPDocument.createXDPS> (' '));
2947                    $r-><M::Node.appendChild>
2948                          ($self-><M::XDPDocument.createXDPSystemLiteral>
2949                                    ($systemId));
2950                  } else {
2951                    $r-><M::Node.appendChild>
2952                          ($self-><M::XDPDocument.createXDPS> (' '));
2953                    $r-><M::Node.appendChild>
2954                          ($self-><M::XDPDocument.createXDPKeyword> ('SYSTEM'));
2955                    $r-><M::Node.appendChild>
2956                          ($self-><M::XDPDocument.createXDPS> (' '));
2957                    $r-><M::Node.appendChild>
2958                          ($self-><M::XDPDocument.createXDPSystemLiteral>
2959                                    ($systemId));
2960                  }
2961    
2962                  if (defined $notation and not $isPE) {
2963                    $r-><M::Node.appendChild>
2964                          ($self-><M::XDPDocument.createXDPS> (' '));
2965                    $r-><M::Node.appendChild>
2966                          ($self-><M::XDPDocument.createXDPKeyword> ('NDATA'));
2967                    $r-><M::Node.appendChild>
2968                          ($self-><M::XDPDocument.createXDPS> (' '));
2969                    $r-><M::Node.appendChild>
2970                          ($self-><M::XDPDocument.createXDPName> ($notation));
2971                  }
2972                } else {
2973                  $r-><M::Node.appendChild>
2974                        ($self-><M::XDPDocument.createXDPS> (' '));
2975                  $r-><M::Node.appendChild>
2976                        ($self-><M::XDPDocument.createXDPEntityValue> ($value));
2977                }
2978              }
2979            }__;
2980    
2981        @@Test:
2982          @@@QName: XDPDocument.createXDPEntity.1.test
2983          @@@PerlDef:
2984            my $doc;
2985            __CODE{createXDPDocumentForTest}__;
2986    
2987            my $el = $doc-><M::XDPDocument.createXDPEntity>
2988                             (true, 'iname', 'evalue', 'pubid', 'sysid', 'nname');
2989    
2990            $test->id ('interface');
2991            $test->assert_isa ($el, <IFName::XDPEntityElement>);
2992    
2993            $test->id ('namespaceURI');
2994            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
2995    
2996            $test->id ('localName');
2997            $test->assert_equals ($el-><AG::Node.localName>, 'entity');
2998    
2999            $test->id ('dtdText');
3000            $test->assert_equals
3001                     ($el-><AG::XDPElement.dtdText>,
3002                      '<!ENTITY % iname PUBLIC "pubid" "sysid">');
3003        @@Test:
3004          @@@QName: XDPDocument.createXDPEntity.2.test
3005          @@@PerlDef:
3006            my $doc;
3007            __CODE{createXDPDocumentForTest}__;
3008    
3009            my $el = $doc-><M::XDPDocument.createXDPEntity>
3010                             (false, 'iname', 'evalue', 'pubid', 'sysid', 'nname');
3011    
3012            $test->id ('dtdText');
3013            $test->assert_equals
3014                     ($el-><AG::XDPElement.dtdText>,
3015                      '<!ENTITY iname PUBLIC "pubid" "sysid" NDATA nname>');
3016        @@Test:
3017          @@@QName: XDPDocument.createXDPEntity.3.test
3018          @@@PerlDef:
3019            my $doc;
3020            __CODE{createXDPDocumentForTest}__;
3021    
3022            my $el = $doc-><M::XDPDocument.createXDPEntity>
3023                             (false, 'iname', 'evalue', 'pubid', 'sysid');
3024    
3025            $test->id ('dtdText');
3026            $test->assert_equals
3027                     ($el-><AG::XDPElement.dtdText>,
3028                      '<!ENTITY iname PUBLIC "pubid" "sysid">');
3029        @@Test:
3030          @@@QName: XDPDocument.createXDPEntity.4.test
3031          @@@PerlDef:
3032            my $doc;
3033            __CODE{createXDPDocumentForTest}__;
3034    
3035            my $el = $doc-><M::XDPDocument.createXDPEntity>
3036                             (true, 'iname', 'evalue', 'pubid', 'sysid');
3037    
3038            $test->id ('dtdText');
3039            $test->assert_equals
3040                     ($el-><AG::XDPElement.dtdText>,
3041                      '<!ENTITY % iname PUBLIC "pubid" "sysid">');
3042        @@Test:
3043          @@@QName: XDPDocument.createXDPEntity.5.test
3044          @@@PerlDef:
3045            my $doc;
3046            __CODE{createXDPDocumentForTest}__;
3047    
3048            my $el = $doc-><M::XDPDocument.createXDPEntity>
3049                             (false, 'iname', 'evalue', null, 'sysid');
3050    
3051            $test->id ('dtdText');
3052            $test->assert_equals
3053                     ($el-><AG::XDPElement.dtdText>,
3054                      '<!ENTITY iname SYSTEM "sysid">');
3055        @@Test:
3056          @@@QName: XDPDocument.createXDPEntity.6.test
3057          @@@PerlDef:
3058            my $doc;
3059            __CODE{createXDPDocumentForTest}__;
3060    
3061            my $el = $doc-><M::XDPDocument.createXDPEntity>
3062                             (true, 'iname', 'evalue', null, 'sysid');
3063    
3064            $test->id ('dtdText');
3065            $test->assert_equals
3066                     ($el-><AG::XDPElement.dtdText>,
3067                      '<!ENTITY % iname SYSTEM "sysid">');
3068        @@Test:
3069          @@@QName: XDPDocument.createXDPEntity.7.test
3070          @@@PerlDef:
3071            my $doc;
3072            __CODE{createXDPDocumentForTest}__;
3073    
3074            my $el = $doc-><M::XDPDocument.createXDPEntity>
3075                             (false, 'iname', 'evalue');
3076    
3077            $test->id ('dtdText');
3078            $test->assert_equals
3079                     ($el-><AG::XDPElement.dtdText>,
3080                      '<!ENTITY iname "evalue">');
3081        @@Test:
3082          @@@QName: XDPDocument.createXDPEntity.8.test
3083          @@@PerlDef:
3084            my $doc;
3085            __CODE{createXDPDocumentForTest}__;
3086    
3087            my $el = $doc-><M::XDPDocument.createXDPEntity>
3088                             (true, 'iname', 'evalue');
3089    
3090            $test->id ('dtdText');
3091            $test->assert_equals
3092                     ($el-><AG::XDPElement.dtdText>,
3093                      '<!ENTITY % iname "evalue">');
3094        @@Test:
3095          @@@QName: XDPDocument.createXDPEntity.9.test
3096          @@@PerlDef:
3097            my $doc;
3098            __CODE{createXDPDocumentForTest}__;
3099    
3100            my $el = $doc-><M::XDPDocument.createXDPEntity>
3101                             (false, 'iname');
3102    
3103            $test->id ('dtdText');
3104            $test->assert_equals
3105                     ($el-><AG::XDPElement.dtdText>,
3106                      '<!ENTITY iname "">');
3107        @@Test:
3108          @@@QName: XDPDocument.createXDPEntity.10.test
3109          @@@PerlDef:
3110            my $doc;
3111            __CODE{createXDPDocumentForTest}__;
3112    
3113            my $el = $doc-><M::XDPDocument.createXDPEntity>
3114                             (false);
3115    
3116            $test->id ('dtdText');
3117            $test->assert_equals
3118                     ($el-><AG::XDPElement.dtdText>,
3119                      '<!ENTITY>');
3120        @@Test:
3121          @@@QName: XDPDocument.createXDPEntity.11.test
3122          @@@PerlDef:
3123            my $doc;
3124            __CODE{createXDPDocumentForTest}__;
3125    
3126            my $el = $doc-><M::XDPDocument.createXDPEntity>
3127                             (true);
3128    
3129            $test->id ('dtdText');
3130            $test->assert_equals
3131                     ($el-><AG::XDPElement.dtdText>,
3132                      '<!ENTITY %>');
3133    
3134      @Method:
3135        @@Name: createXDPEnumGroup
3136        @@enDesc:
3137          Creates a <XE::xdp|enum-group> element.
3138        @@Return:
3139          @@@Type: XDPEnumGroupElement
3140          @@@enDesc:
3141            The newly created element node.
3142    
3143            {P:: A new <IF::Element> node with following attributes
3144                 <kwd:MUST> be returned:
3145    
3146               - <A::Node.localName>::: <XE::enum-group>.
3147    
3148               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
3149    
3150               - <A::Node.ownerDocument>::: The document.
3151              
3152            }
3153          @@@PerlDef:
3154            __DEEP{
3155              $r = $self-><M::Document.createElementNS>
3156                            (<Q::xdp|>, 'enum-group');
3157            }__;
3158    
3159        @@Test:
3160          @@@QName: XDPDocument.createXDPEnumGroup.1.test
3161          @@@PerlDef:
3162            my $doc;
3163            __CODE{createXDPDocumentForTest}__;
3164    
3165            my $el = $doc-><M::XDPDocument.createXDPEnumGroup>;
3166    
3167            $test->id ('interface');
3168            $test->assert_isa ($el, <IFName::XDPEnumGroupElement>);
3169    
3170            $test->id ('namespaceURI');
3171            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
3172    
3173            $test->id ('localName');
3174            $test->assert_equals ($el-><AG::Node.localName>, 'enum-group');
3175    
3176            $test->id ('dtdText');
3177            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '()');
3178    
3179      @Method:
3180        @@Name: createXDPModelGroup
3181        @@enDesc:
3182          Creates a <XE::xdp|model-group> element.
3183        @@Return:
3184          @@@Type: XDPModelGroupElement
3185          @@@enDesc:
3186            The newly created element node.
3187    
3188            {P:: A new <IF::Element> node with following attributes
3189                 <kwd:MUST> be returned:
3190    
3191               - <A::Node.localName>::: <XE::model-group>.
3192    
3193               - <A::Node.namespaceURI>::: <URI^^DISCore|QName::xdp|>.
3194    
3195               - <A::Node.ownerDocument>::: The document.
3196              
3197            }
3198          @@@PerlDef:
3199            __DEEP{
3200              $r = $self-><M::Document.createElementNS>
3201                            (<Q::xdp|>, 'model-group');
3202            }__;
3203    
3204        @@Test:
3205          @@@QName: XDPDocument.createXDPModelGroup.1.test
3206          @@@PerlDef:
3207            my $doc;
3208            __CODE{createXDPDocumentForTest}__;
3209    
3210            my $el = $doc-><M::XDPDocument.createXDPModelGroup>;
3211    
3212            $test->id ('interface');
3213            $test->assert_isa ($el, <IFName::XDPModelGroupElement>);
3214    
3215            $test->id ('namespaceURI');
3216            $test->assert_equals ($el-><AG::Node.namespaceURI>, <Q::xdp|>);
3217    
3218            $test->id ('localName');
3219            $test->assert_equals ($el-><AG::Node.localName>, 'model-group');
3220    
3221            $test->id ('dtdText');
3222            $test->assert_equals ($el-><AG::XDPElement.dtdText>, '()');
3223  ##XDPDocument  ##XDPDocument
3224    
3225  IFClsDef:  IFClsDef:
# Line 1679  IFClsETDef: Line 3530  IFClsETDef:
3530        @@@PerlDef:        @@@PerlDef:
3531          $r = $self->SUPER::dtd_text;          $r = $self->SUPER::dtd_text;
3532          $r =~ s/\?>/?&gt;/g;          $r =~ s/\?>/?&gt;/g;
3533          $r = '<?'.$r.'?>';          $r = '<?xml'.$r.'?>';
3534  ##XDPTextDeclElement  ##XDPTextDeclElement
3535    
3536  IFClsETDef:  IFClsETDef:

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24