需要将XSD(XML架构) XSL传输到HTML代码中



我正在尝试第二天,但是我没有发现任何有用的东西。我有一个代码,该代码将XML XSL传输到HTML中,但是我必须使用XML schemas(.xsd(而不是XML来渲染基于.xsd和.xsl(styles(的html表单。

我的传输功能(XML XSL到HTML(:

public static HtmlString RenderXml(this HtmlHelper helper, string xml, string xsltPath)
    {
        xml = System.IO.File.ReadAllText(("C:/Users/Student/Documents/Visual Studio 2010/Projects/MvcApplication2/MvcApplication2/complex-sample.xsd"));
        XsltArgumentList args = new XsltArgumentList();
        XslCompiledTransform t = new XslCompiledTransform();
        t.Load(xsltPath);
        XmlReaderSettings settings = new XmlReaderSettings();
        settings.DtdProcessing = DtdProcessing.Parse;
        settings.ValidationType = ValidationType.DTD;
        using (XmlReader reader = XmlReader.Create(new StringReader(xml), settings))
        {
            StringWriter writer = new StringWriter();
            t.Transform(reader, args, writer);
            HtmlString htmlString = new HtmlString(writer.ToString());
            return htmlString;
        }
    }

有人可以帮助吗?

任何XSD都是XML,因此您可以像其他任何XML一样处理它。

我没有任何生成表格的示例,但这可能有用http://lists.xml.org/archives/xml-dev/200012/msg00083.html。

my .xsd文件:

<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:adr="http://crd.gov.pl/xml/schematy/adres/2009/11/09/" xmlns:typ="http://crd.gov.pl/xml/schematy/typy/2009/11/16/" xmlns:meta="http://crd.gov.pl/xml/schematy/meta/2009/11/16/" xmlns:str="http://crd.gov.pl/xml/schematy/struktura/2009/11/16/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ins="http://crd.gov.pl/xml/schematy/instytucja/2009/11/16/" xmlns:os="http://crd.gov.pl/xml/schematy/osoba/2009/11/16/" xmlns="http://crd.gov.pl/wzor/2016/12/22/3790/" targetNamespace="http://crd.gov.pl/wzor/2016/12/22/3790/" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
<xsd:import namespace="http://crd.gov.pl/xml/schematy/struktura/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/struktura/2009/11/16/struktura.xsd"/>
<xsd:import namespace="http://crd.gov.pl/xml/schematy/adres/2009/11/09/" schemaLocation="http://crd.gov.pl/xml/schematy/adres/2009/11/09/adres.xsd"/>
<xsd:import namespace="http://crd.gov.pl/xml/schematy/osoba/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/osoba/2009/11/16/osoba.xsd"/>
<xsd:import namespace="http://crd.gov.pl/xml/schematy/typy/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/typy/2009/11/16/typy.xsd"/>
<xsd:import namespace="http://crd.gov.pl/xml/schematy/instytucja/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/instytucja/2009/11/16/instytucja.xsd"/>
<xsd:import namespace="http://crd.gov.pl/xml/schematy/meta/2009/11/16/" schemaLocation="http://crd.gov.pl/xml/schematy/meta/2009/11/16/meta.xsd"/>
<xsd:annotation>
    <xsd:documentation>Wniosek o wydanie wypisów i wyrysów z miejscowego
        planu zagospodarowania przestrzennego gminy (miasta)
    </xsd:documentation>
</xsd:annotation>
<xsd:element name="Dokument" type="DokumentTyp"/>
<xsd:complexType name="DokumentTyp">
    <xsd:sequence>
        <xsd:element name="OpisDokumentu" type="str:OpisDokumentuTyp"/>
        <xsd:element name="DaneDokumentu" type="str:DaneDokumentuTyp"/>
        <xsd:element name="TrescDokumentu" type="TrescDokumentuTyp"/>
        <xsd:element ref="ds:Signature" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrescDokumentuTyp" mixed="false">
    <xsd:complexContent mixed="false">
        <xsd:extension base="str:TrescDokumentuTyp">
            <xsd:sequence>
                <xsd:element ref="adr:Miejscowosc"/>
                <xsd:element name="Data" type="xsd:date">
                    <xsd:annotation>
                        <xsd:documentation>Data</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="Urzad" type="str:Tekst200Typ">
                    <xsd:annotation>
                        <xsd:documentation>Do</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:choice>
                    <xsd:element name="Wnioskodawca">
                        <xsd:annotation>
                            <xsd:documentation>
                                Wnioskodawca - osoba fizyczna
                            </xsd:documentation>
                        </xsd:annotation>
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element ref="os:Nazwisko" maxOccurs="3" minOccurs="1">
                                </xsd:element>
                                <xsd:element ref="os:Imie"/>
                                <xsd:element ref="os:PESEL" maxOccurs="1" minOccurs="0"/>
                                <xsd:element ref="adr:Adres"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                    <xsd:element name="WnioskodawcaOsobaPrawna">
                        <xsd:annotation>
                            <xsd:documentation>
                                Wnioskodawca - osoba prawna
                            </xsd:documentation>
                        </xsd:annotation>
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="Nazwa" type="ins:NazwaInstytucjiTyp">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Nazwa
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element ref="ins:NIP" maxOccurs="1" minOccurs="0">
                                </xsd:element>
                                <xsd:element ref="ins:REGON" maxOccurs="1" minOccurs="0">
                                </xsd:element>
                                <xsd:element name="Adres" type="adr:AdresTyp">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Adres siedziby
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:choice>
                <xsd:element name="Wniosek">
                    <xsd:annotation>
                        <xsd:documentation>
                            Zwracam się z prośbą o
                        </xsd:documentation>
                    </xsd:annotation>
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:choice>
                                <xsd:element name="WydaniaWypisu">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            wydanie wypisu
                                        </xsd:documentation>
                                    </xsd:annotation>
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:string">
                                            <xsd:enumeration value="z miejscowego planu zagospodarowania przestrzennego gminy (miasta)">
                                            </xsd:enumeration>
                                            <xsd:enumeration value="ze studium uwarunkowań i kierunków zagospodarowania przestrzennego gminy (miasta)">
                                            </xsd:enumeration>
                                        </xsd:restriction>
                                    </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="WydaniaWyrysu">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            wydanie wyrysu
                                        </xsd:documentation>
                                    </xsd:annotation>
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:string">
                                            <xsd:enumeration value="z miejscowego planu zagospodarowania przestrzennego gminy (miasta)">
                                            </xsd:enumeration>
                                            <xsd:enumeration value="ze studium uwarunkowań i kierunków zagospodarowania przestrzennego gminy (miasta)">
                                            </xsd:enumeration>
                                        </xsd:restriction>
                                    </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="WydanieWypisuWyrysu">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            wydanie wypisu i wyrysu
                                        </xsd:documentation>
                                    </xsd:annotation>
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:string">
                                            <xsd:enumeration value="z miejscowego planu zagospodarowania przestrzennego gminy (miasta)">
                                            </xsd:enumeration>
                                            <xsd:enumeration value="ze studium uwarunkowań i kierunków zagospodarowania przestrzennego gminy (miasta)">
                                            </xsd:enumeration>
                                        </xsd:restriction>
                                    </xsd:simpleType>
                                </xsd:element>
                            </xsd:choice>
                            <xsd:element name="DaneNieruchomosci">
                                <xsd:annotation>
                                    <xsd:documentation>
                                        Dane nieruchomości
                                    </xsd:documentation>
                                </xsd:annotation>
                                <xsd:complexType>
                                    <xsd:sequence>
                                        <xsd:element name="Dzialka" maxOccurs="unbounded" minOccurs="1">
                                            <xsd:annotation>
                                                <xsd:documentation>
                                                    Działka
                                                </xsd:documentation>
                                            </xsd:annotation>
                                            <xsd:complexType>
                                                <xsd:sequence>
                                                    <xsd:element ref="meta:Identyfikator">
                                                        <xsd:annotation>
                                                            <xsd:documentation>
                                                                Identyfikator działki
                                                            </xsd:documentation>
                                                        </xsd:annotation>
                                                    </xsd:element>
                                                    <xsd:element name="NumerDzialki" type="str:Tekst65Typ">
                                                        <xsd:annotation>
                                                            <xsd:documentation>
                                                                Numer
                                                                działki
                                                            </xsd:documentation>
                                                        </xsd:annotation>
                                                    </xsd:element>
                                                    <xsd:element name="KartaMapy" type="str:Tekst65Typ" maxOccurs="1" minOccurs="0">
                                                        <xsd:annotation>
                                                            <xsd:documentation>
                                                                Karta
                                                                mapy
                                                            </xsd:documentation>
                                                        </xsd:annotation>
                                                    </xsd:element>
                                                    <xsd:element name="Obreb" type="str:Tekst65Typ">
                                                        <xsd:annotation>
                                                            <xsd:documentation>
                                                                Obręb
                                                                (w
                                                                przypadku
                                                                braku
                                                                obrębu
                                                                karta
                                                                mapy)
                                                            </xsd:documentation>
                                                        </xsd:annotation>
                                                    </xsd:element>
                                                    <xsd:choice>
                                                        <xsd:element ref="adr:Ulica" maxOccurs="1" minOccurs="0">
                                                        </xsd:element>
                                                        <xsd:element ref="adr:Adres" maxOccurs="1" minOccurs="0">
                                                        </xsd:element>
                                                    </xsd:choice>
                                                </xsd:sequence>
                                            </xsd:complexType>
                                        </xsd:element>
                                    </xsd:sequence>
                                </xsd:complexType>
                            </xsd:element>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element ref="str:Zalaczniki"/>
                <xsd:element name="InformacjeDodatkowe" type="str:Tekst2000Typ" maxOccurs="1" minOccurs="0">
                    <xsd:annotation>
                        <xsd:documentation>
                            Informacje dodatkowe
                        </xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="FormaOdbioru">
                    <xsd:annotation>
                        <xsd:documentation>
                            Forma odbioru dokumentów
                        </xsd:documentation>
                    </xsd:annotation>
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="Drogą elektroniczną poprzez skrzynkę kontaktową">
                            </xsd:enumeration>
                            <xsd:enumeration value="Poprzez pocztę tradycyjną">
                            </xsd:enumeration>
                            <xsd:enumeration value="Osobiście w siedzibie urzędu">
                            </xsd:enumeration>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
            </xsd:sequence>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>

我的.xslt文件在链接(在此处连接太长(

http://wklej.org/id/3210253/

最新更新