# System.Xml

**Kind:** Service

**Source:** `Pams/Logic/Pams.CurrencyConverter/Pams.CurrencyConverter.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`System.Xml` is a NuGet package dependency declared by the `Pams.CurrencyConverter` project. It supplies XML-related .NET APIs that the currency converter can reference during build and runtime.

## Diagram

```mermaid
sequenceDiagram
    participant Build as Build Tool
    participant Project as Pams.CurrencyConverter
    participant Package as System.Xml
    participant Runtime as Currency Converter Runtime

    Build->>Project: Restore project dependencies
    Project->>Package: Resolve System.Xml reference
    Build->>Project: Compile referenced XML APIs
    Project->>Runtime: Run currency converter
    Runtime->>Package: Access XML APIs when needed
```

## Usage

```ts
import { execFileSync } from "node:child_process";

const projectPath =
  "Pams/Logic/Pams.CurrencyConverter/Pams.CurrencyConverter.csproj";

execFileSync("dotnet", ["restore", projectPath], {
  stdio: "inherit",
});

execFileSync("dotnet", ["build", projectPath], {
  stdio: "inherit",
});
```

## AI Coding Instructions

- Keep the `System.Xml` dependency aligned with the project’s legacy package reference format.
- Restore the project before building when dependency resolution errors occur.
- Add XML parsing or serialization code in the .NET project that references this package, not in TypeScript callers.
- Check for framework compatibility before changing the package reference or project target framework.

## Used by

7 references from 7 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Injected or called by (7)

- `Pams.API` — `Pams/API/Pams.API/Pams.API.csproj`:1
- `Pams.Security` — `Pams/Core/Pams.Security/Pams.Security.csproj`:1
- `Pams.Data` — `Pams/Data/Pams.Data/Pams.Data.csproj`:1
- `HelperTool` — `Pams/HelperTool/HelperTool.csproj`:1
- `Pams.Common` — `Pams/Logic/Common/Pams.Common.csproj`:1
- `Pams.Business` — `Pams/Logic/Pams.Business/Pams.Business.csproj`:1
- `Pams.CurrencyConverter` — `Pams/Logic/Pams.CurrencyConverter/Pams.CurrencyConverter.csproj`:1
