Example #1
0
def test_get_node():
    """Test getting node from XML string with namespaces."""
    body = """
    <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
    <ListRecords xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
    <record>
        <metadata>
            <slim:record xmlns:slim="http://www.loc.gov/MARC21/slim" type="Bibliographic">
                <slim:datafield>This is the record.</slim:datafield>
            </slim:record>
        </metadata>
    </record>
    </ListRecords>
    """
    namespaces = [
        ("OAI-PMH", "http://www.openarchives.org/OAI/2.0/"),
        ("slim", "http://www.loc.gov/MARC21/slim"),
    ]
    node = get_node(text=body, namespaces=namespaces)
    record = node.xpath("//slim:record/slim:datafield/text()").extract_first()

    assert node
    assert record == "This is the record."
Example #2
0
def test_get_node():
    """Test getting node from XML string with namespaces."""
    body = """
    <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
    <ListRecords xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
    <record>
        <metadata>
            <slim:record xmlns:slim="http://www.loc.gov/MARC21/slim" type="Bibliographic">
                <slim:datafield>This is the record.</slim:datafield>
            </slim:record>
        </metadata>
    </record>
    </ListRecords>
    """
    namespaces = [
        ("OAI-PMH", "http://www.openarchives.org/OAI/2.0/"),
        ("slim", "http://www.loc.gov/MARC21/slim"),
    ]
    node = get_node(text=body, namespaces=namespaces)
    record = node.xpath("//slim:record/slim:datafield/text()").extract_first()

    assert node
    assert record == "This is the record."