2011-01-07 4 views
0

양식에 대한 XSD까지 인터넷에 많은 문서가 있다는 것을 알고 있습니다. 그러나 제 상황에 대해 충분히 이해할 수는 없습니다..NET의 XSD에서 동적 양식 작성

.xsd xml 스키마를 가져 오는 WCF 웹 서비스로 작업 중이며 .xsd xml 스키마를 기반으로하는 양식의 HTML을 반환해야합니다. 이것으로 도울 수있는 제 3 자 도구가 있습니까? 그렇다면 무엇입니까? 그렇지 않다면, 어떻게 할 수 있는지에 대한 제안이나 더 나은 방법 등이 있습니까?

답변

1

XSD 구문 분석하기 어려운,하지만 당신은 쉽게 xsd.exe/클래스를 호출하거나 아름다운 샘플 다음과 같은 런타임 수행하여, 그것으로부터 클래스를 얻을 수 있습니다 : 사용할 수있는 XSD를 나타내는 클래스에 따라서 http://mikehadlow.blogspot.com/2007/01/writing-your-own-xsdexe.html 반사 HTML 코드를 만들 수 있습니다.

+0

이 방법을 사용하면 반사를 사용하여 HTML 코드를 만드는 방법에 대한 제안이 있습니까? 나는 C#을 알고 있고, 리플렉션을 사용한 경험이 전혀 없다. 그렇지 않다면 올바른 방향으로 나를 가리킬 수 있습니까? – TheJediCowboy

+1

xsd에 의해 생성 된 유형이 있으면 Type.GetProperties()를 사용하여 단일 속성 이름과 유형을 가져와 html을 생성하는 데 사용할 수 있습니다. –

1

먼저 XSD (include, import 또는요소가없는)를 전달해야 할뿐만 아니라 루트 노드를 알려줄 필요가 있습니다.

둘째, XmlSchema.Read 방법으로 XSD를 읽음으로써이 문제에 접근합니다. 그런 다음 필요한 정보를 가져 오는 객체 모델을 반복 할 수 있습니다.

정말 필요한 스키마 부분이 포함 된 XML 문서를 작성한 다음 HTML을 생성하기 위해 XML 변환을 실행하는 것이 좋습니다.

또한 Microsoft의 Microsoft Office InfoPath 제품을 고려하십시오. 제품 자체를 사용하지 않아도 XSD 및 기타 메타 데이터를 기반으로 양식을 정의하는 방법을 확인하는 평가판을 사용해보십시오.

2

저는 XsdFormEditor라는 자체 프로젝트에서 작업하고 있습니다. 응용 프로그램은 WinForms (95 % 완료), Web (Asp.Net MVC 사용, 0 % 완료), WPF (0 % 완료)에서 양식으로 모든 XSD를 표시 할 수 있습니다. 아이디어는 모든 XSD 파일을로드하여 양식으로 사용자에게 표시하고 사용자가 일부 데이터를 입력하고 XML로 데이터를 저장하도록 허용합니다. 사용자는 XML 파일에서 양식의 기본값을로드 할 수도 있습니다. 여기에서 찾을 수 있습니다 : https://github.com/janstafa/XsdFormEditor

+0

Thanks! 이것은 내가하고있는 일에 매우 유용합니다. 그것이 나를 위해 일하게하는 약간의 수정을해야했다. –

+0

@TimGeerts가 도움이되었다고 반갑습니다. 개선을 한 경우 요청을 가져 오십시오. – Simon