[libxml2]Add libxml2 library

This commit is contained in:
zhoujiale
2026-07-26 16:57:28 +08:00
committed by zhoujiale
parent 0a44ec8a06
commit e841ac915d
3790 changed files with 668244 additions and 0 deletions
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- everything -->
ancestor-or-self::bar:Something
]
</XPath>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only text, elements or directly-used namespace nodes -->
ancestor-or-self::bar:Something and
((name() != "bar") or parent::bar:Something) and
((name() != "foo") or parent::foo:Something) and
((name() != "baz") or parent::baz:Something) and
((name() != "") or self::text())
]
</XPath>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only text, elements or directly-used namespace nodes -->
ancestor-or-self::bar:Something and
(self::text() or
(namespace-uri() != "") or
(string(self::node()) = namespace-uri(parent::node())))
]
</XPath>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only text, elements, or directly-used namespace nodes but not foo:Something -->
ancestor-or-self::bar:Something and
not (self::foo:Something) and
(self::text() or
(namespace-uri() != "") or
(string(self::node()) = namespace-uri(parent::node())))
]
</XPath>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- no namespace nodes; I am not in my parent's namespace axis -->
ancestor-or-self::bar:Something and
(count(parent::node()/namespace::*) !=
count(parent::node()/namespace::* | self::node()))
]
</XPath>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- no namespace nodes; I am text or have nonempty namespace URI -->
ancestor-or-self::bar:Something and
(self::text() or
(namespace-uri() != ""))
]
</XPath>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only namespace nodes -->
ancestor-or-self::bar:Something and
(count(parent::node()/namespace::*) =
count(parent::node()/namespace::* | self::node()))
]
</XPath>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only directly-used namespace nodes -->
ancestor-or-self::bar:Something and
(string(self::node()) = namespace-uri(parent::node()))
]
</XPath>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- no namespace nodes but the default on alternate elements -->
ancestor-or-self::bar:Something and
(self::text() or
(namespace-uri() != "") or
((name() = "") and
((count(ancestor-or-self::node()) mod 2) = 1)))
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- everything -->
ancestor-or-self::bar:Something
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only text, elements or directly-used namespace nodes -->
ancestor-or-self::bar:Something and
((name() != "bar") or parent::bar:Something) and
((name() != "foo") or parent::foo:Something) and
((name() != "baz") or parent::baz:Something) and
((name() != "") or self::text())
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only text, elements or directly-used namespace nodes -->
ancestor-or-self::bar:Something and
(self::text() or
(namespace-uri() != "") or
(string(self::node()) = namespace-uri(parent::node())))
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only text, elements, or directly-used namespace nodes but not foo:Something -->
ancestor-or-self::bar:Something and
not (self::foo:Something) and
(self::text() or
(namespace-uri() != "") or
(string(self::node()) = namespace-uri(parent::node())))
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- no namespace nodes; I am not in my parent's namespace axis -->
ancestor-or-self::bar:Something and
(count(parent::node()/namespace::*) !=
count(parent::node()/namespace::* | self::node()))
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- no namespace nodes; I am text or have nonempty namespace URI -->
ancestor-or-self::bar:Something and
(self::text() or
(namespace-uri() != ""))
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only namespace nodes -->
ancestor-or-self::bar:Something and
(count(parent::node()/namespace::*) =
count(parent::node()/namespace::* | self::node()))
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only directly-used namespace nodes -->
ancestor-or-self::bar:Something and
(string(self::node()) = namespace-uri(parent::node()))
]
</XPath>
@@ -0,0 +1 @@
#default
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<foo:Root xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xmlns="http://example.org/" xml:lang="en-ie">
<bar:Something>
<foo:Something>
<bar:Something>
<foo:Something>
<baz:Something />
</foo:Something>
</bar:Something>
</foo:Something>
</bar:Something>
</foo:Root>
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- no namespace nodes but the default on alternate elements -->
ancestor-or-self::bar:Something and
(self::text() or
(namespace-uri() != "") or
((name() = "") and
((count(ancestor-or-self::node()) mod 2) = 1)))
]
</XPath>
@@ -0,0 +1,18 @@
<!DOCTYPE doc [<!ATTLIST e9 attr CDATA "default">]>
<doc xmlns:foo="http://www.bar.org" xml:base="http://www.example.org/2002/">
<e1 />
<e2 ></e2>
<e3 name = "elem3" id="elem3" />
<e4 name="elem4" id="elem4" ></e4>
<e5 a:attr="out" b:attr="sorted" attr2="all" attr="I'm"
xmlns:b="http://www.ietf.org"
xmlns:a="http://www.w3.org"
xmlns="http://example.org"/>
<e6 xmlns="" test="../baz" xmlns:a="http://www.w3.org">
<e7 xmlns="http://www.ietf.org">
<e8 xmlns="" xmlns:a="http://www.w3.org" a:foo="bar">
<e9 xmlns="" xmlns:a="http://www.ietf.org"/>
</e8>
</e7>
</e6>
</doc>
@@ -0,0 +1,3 @@
<XPath>
(//. | //@* | //namespace::*)[ancestor-or-self::e6]
</XPath>
@@ -0,0 +1 @@
a
@@ -0,0 +1,18 @@
<!DOCTYPE doc [<!ATTLIST e9 attr CDATA "default">]>
<doc xmlns:foo="http://www.bar.org" xml:base="http://www.example.org/2002/">
<e1 />
<e2 ></e2>
<e3 name = "elem3" id="elem3" />
<e4 name="elem4" id="elem4" ></e4>
<e5 a:attr="out" b:attr="sorted" attr2="all" attr="I'm"
xmlns:b="http://www.ietf.org"
xmlns:a="http://www.w3.org"
xmlns="http://example.org"/>
<e6 xmlns="" test="../baz" xmlns:a="http://www.w3.org">
<e7 xmlns="http://www.ietf.org">
<e8 xmlns="" xmlns:a="http://www.w3.org" a:foo="bar">
<e9 xmlns="" xmlns:a="http://www.ietf.org"/>
</e8>
</e7>
</e6>
</doc>
@@ -0,0 +1,3 @@
<XPath>
(//. | //@* | //namespace::*)[ancestor-or-self::e6]
</XPath>
@@ -0,0 +1,20 @@
<?xml version="1.0"?>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<ds:CanonicalizationMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#ndid:1234-5678-0987">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>sj1VXDB2VMCU5qmva2OtDw3kKOs=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>...</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>...</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
@@ -0,0 +1,6 @@
<XPath xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
(//. | //@* | //namespace::*)
[
ancestor-or-self::ds:SignedInfo
]
</XPath>