ds_provider_sdworx_py_lib.serde.employment_update

File: employment_update.py Region: ds_provider_sdworx_py_lib/serde

Description

Serializer for SD Worx EmploymentUpdateRequest XML format.

Attributes

logger

DEFAULT_REQUEST_LEVEL_COLUMNS

DEFAULT_METADATA_COLUMNS

Classes

EmploymentUpdateSerializer

Serialize DataFrame to SD Worx EmploymentUpdateRequest XML format.

Module Contents

ds_provider_sdworx_py_lib.serde.employment_update.logger
ds_provider_sdworx_py_lib.serde.employment_update.DEFAULT_REQUEST_LEVEL_COLUMNS: set[str]
ds_provider_sdworx_py_lib.serde.employment_update.DEFAULT_METADATA_COLUMNS: set[str]
class ds_provider_sdworx_py_lib.serde.employment_update.EmploymentUpdateSerializer(*, request_level_columns: set[str] | None = None, metadata_columns: set[str] | None = None)[source]

Bases: ds_resource_plugin_py_lib.common.serde.serialize.base.DataSerializer

Serialize DataFrame to SD Worx EmploymentUpdateRequest XML format.

Expected columns after renaming:

  • CompanyNo, SSN, PersonCompanyEmploymentNo: request-level columns

  • ValidFrom, ValidUntil: date metadata columns

  • All other columns: become FieldValue elements

Example

import pandas as pd
from ds_provider_sdworx_py_lib.serde import EmploymentUpdateSerializer

serializer = EmploymentUpdateSerializer()
df = pd.DataFrame([{
    "CompanyNo": "001",
    "SSN": "12345678901",
    "PersonCompanyEmploymentNo": "E001",
    "ValidFrom": "2024-01-01",
    "ValidUntil": "2024-12-31",
    "Salary": "50000",
}])
xml_bytes = serializer(df)
request_level_columns
metadata_columns
_escape_xml(value: Any) str[source]

Escape XML special characters in value.

_build_xml_element(row: pandas.Series[Any]) list[str][source]

Build EmploymentUpdateRequest XML element for a single row.

__call__(obj: pandas.DataFrame, **_kwargs: Any) bytes[source]

Serialize DataFrame to EmploymentUpdateRequest XML bytes.

Each row becomes an EmploymentUpdateRequest element within a single EmploymentUpdateRequests root document.

Parameters:
  • obj – DataFrame with columns to serialize.

  • **kwargs – Additional keyword arguments (ignored).

Returns:

XML content as bytes (UTF-8 encoded).