Проверка XML с Schematron/XSD в C#

Вы можете использовать субъект поведения, чтобы сделать это.

service.ts

import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';

@Injectable()
export class DataService {

private messageSource = new BehaviorSubject('0');
currentMessage = this.messageSource.asObservable();

constructor() { }

changeNotification(number) {
this.messageSource.next(number)
}

}

parent.component.ts (Компонент уведомлений в вашем случае)

import { Component, OnInit } from '@angular/core';
import { DataService } from "../data.service";

@Component({
  selector: 'app-parent',
  template: `
    {{message}}
  `,
  styleUrls: ['./sibling.component.css']
})
export class ParentComponent implements OnInit {

  message:string;

  constructor(private data: DataService) { }

  ngOnInit() {
    this.data.changeNotification.subscribe(number => this.number = number)
  }

}

Когда происходит сбой, вы можете нажать на тему поведения, как,

constructor(private data: DataService) { }

 onFailure() {
    this.data.changeNotification("1")
  }

У вас может быть номер на уровне обслуживания, и вы можете увеличивать его при сбое и нажимать на него или как хотите.

11
задан reinierpost 23 May 2011 в 09:41
поделиться

1 ответ

Для меня это был мой опыт ...

У меня был моменты, когда я хотел бы, чтобы схемы могли делать больше по принципу проверки бизнес-правил. Однако, по моему опыту, существует схема для определения контракта данных (формат, типы и т. Д.) ... НЕ для обеспечения соблюдения бизнес-правил. Попытка сделать что-то большее, чем это, наталкивается на всевозможные проблемы, и, возможно, именно поэтому Schematron, похоже, утратил свою популярность (возможно, ошибочное предположение, что я не могу сделать резервную копию).

Чтобы обойти это, обычно можно использовать двухпроходный подход:

  • Проверять структуру / типы данных xml и т. Д., Используя проверку схемы.
  • Применять проверку бизнес-правил по xml (в обычном коде c #).

Я понимаю, если вы мы хотим использовать комплексный подход к проверке, но попытка использовать схему для этого вызывает больше головных болей в долгосрочной перспективе. В конце концов вы получите более точный контроль над проверкой бизнес-правил, изолировав код.

13
ответ дан 3 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: