<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >Text.XML.HXT.DOM.NamespaceFilter</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock.js" TYPE="text/javascript" ></SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >hxt-7.1: </TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >Text.XML.HXT.DOM.NamespaceFilter</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" ><P >Namespace filter </P ><P >$Id: NamespaceFilter.hs,v 1.4 2006<EM >11</EM >12 14:53:00 hxml Exp $ </P ><P >Namespaces are processed with two main filter, <TT ><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaces" >propagateNamespaces</A ></TT > and <TT ><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3AvalidateNamespaces" >validateNamespaces</A ></TT >. </P ><P ><TT ><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaces" >propagateNamespaces</A ></TT > takes a XML tree and attaches extra namespace info at every tag name and attribute name. So after processing a tree with <TT ><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaces" >propagateNamespaces</A ></TT >, the access functions <A HREF="namespaceOf.html" >namespaceOf</A > and <A HREF="universalNameOf.html" >universalNameOf</A > deliver the associated namespace (or "") for tag names and attribute names. </P ><P ><TT ><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3AvalidateNamespaces" >validateNamespaces</A ></TT > checks whether names are wellformed related to the XML namespace definition. whether a legal namespace is declared for all prefixes, and whether attribute names are unique related to universal names. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ANamespaceTable" >NamespaceTable</A > = <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3ANsEnv" >NsEnv</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApropagateNamespaces" >propagateNamespaces</A > :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApropagateNamespaceEnv" >propagateNamespaceEnv</A > :: <A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#t%3ANamespaceTable" >NamespaceTable</A > -> <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AvalidateNamespaces" >validateNamespaces</A > :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Avalidate1Namespaces" >validate1Namespaces</A > :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisNamespaceDecl" >isNamespaceDecl</A > :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Text-XML-HXT-DOM-NamespacePredicates.html" >Text.XML.HXT.DOM.NamespacePredicates</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t%3ANamespaceTable" ></A ><B >NamespaceTable</B > = <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3ANsEnv" >NsEnv</A ></TD ></TR ><TR ><TD CLASS="doc" >Type for the namespace association list, used when propagating namespaces by modifying the <TT ><A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AQName" >QName</A ></TT > values in a tree </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v%3ApropagateNamespaces" ></A ><B >propagateNamespaces</B > :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >propagate all namespace declarations "xmlns:ns=..." to all tag and attribute nodes of a document. </P ><P >This filter does not check for illegal use of namespaces. The real work is done by <TT ><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaceEnv" >propagateNamespaceEnv</A ></TT >. </P ><P >The filter may be applied repeatedly if neccessary. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v%3ApropagateNamespaceEnv" ></A ><B >propagateNamespaceEnv</B > :: <A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#t%3ANamespaceTable" >NamespaceTable</A > -> <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="doc" >attaches the namespace info given by the namespace table to a tag node and its attributes and children. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v%3AvalidateNamespaces" ></A ><B >validateNamespaces</B > :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="doc" >validate the namespace constraints in a whole tree. result is the list of errors concerning namespaces. Work is done by applying <TT ><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3Avalidate1Namespaces" >validate1Namespaces</A ></TT > to all nodes. Predicates <TT ><A HREF="Text-XML-HXT-DOM-NamespacePredicates.html#v%3AisWellformedQName" >isWellformedQName</A ></TT >, <TT ><A HREF="Text-XML-HXT-DOM-NamespacePredicates.html#v%3AisWellformedQualifiedName" >isWellformedQualifiedName</A ></TT >, <TT ><A HREF="Text-XML-HXT-DOM-NamespacePredicates.html#v%3AisDeclaredNamespace" >isDeclaredNamespace</A ></TT > and <TT ><A HREF="Text-XML-HXT-DOM-NamespacePredicates.html#v%3AisWellformedNSDecl" >isWellformedNSDecl</A ></TT > are applied to the appropriate tags and attributes. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v%3Avalidate1Namespaces" ></A ><B >validate1Namespaces</B > :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="doc" >a single node for namespace constrains. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v%3AisNamespaceDecl" ></A ><B >isNamespaceDecl</B > :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter" >XmlFilter</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Text-XML-HXT-DOM-NamespacePredicates.html" >Text.XML.HXT.DOM.NamespacePredicates</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 0.8</TD ></TR ></TABLE ></BODY ></HTML >