Schémata XML a data v přizpůsobeních na úrovni dokumentu
Důležité Informace uvedené v tomto tématu týkající se Microsoft Wordu jsou prezentovány výhradně pro výhody a používání jednotlivců a organizací, které se nacházejí mimo USA a jeho území nebo které používají nebo vyvíjejí programy, které běží, produkty Microsoft Wordu licencované společností Microsoft před lednem 2010, když Společnost Microsoft odebrala implementaci konkrétních funkcí souvisejících s vlastním KÓDem XML z Microsoft Wordu. Tyto informace týkající se microsoft Wordu se nemusí číst ani používat jednotlivci nebo organizace v USA nebo jejích územích, které používají nebo vyvíjejí programy, na kterých společnost Microsoft po 10. lednu 2010 používala produkty Microsoft Wordu, které byly licencovány společností Microsoft. Tyto produkty se nebudou chovat stejně jako produkty licencované před tímto datem nebo zakoupené a licencované k použití mimo USA.
Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu pro Excel a Word. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.
systém Microsoft Office Excelu a systém Microsoft Office Wordu poskytují možnost mapování schémat na dokumenty. Tato funkce může zjednodušit import a export dat XML do dokumentu a z dokumentu.
Visual Studio zveřejňuje mapované prvky schématu v přizpůsobení na úrovni dokumentu jako ovládací prvky v programovacím modelu. Visual Studio pro Excel přidává podporu pro vazbu ovládacích prvků na data v databázích, webových službách a objektech. Visual Studio pro Word a Excel přidává podporu pro podokna akcí, která se dají použít s dokumentem mapovaným schématem k vytvoření vylepšeného prostředí pro vaše řešení. Další informace najdete v tématu Přehled podokna Akce.
Poznámka:
Schémata XML s více částmi nelze použít v řešeních aplikace Excel.
Objekty vytvořené při připojení schémat k excelovými sešity
Když k sešitu připojíte schéma, Visual Studio automaticky vytvoří několik objektů a přidá je do projektu. Tyto objekty by neměly být odstraněny pomocí nástrojů sady Visual Studio, protože jsou spravovány aplikací Excel. Pokud je chcete odstranit, odeberte mapované prvky z listu nebo odpojte schéma pomocí excelových nástrojů.
Existují dva hlavní objekty:
Schéma XML (soubor XSD). Pro každé schéma v sešitu visual Studio přidá do projektu schéma. Zobrazí se jako položka projektu s rozšířením XSD v Průzkumník řešení.
Typová DataSet třída. Tato třída je vytvořená na základě schématu. Tato třída datové sady je viditelná v zobrazení třídy.
Objekty vytvořené při mapování prvků schématu na listy aplikace Excel
Když namapujete prvek schématu z podokna úloh Zdroj XML na list, Visual Studio automaticky vytvoří několik objektů a přidá je do projektu:
Ovládací prvky. Pro každý mapovaný objekt v sešitu XmlMappedRange se v programovacím modelu vytvoří ovládací prvek (pro neopakující prvky schématu) nebo ListObject ovládací prvek (pro opakující se prvky schématu). Ovládací ListObject prvek lze odstranit pouze odstraněním mapování a mapovaných objektů ze sešitu. Další informace o ovládacích prvcích naleznete v tématu Přehled položek hostitele a hostitelských ovládacích prvků.
Bindingsource. Když vytvoříte mapováním XmlMappedRange neopakujícího se prvku schématu na list, BindingSource vytvoří se a XmlMappedRange ovládací prvek je vázán na BindingSource. Musíte vytvořit vazbu BindingSource na instanci zdroje dat, která odpovídá schématu namapovanému na dokument, například instanci vytvořené typové DataSet třídy. Vytvořte vazbu nastavením DataSource vlastností a DataMember vlastností, které jsou vystaveny v okně Vlastnosti .
Poznámka:
Objekty BindingSource se nevytvořily ListObject . Musíte ručně vytvořit vazbu ListObject ke zdroji dat nastavením DataSource a DataMember vlastností v okně Vlastnosti .
Mapovaná schémata Office a okno Zdroje dat sady Visual Studio
Funkce mapovaného schématu Office i okna Zdroje dat sady Visual Studio vám můžou pomoct prezentovat data v excelovém listu pro vytváření sestav nebo úpravy. V obou případech můžete datové prvky přetáhnout na list aplikace Excel. Obě metody vytvářejí ovládací prvky, které jsou data svázaná BindingSource s zdrojem dat, jako DataSet je například webová služba nebo webová služba.
Poznámka:
Když mapujete opakující se prvek schématu na list, Visual Studio vytvoří ListObject. Není ListObject automaticky vázán na data prostřednictvím BindingSource. Musíte ručně vytvořit vazbu ListObject ke zdroji dat nastavením DataSource a DataMember vlastností v okně Vlastnosti .
Následující tabulka uvádí některé rozdíly mezi těmito dvěma metodami.
Schéma XML | okno Zdroje dat |
---|---|
Používá rozhraní Office. | Používá okno Zdroje dat v sadě Visual Studio. |
Umožňuje integrované funkce Office pro import a export dat ze souborů XML. | Funkce importu a exportu musíte zadat programově. |
Je nutné napsat kód pro vyplnění vygenerovaných ovládacích prvků daty. | Ovládací prvky přidané z okna Zdroje dat mají automaticky vygenerovaný kód, který je vyplní spolu s potřebnými připojovací řetězec při použití databázových serverů. |
Chování při připojení schémat k dokumentům aplikace Word
Datové objekty se nevytvořily při připojení schématu k dokumentu aplikace Word, který se používá v projektu Office na úrovni dokumentu. Když ale namapujete prvek schématu na dokument, vytvoří se ovládací prvky. Typ ovládacího prvku závisí na typu prvku, který mapujete; opakující se prvky generují XMLNodes ovládací prvky a neopakující prvky generují XMLNode ovládací prvky. Další informace naleznete v tématu XMLNodes Control and XMLNode Control.
Nasazení řešení, která obsahují schémata XML
Měli byste vytvořit instalační program pro nasazení řešení, které používá schéma XML mapované na dokument. Instalační program by měl schéma zaregistrovat v knihovně schématu na počítači uživatele. Pokud schéma nezaregistrujete, řešení bude i nadále fungovat, protože Word vygeneruje dočasné schéma na základě prvků, které jsou v dokumentu, když ho uživatel otevře. Uživatel ale nebude moct provést ověření nebo uložit schéma použité k vytvoření projektu. Další informace o instalačních programech naleznete v tématu Nasazení aplikací, služeb a komponent.
Do projektu můžete také přidat kód, který zkontroluje, jestli je schéma v knihovně a zaregistrováno. Pokud tomu tak není, můžete uživatele upozornit.
// Ensure that the schema is in the library and registered with the document.
private bool CheckSchema()
{
const string namespaceUri = "http://schemas.contoso.com/projects";
bool namespaceFound = false;
bool namespaceRegistered = false;
foreach (Word.XMLNamespace n in Application.XMLNamespaces)
{
if (n.URI == namespaceUri)
{
namespaceFound = true;
}
}
if (!namespaceFound)
{
MessageBox.Show("XML Schema is not in library.");
return false;
}
foreach (Word.XMLSchemaReference r in this.XMLSchemaReferences)
{
if (r.NamespaceURI == namespaceUri)
{
namespaceRegistered = true;
}
}
if (!namespaceRegistered)
{
MessageBox.Show("XML Schema is not registered for this document.");
return false;
}
return true;
}