# System.Xml

**Kind:** Service

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

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

NuGet package dependency

`System.Xml` is a NuGet package dependency for `Pams.Business`. It makes XML types available to business-layer code during restore and build, including code that reads or writes XML data.

## Diagram

```mermaid
sequenceDiagram
    participant Developer
    participant Project as Pams.Business.csproj
    participant NuGet
    participant Xml as System.Xml
    participant Business as Pams.Business code

    Developer->>Project: Build or restore project
    Project->>NuGet: Resolve package dependency
    NuGet->>Xml: Download referenced package
    Xml-->>Business: Make XML APIs available
```

## Usage

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

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

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

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

## AI Coding Instructions

- Treat `System.Xml` as a build-time NuGet dependency, not a JavaScript package.
- Restore the `Pams.Business.csproj` project before building code that references XML APIs.
- Keep XML parsing and serialization logic in the business layer when it belongs to business workflows.
- Check the project dependency declaration before changing package versions or removing the reference.
